Skip to content
This repository was archived by the owner on Jul 21, 2021. It is now read-only.

Commit a3d1b26

Browse files
authored
Merge pull request #59 from groupdocs-viewer/fix_for_dwg_eml_epub_msg_mpp_pptx
Fixed bugs with dwg, eml, epub, msg, mpp and pptx
2 parents aa379cb + 1060a43 commit a3d1b26

19 files changed

+1040
-43
lines changed

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@
8686
<properties>
8787
<start-class>com.groupdocs.ui.Application</start-class>
8888
<java.version>1.8</java.version>
89+
<maven.compiler.source>1.8</maven.compiler.source>
90+
<maven.compiler.target>1.8</maven.compiler.target>
8991
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
9092
</properties>
9193

src/main/java/com/groupdocs/ui/cache/FileViewerCache.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package com.groupdocs.ui.cache;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import com.fasterxml.jackson.databind.exc.InvalidDefinitionException;
45
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
56
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;
6-
import com.groupdocs.ui.cache.mixin.PageMixIn;
7-
import com.groupdocs.ui.cache.mixin.PdfViewInfoMixIn;
8-
import com.groupdocs.ui.cache.mixin.ViewInfoMixIn;
7+
import com.groupdocs.ui.cache.mixin.*;
98
import com.groupdocs.ui.exception.DiskAccessException;
10-
import com.groupdocs.viewer.results.Page;
11-
import com.groupdocs.viewer.results.PdfViewInfo;
12-
import com.groupdocs.viewer.results.ViewInfo;
9+
import com.groupdocs.ui.exception.TotalGroupDocsException;
10+
import com.groupdocs.viewer.results.*;
11+
import com.groupdocs.viewer.results.Character;
1312
import com.groupdocs.viewer.utils.PathUtils;
1413
import org.apache.commons.io.IOUtils;
1514

