Skip to content

Commit a5e2a25

Browse files
Updated README and license setting functionality
1 parent 2799053 commit a5e2a25

12 files changed

Lines changed: 234 additions & 15 deletions

File tree

Demos/Micronaut/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018 GroupDocs.Comparison Product Family
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Demos/Micronaut/README.md

Lines changed: 140 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,145 @@
1-
## Micronaut 3.5.2 Documentation
1+
![GroupDocs.Comparison](https://raw.githubusercontent.com/groupdocs-comparison/groupdocs-comparison.github.io/master/resources/image/banner.png "GroupDocs.Comparison")
2+
# GroupDocs.Comparison Micronaut Example
3+
New GroupDocs.Comparison for Java UI Example
4+
###### version 22.3
25

3-
- [User Guide](https://docs.micronaut.io/3.5.2/guide/index.html)
4-
- [API Reference](https://docs.micronaut.io/3.5.2/api/index.html)
5-
- [Configuration Reference](https://docs.micronaut.io/3.5.2/guide/configurationreference.html)
6-
- [Micronaut Guides](https://guides.micronaut.io/index.html)
7-
---
6+
[![GitHub license](https://img.shields.io/github/license/groupdocs-comparison/GroupDocs.Comparison-for-Java-Spring.svg)](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/blob/master/Demos/Micronaut/LICENSE)
87

9-
- [Shadow Gradle Plugin](https://plugins.gradle.org/plugin/com.github.johnrengelman.shadow)
10-
## Feature http-client documentation
8+
## System Requirements
9+
- Java 11+ (JDK 11+)
1110

12-
- [Micronaut HTTP Client documentation](https://docs.micronaut.io/latest/guide/index.html#httpClient)
1311

12+
## Compare documents with Java API
1413

15-
ANNOTATION PROCESSOR
14+
**GroupDocs.Comparison** is a library that allows you to **compare PDF, DOCX, PPT, XLS,** and over 90 other document formats. With GroupDocs.Comparison you will be able to compare two or more files, perform style and text comparison and generate a detailed report with changes.
15+
16+
This application allows you to compare multiple documents and can be used as a standalone application or integrated as part of your project.
17+
18+
**Note:** without a license application will run in trial mode, purchase [GroupDocs.Comparison for Java license](https://purchase.groupdocs.com/order-online-step-1-of-8.aspx) or request [GroupDocs.Comparison for Java temporary license](https://purchase.groupdocs.com/temporary-license).
19+
20+
21+
## Demo Video
22+
23+
<p align="center">
24+
<a title="Document comparison" href="https://www.youtube.com/watch?v=82RuvtV2qpw">
25+
<img src="https://raw.githubusercontent.com/groupdocs-comparison/groupdocs-comparison.github.io/master/resources/image/comparison.gif" width="100%" style="width:100%;">
26+
</a>
27+
</p>
28+
29+
30+
## Features
31+
#### GroupDocs.Comparison
32+
- Clean, modern and intuitive design
33+
- Easily switchable colour theme (create your own colour theme in 5 minutes)
34+
- Responsive design
35+
- Mobile support (open application on any mobile device)
36+
- HTML and image modes
37+
- Fully customizable navigation panel
38+
- Compare documents
39+
- Multi-compare several documents
40+
- Compare password protected documents
41+
- Upload documents
42+
- Display clearly visible differences
43+
- Download comparison results
44+
- Print comparison results
45+
- Smooth document scrolling
46+
- Preload pages for faster document rendering
47+
- Multi-language support for displaying errors
48+
- Cross-browser support (Safari, Chrome, Opera, Firefox)
49+
- Cross-platform support (Windows, Linux, MacOS)
50+
51+
52+
## How to run
53+
54+
You can run this sample by one of following methods
55+
56+
57+
#### Run using IDE
58+
59+
Download [source code](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/releases/download/v22.3/groupdocs-comparison-micronaut-22.3.0.zip) from github or clone this repository.
60+
61+
```bash
62+
git clone https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java.git
63+
cd GroupDocs.Comparison-for-Java/Demos/Micronaut
64+
```
65+
Run IDE settings and enable **Annotation processor**
66+
Open project in IDE. Open `Application.kt` file and run `main` method inside it. Then open [http://localhost:8080/comparison/](http://localhost:8080/comparison/) in your favorite browser.
67+
68+
#### Run from command line
69+
70+
Download [source code](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/archive/refs/heads/master.zip) from github.
71+
72+
Alternatively you can clone this repository using next command
73+
```bash
74+
git clone https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java.git
75+
```
76+
77+
Run sample from Windows PowerShell or Linux Terminal using next commands
78+
79+
```bash
80+
cd GroupDocs.Comparison-for-Java/Demos/Micronaut
81+
.\gradlew.bat :run
82+
```
83+
84+
Open [http://localhost:8080/comparison/](http://localhost:8080/comparison/) in your favorite browser.
85+
86+
#### Build distribution archive
87+
88+
Download [source code](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/archive/refs/heads/master.zip) from github.
89+
90+
Alternatively you can clone this repository using next command
91+
```bash
92+
git clone https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java.git
93+
```
94+
95+
Run sample from Windows PowerShell or Linux Terminal using next commands
96+
97+
```bash
98+
cd GroupDocs.Comparison-for-Java/Demos/Micronaut
99+
.\gradlew.bat :assembleDist
100+
```
101+
102+
After that, go to `.\build\distributions\` directory to get distribution files.
103+
104+
#### Binary release (with all dependencies) for Linux
105+
106+
Download [latest release](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/releases/latest) from [releases page](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/releases).
107+
108+
**Note**: This method is **recommended** for running this sample behind firewall.
109+
110+
```bash
111+
curl -J -L -o release.tar.gz https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/releases/download/v22.3/groupdocs-comparison-micronaut-22.3.0.tar
112+
tar -xvzf release.tar.gz
113+
cd release/comparison-micronaut-22.3
114+
## Make `bin/comparison-micronaut` file to be runnable
115+
bin/comparison-micronaut
116+
## Open http://localhost:8080/comparison/ in your favorite browser.
117+
```
118+
119+
## Configuration
120+
You can adjust settings in `/src/main/resources/application.conf`. Specify relative/absolute path to license file by setting `licensePath` value in `/src/main/resources/application.conf` or by setting up `LIC_PATH` environment variable
121+
122+
### Comparison configuration options
123+
124+
| Option | Type | Default value | Description |
125+
|------------------------| ------- |:---------------------:|:---------------------------------------------------------------------------------------------------------------------|
126+
| **`filesDirectory`** | String | `DocumentSamples` | Files directory path. Indicates where uploaded and predefined files are stored. It can be absolute or relative path |
127+
| **`tempDirectory`** | String | system temp directory | Absolute or relative path to directory to save temporary files |
128+
| **`resultDirectory`** | String | `ResultFiles` | Result files directory path. Directory must be created before app starts |
129+
130+
## License
131+
The MIT License (MIT).
132+
133+
Please have a look at the LICENSE.md for more details
134+
135+
## GroupDocs Comparison on other platforms & frameworks
136+
137+
- [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/tree/master/Demos/Compose) with Kotlin in Compose Desktop application
138+
- [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/tree/master/Demos/Javalin) with Javalin application
139+
- [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/tree/master/Demos/Ktor) with Ktor application
140+
- [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java/tree/master/Demos/Spring) with Spring application
141+
- [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-.NET-MVC) with .NET MVC
142+
- [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-.NET-WebForms) with .NET WebForms
143+
144+
145+
[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/comparison/java) | [Documentation](https://docs.groupdocs.com/comparison/java/) | [Demos](https://products.groupdocs.app/comparison/family) | [API Reference](https://apireference.groupdocs.com/java/comparison) | [Examples](https://github.com/groupdocs-comparison/GroupDocs.comparison-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/comparison/) | [Free Support](https://forum.groupdocs.com/c/comparison) | [Temporary License](https://purchase.groupdocs.com/temporary-license)

Demos/Micronaut/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ dependencies {
3939
application {
4040
mainClass.set("com.groupdocs.ui.ApplicationKt")
4141
}
42+
43+
tasks {
44+
create("stage").dependsOn("installDist")
45+
}
46+
4247
java {
4348
sourceCompatibility = JavaVersion.toVersion("11")
4449
}

Demos/Micronaut/src/main/kotlin/com/groupdocs/ui/Application.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ import io.micronaut.runtime.Micronaut.run
44

55
fun main(args: Array<String>) {
66
run(*args)
7-
}
8-
7+
}

Demos/Micronaut/src/main/kotlin/com/groupdocs/ui/modules/compare/CompareController.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ import io.micronaut.http.annotation.Controller
99
import io.micronaut.http.annotation.Post
1010
import io.micronaut.http.annotation.Produces
1111
import jakarta.inject.Inject
12+
import jakarta.inject.Singleton
1213
import kotlinx.coroutines.runBlocking
1314

15+
@Singleton
1416
@Controller("/comparison")
1517
class CompareController(
1618
@Inject private val compareBean: CompareBean

Demos/Micronaut/src/main/kotlin/com/groupdocs/ui/modules/config/ConfigController.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ import io.micronaut.http.annotation.Controller
77
import io.micronaut.http.annotation.Get
88
import io.micronaut.http.annotation.Produces
99
import jakarta.inject.Inject
10+
import jakarta.inject.Singleton
1011
import kotlinx.coroutines.runBlocking
1112

13+
@Singleton
1214
@Controller("/comparison")
1315
class ConfigController(
1416
@Inject val configBean: ConfigBean

Demos/Micronaut/src/main/kotlin/com/groupdocs/ui/modules/description/DescriptionController.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ import io.micronaut.http.annotation.Controller
88
import io.micronaut.http.annotation.Post
99
import io.micronaut.http.annotation.Produces
1010
import jakarta.inject.Inject
11+
import jakarta.inject.Singleton
1112
import kotlinx.coroutines.runBlocking
1213

14+
@Singleton
1315
@Controller("/comparison")
1416
class DescriptionController(
1517
@Inject private val descriptionBean: DescriptionBean

Demos/Micronaut/src/main/kotlin/com/groupdocs/ui/modules/download/DownloadController.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ import io.micronaut.http.annotation.Get
88
import io.micronaut.http.annotation.Produces
99
import io.micronaut.http.annotation.QueryValue
1010
import jakarta.inject.Inject
11+
import jakarta.inject.Singleton
1112
import kotlinx.coroutines.runBlocking
1213
import java.io.BufferedInputStream
1314
import java.nio.charset.StandardCharsets
1415
import java.nio.file.Paths
1516

17+
@Singleton
1618
@Controller("/comparison")
1719
class DownloadController(
1820
@Inject private val downloadBean: DownloadBean
Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
package com.groupdocs.ui.modules.home
22

3+
import com.groupdocs.ui.config.ApplicationConfig
4+
import com.groupdocs.ui.util.setGroupdocsLicense
35
import io.micronaut.http.HttpResponse
46
import io.micronaut.http.annotation.Controller
57
import io.micronaut.http.annotation.Get
68
import io.micronaut.views.View
9+
import jakarta.inject.Inject
10+
import jakarta.inject.Singleton
711
import java.net.URI
812

13+
@Singleton
914
@Controller("/")
10-
class HomeController {
15+
class HomeController(
16+
@Inject private val appConfig: ApplicationConfig
17+
) {
18+
private var isLicenseSet: Boolean = false
1119
@Get("/")
1220
fun home(): HttpResponse<String> {
1321
return HttpResponse.redirect(URI("/comparison"))
@@ -16,6 +24,10 @@ class HomeController {
1624
@View("comparison")
1725
@Get("/comparison")
1826
fun comparison() {
19-
27+
if (!isLicenseSet) {
28+
isLicenseSet = true
29+
val licensePath = appConfig.licensePathOrDefault
30+
setGroupdocsLicense(licensePath)
31+
}
2032
}
2133
}

Demos/Micronaut/src/main/kotlin/com/groupdocs/ui/modules/tree/TreeController.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ import io.micronaut.http.annotation.Controller
99
import io.micronaut.http.annotation.Post
1010
import io.micronaut.http.annotation.Produces
1111
import jakarta.inject.Inject
12+
import jakarta.inject.Singleton
1213
import kotlinx.coroutines.runBlocking
1314

15+
@Singleton
1416
@Controller("/comparison")
1517
class TreeController(
1618
@Inject private val treeBean: TreeBean

0 commit comments

Comments
 (0)