@@ -20,9 +19,17 @@ public class FileViewerCache implements ViewerCache {
2019
private static final long WAIT_TIMEOUT = 100L;
2120

2221
static {
23-
MAPPER.addMixIn(ViewInfo.class, ViewInfoMixIn.class);
24-
MAPPER.addMixIn(PdfViewInfo.class, PdfViewInfoMixIn.class);
22+
MAPPER.addMixIn(CadViewInfo.class, CadViewInfoMixIn.class);
23+
MAPPER.addMixIn(Character.class, CharacterMixIn.class);
24+
MAPPER.addMixIn(Layer.class, LayerMixIn.class);
25+
MAPPER.addMixIn(Layout.class, LayoutMixIn.class);
26+
MAPPER.addMixIn(Line.class, LineMixIn.class);
27+
MAPPER.addMixIn(OutlookViewInfo.class, OutlookViewInfoMixIn.class);
2528
MAPPER.addMixIn(Page.class, PageMixIn.class);
29+
MAPPER.addMixIn(PdfViewInfo.class, PdfViewInfoMixIn.class);
30+
MAPPER.addMixIn(ProjectManagementViewInfo.class, ProjectManagementViewInfoMixIn.class);
31+
MAPPER.addMixIn(ViewInfo.class, ViewInfoMixIn.class);
32+
MAPPER.addMixIn(Word.class, WordMixIn.class);
2633
}
2734

2835
/**
@@ -103,8 +110,8 @@ public <T> T getValue(String key, T defaultEntry, Class<?>[] clazzs) {
103110
for (Class<?> clazz : clazzs) {
104111
final FileInputStream inputStream = new FileInputStream(cacheFilePath);
105112
try {
106-
return (T) MAPPER.readValue(inputStream, clazz);
107-
} catch (UnrecognizedPropertyException e) {
113+
return (T) MAPPER.readValue(inputStream, clazz);
114+
} catch (UnrecognizedPropertyException | InvalidDefinitionException e) {
108115
// continue;
109116
} finally {
110117
inputStream.close();
@@ -117,7 +124,7 @@ public <T> T getValue(String key, T defaultEntry, Class<?>[] clazzs) {
117124
throw new RuntimeException(ex);
118125
}
119126
} catch (IOException e) {
120-
e.printStackTrace();
127+
throw new TotalGroupDocsException("Cache loading error", e);
121128
}
122129
return null;
123130
}
@@ -137,9 +144,9 @@ public String getCacheFilePath(String key) {
137144
}
138145

139146
@Override
140-
public boolean contains(String key) {
147+
public boolean doesNotContains(String key) {
141148
String file = PathUtils.combine(this.getCachePath(), this.getCacheSubFolder(), key);
142-
return new File(file).exists();
149+
return !new File(file).exists();
143150
}
144151

145152
private OutputStream getStream(String path) throws FileNotFoundException, InterruptedException {

src/main/java/com/groupdocs/ui/cache/ViewerCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ public interface ViewerCache {
3838
*/
3939
String getCacheFilePath(String key);
4040

41-
boolean contains(String key);
41+
boolean doesNotContains(String key);
4242
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.groupdocs.ui.cache.mixin;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.groupdocs.viewer.FileType;
5+
import com.groupdocs.viewer.results.Layer;
6+
import com.groupdocs.viewer.results.Layout;
7+
import com.groupdocs.viewer.results.Page;
8+
9+
import java.util.List;
10+
11+
public abstract class CadViewInfoMixIn {
12+
CadViewInfoMixIn(@JsonProperty("fileType") FileType fileType, @JsonProperty("pages") List<Page> pages, @JsonProperty("layers") List<Layer> layers, @JsonProperty("layouts") List<Layout> layouts) {
13+
}
14+
15+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.groupdocs.ui.cache.mixin;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.groupdocs.viewer.results.Character;
5+
6+
import java.util.List;
7+
8+
public abstract class CharacterMixIn {
9+
CharacterMixIn(@JsonProperty("character") char character, @JsonProperty("x") double x, @JsonProperty("y") double y, @JsonProperty("width") double width, @JsonProperty("height") double height) {
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.groupdocs.ui.cache.mixin;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.groupdocs.viewer.results.Line;
5+
6+
import java.util.List;
7+
8+
public abstract class LayerMixIn {
9+
LayerMixIn(@JsonProperty("name") String name, @JsonProperty("visible") boolean visible) {
10+
}
11+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.groupdocs.ui.cache.mixin;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
public abstract class LayoutMixIn {
6+
LayoutMixIn(@JsonProperty("name") String name, @JsonProperty("width") double width, @JsonProperty("height") double height) {
7+
}
8+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.groupdocs.ui.cache.mixin;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.groupdocs.viewer.results.Word;
5+
6+
import java.util.List;
7+
8+
public abstract class LineMixIn {
9+
LineMixIn(@JsonProperty("line") String line, @JsonProperty("x") double x, @JsonProperty("y") double y, @JsonProperty("width") double width, @JsonProperty("height") double height, @JsonProperty("words") List<Word> words) {
10+
}
11+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.groupdocs.ui.cache.mixin;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.groupdocs.viewer.FileType;
5+
import com.groupdocs.viewer.results.Page;
6+
7+
import java.util.List;
8+
9+
public abstract class OutlookViewInfoMixIn {
10+
OutlookViewInfoMixIn(@JsonProperty("fileType") FileType fileType, @JsonProperty("pages") List<Page> pages, @JsonProperty("folders") List<String> folders) {
11+
}
12+
13+
}

src/main/java/com/groupdocs/ui/cache/mixin/PageMixIn.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,4 @@
88
public abstract class PageMixIn {
99
PageMixIn(@JsonProperty("number") int number, @JsonProperty("visible") boolean visible, @JsonProperty("width") int width, @JsonProperty("height") int height, @JsonProperty("lines") List<Line> lines) {
1010
}
11-
1211
}

0 commit comments

Comments
 (0)