Replace read file for FileUtils

Change jaxb mindmap package
Fix failing tests for encodding issues.
This commit is contained in:
Paulo Gustavo Veiga 2012-03-10 16:33:00 -03:00
parent 0660c7e8c3
commit b26f9715ff
21 changed files with 83 additions and 2102 deletions

14
pom.xml
View File

@ -37,6 +37,20 @@
</organization> </organization>
<build> <build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
</plugin>
</plugins>
</pluginManagement>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>

View File

@ -418,7 +418,6 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration> <configuration>
<parallel>true</parallel> <parallel>true</parallel>
<suiteXmlFiles> <suiteXmlFiles>
@ -427,8 +426,7 @@
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId> <groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId> <artifactId>jetty-maven-plugin</artifactId>
<version>8.1.0.v20120127</version> <version>8.1.0.v20120127</version>
@ -458,7 +456,7 @@
<bindingIncludes> <bindingIncludes>
<include>mindmap.xjb</include> <include>mindmap.xjb</include>
</bindingIncludes> </bindingIncludes>
<generatePackage>com.wisemapping.jaxb.mindmap</generatePackage> <generatePackage>com.wisemapping.jaxb.wisemap</generatePackage>
<generateDirectory>${project.build.directory}/generated-sources/xjc1</generateDirectory> <generateDirectory>${project.build.directory}/generated-sources/xjc1</generateDirectory>
</configuration> </configuration>
</execution> </execution>
@ -482,6 +480,10 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View File

@ -24,9 +24,9 @@ import com.wisemapping.model.MindMap;
import com.wisemapping.model.ShapeStyle; import com.wisemapping.model.ShapeStyle;
import com.wisemapping.util.JAXBUtils; import com.wisemapping.util.JAXBUtils;
import com.wisemapping.jaxb.freemind.*; import com.wisemapping.jaxb.freemind.*;
import com.wisemapping.jaxb.mindmap.RelationshipType; import com.wisemapping.jaxb.wisemap.RelationshipType;
import com.wisemapping.jaxb.mindmap.TopicType; import com.wisemapping.jaxb.wisemap.TopicType;
import com.wisemapping.jaxb.mindmap.Icon; import com.wisemapping.jaxb.wisemap.Icon;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import javax.xml.bind.JAXBException; import javax.xml.bind.JAXBException;
@ -52,15 +52,15 @@ public class FreemindExporter
export(map.getXml(), outputStream); export(map.getXml(), outputStream);
} }
public void export(byte[] xml, OutputStream outputStream) throws ExportException { public void export(byte[] xml, @NotNull OutputStream outputStream) throws ExportException {
objectFactory = new com.wisemapping.jaxb.freemind.ObjectFactory(); objectFactory = new com.wisemapping.jaxb.freemind.ObjectFactory();
nodesMap = new HashMap<String, Node>(); nodesMap = new HashMap<String, Node>();
final com.wisemapping.jaxb.mindmap.Map mindmapMap; final com.wisemapping.jaxb.wisemap.Map mindmapMap;
try { try {
final ByteArrayInputStream stream = new ByteArrayInputStream(xml); final ByteArrayInputStream stream = new ByteArrayInputStream(xml);
mindmapMap = (com.wisemapping.jaxb.mindmap.Map) JAXBUtils.getMapObject(stream, "com.wisemapping.jaxb.mindmap"); mindmapMap = (com.wisemapping.jaxb.wisemap.Map) JAXBUtils.getMapObject(stream, "com.wisemapping.jaxb.wisemap");
final com.wisemapping.jaxb.freemind.Map freemindMap = objectFactory.createMap(); final com.wisemapping.jaxb.freemind.Map freemindMap = objectFactory.createMap();
freemindMap.setVersion(FREE_MIND_VERSION); freemindMap.setVersion(FREE_MIND_VERSION);
@ -104,7 +104,7 @@ public class FreemindExporter
cloudOrEdge.add(arrowlink); cloudOrEdge.add(arrowlink);
} }
JAXBUtils.saveMap(freemindMap, outputStream, "com.wisemapping.jaxb.freemind"); JAXBUtils.saveMap(freemindMap, outputStream);
} catch (JAXBException e) { } catch (JAXBException e) {
throw new ExportException(e); throw new ExportException(e);
} }
@ -128,7 +128,7 @@ public class FreemindExporter
} }
} }
private void setTopicPropertiesToNode(@NotNull com.wisemapping.jaxb.freemind.Node freemindNode, @NotNull com.wisemapping.jaxb.mindmap.TopicType mindmapTopic, boolean isRoot) { private void setTopicPropertiesToNode(@NotNull com.wisemapping.jaxb.freemind.Node freemindNode, @NotNull com.wisemapping.jaxb.wisemap.TopicType mindmapTopic, boolean isRoot) {
freemindNode.setID("ID_" + mindmapTopic.getId()); freemindNode.setID("ID_" + mindmapTopic.getId());
String text = mindmapTopic.getTextAttr(); String text = mindmapTopic.getTextAttr();
@ -160,7 +160,7 @@ public class FreemindExporter
} }
} }
private void addNote(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.mindmap.TopicType mindmapTopic) { private void addNote(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.wisemap.TopicType mindmapTopic) {
if (mindmapTopic.getNote() != null) { if (mindmapTopic.getNote() != null) {
final Hook note = new Hook(); final Hook note = new Hook();
String textNote = mindmapTopic.getNote().getTextAttr(); String textNote = mindmapTopic.getNote().getTextAttr();
@ -174,14 +174,14 @@ public class FreemindExporter
} }
} }
private void addLinkNode(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.mindmap.TopicType mindmapTopic) { private void addLinkNode(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.wisemap.TopicType mindmapTopic) {
if (mindmapTopic.getLink() != null) { if (mindmapTopic.getLink() != null) {
final String url = mindmapTopic.getLink().getUrl(); final String url = mindmapTopic.getLink().getUrl();
freemindNode.setLINK(url); freemindNode.setLINK(url);
} }
} }
private void addIconNode(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.mindmap.TopicType mindmapTopic) { private void addIconNode(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.wisemap.TopicType mindmapTopic) {
if (mindmapTopic.getIcon() != null) { if (mindmapTopic.getIcon() != null) {
final List<Icon> iconsList = mindmapTopic.getIcon(); final List<Icon> iconsList = mindmapTopic.getIcon();
for (Icon icon : iconsList) { for (Icon icon : iconsList) {
@ -197,7 +197,7 @@ public class FreemindExporter
} }
} }
private void addEdgeNode(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.mindmap.TopicType mindmapTopic) { private void addEdgeNode(com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.wisemap.TopicType mindmapTopic) {
if (mindmapTopic.getBrColor() != null) { if (mindmapTopic.getBrColor() != null) {
final Edge edgeNode = objectFactory.createEdge(); final Edge edgeNode = objectFactory.createEdge();
edgeNode.setCOLOR(mindmapTopic.getBrColor()); edgeNode.setCOLOR(mindmapTopic.getBrColor());
@ -210,7 +210,7 @@ public class FreemindExporter
* eg: Verdana;10;#ffffff;bold;italic; * eg: Verdana;10;#ffffff;bold;italic;
* *
*/ */
private void addFontNode(@NotNull com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.mindmap.TopicType mindmapTopic) { private void addFontNode(@NotNull com.wisemapping.jaxb.freemind.Node freemindNode, com.wisemapping.jaxb.wisemap.TopicType mindmapTopic) {
final String fontStyle = mindmapTopic.getFontStyle(); final String fontStyle = mindmapTopic.getFontStyle();
if (fontStyle != null && fontStyle.length() != 0) { if (fontStyle != null && fontStyle.length() != 0) {
final Font font = objectFactory.createFont(); final Font font = objectFactory.createFont();

View File

@ -25,6 +25,7 @@ public class JaxbCDATAMarshaller {
// set any other options you'd like // set any other options you'd like
// of.setPreserveSpace(true); // of.setPreserveSpace(true);
of.setIndenting(true); of.setIndenting(true);
of.setEncoding("UTF-8");
// create the serializer // create the serializer
XMLSerializer result = new XMLSerializer(of); XMLSerializer result = new XMLSerializer(of);

View File

@ -28,9 +28,9 @@ import com.wisemapping.util.JAXBUtils;
import com.wisemapping.jaxb.freemind.*; import com.wisemapping.jaxb.freemind.*;
import com.wisemapping.jaxb.freemind.Map; import com.wisemapping.jaxb.freemind.Map;
import com.wisemapping.jaxb.freemind.Node; import com.wisemapping.jaxb.freemind.Node;
import com.wisemapping.jaxb.mindmap.RelationshipType; import com.wisemapping.jaxb.wisemap.RelationshipType;
import com.wisemapping.jaxb.mindmap.TopicType; import com.wisemapping.jaxb.wisemap.TopicType;
import com.wisemapping.jaxb.mindmap.Link; import com.wisemapping.jaxb.wisemap.Link;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.w3c.dom.*; import org.w3c.dom.*;
@ -51,7 +51,7 @@ public class FreemindImporter
public static final int ROOT_LEVEL_TOPIC_HEIGHT = SECOND_LEVEL_TOPIC_HEIGHT; public static final int ROOT_LEVEL_TOPIC_HEIGHT = SECOND_LEVEL_TOPIC_HEIGHT;
public static final int CENTRAL_TO_TOPIC_DISTANCE = 200; public static final int CENTRAL_TO_TOPIC_DISTANCE = 200;
public static final int TOPIC_TO_TOPIC_DISTANCE = 90; public static final int TOPIC_TO_TOPIC_DISTANCE = 90;
private com.wisemapping.jaxb.mindmap.ObjectFactory mindmapObjectFactory; private com.wisemapping.jaxb.wisemap.ObjectFactory mindmapObjectFactory;
private static final String POSITION_LEFT = "left"; private static final String POSITION_LEFT = "left";
private static final String BOLD = "bold"; private static final String BOLD = "bold";
private static final String ITALIC = "italic"; private static final String ITALIC = "italic";
@ -99,7 +99,7 @@ public class FreemindImporter
final MindMap result = new MindMap(); final MindMap result = new MindMap();
nodesMap = new HashMap<String, TopicType>(); nodesMap = new HashMap<String, TopicType>();
relationships = new ArrayList<RelationshipType>(); relationships = new ArrayList<RelationshipType>();
mindmapObjectFactory = new com.wisemapping.jaxb.mindmap.ObjectFactory(); mindmapObjectFactory = new com.wisemapping.jaxb.wisemap.ObjectFactory();
try { try {
String wiseXml; String wiseXml;
@ -116,7 +116,7 @@ public class FreemindImporter
final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final com.wisemapping.jaxb.mindmap.Map mindmapMap = mindmapObjectFactory.createMap(); final com.wisemapping.jaxb.wisemap.Map mindmapMap = mindmapObjectFactory.createMap();
mindmapMap.setVersion(CODE_VERSION); mindmapMap.setVersion(CODE_VERSION);
currentId = 0; currentId = 0;
@ -137,7 +137,7 @@ public class FreemindImporter
convertChildNodes(freeNode, wiseTopic, 1); convertChildNodes(freeNode, wiseTopic, 1);
addRelationships(mindmapMap); addRelationships(mindmapMap);
JAXBUtils.saveMap(mindmapMap, baos, "com.wisemapping.jaxb.mindmap"); JAXBUtils.saveMap(mindmapMap, baos);
wiseXml = new String(baos.toByteArray(), UTF_8_CHARSET); wiseXml = new String(baos.toByteArray(), UTF_8_CHARSET);
@ -155,7 +155,7 @@ public class FreemindImporter
return result; return result;
} }
private void addRelationships(@NotNull com.wisemapping.jaxb.mindmap.Map mindmapMap) { private void addRelationships(@NotNull com.wisemapping.jaxb.wisemap.Map mindmapMap) {
List<RelationshipType> mapRelationships = mindmapMap.getRelationship(); List<RelationshipType> mapRelationships = mindmapMap.getRelationship();
for (RelationshipType relationship : relationships) { for (RelationshipType relationship : relationships) {
relationship.setId(String.valueOf(currentId++)); relationship.setId(String.valueOf(currentId++));
@ -270,14 +270,14 @@ public class FreemindImporter
String iconId = freemindIcon.getBUILTIN(); String iconId = freemindIcon.getBUILTIN();
final String wiseIconId = FreemindIconConverter.toWiseId(iconId); final String wiseIconId = FreemindIconConverter.toWiseId(iconId);
if (wiseIconId != null) { if (wiseIconId != null) {
final com.wisemapping.jaxb.mindmap.Icon mindmapIcon = new com.wisemapping.jaxb.mindmap.Icon(); final com.wisemapping.jaxb.wisemap.Icon mindmapIcon = new com.wisemapping.jaxb.wisemap.Icon();
mindmapIcon.setId(wiseIconId); mindmapIcon.setId(wiseIconId);
currentWiseTopic.getIcon().add(mindmapIcon); currentWiseTopic.getIcon().add(mindmapIcon);
} }
} else if (element instanceof Hook) { } else if (element instanceof Hook) {
final Hook hook = (Hook) element; final Hook hook = (Hook) element;
final com.wisemapping.jaxb.mindmap.Note mindmapNote = new com.wisemapping.jaxb.mindmap.Note(); final com.wisemapping.jaxb.wisemap.Note mindmapNote = new com.wisemapping.jaxb.wisemap.Note();
String textNote = hook.getText(); String textNote = hook.getText();
if (textNote == null) // It is not a note is a BlinkingNodeHook or AutomaticLayout Hook if (textNote == null) // It is not a note is a BlinkingNodeHook or AutomaticLayout Hook
{ {
@ -294,7 +294,7 @@ public class FreemindImporter
currentWiseTopic.setText(text); currentWiseTopic.setText(text);
} else { } else {
String text = getRichContent(content); String text = getRichContent(content);
final com.wisemapping.jaxb.mindmap.Note mindmapNote = new com.wisemapping.jaxb.mindmap.Note(); final com.wisemapping.jaxb.wisemap.Note mindmapNote = new com.wisemapping.jaxb.wisemap.Note();
text = text != null ? text : EMPTY_NOTE; text = text != null ? text : EMPTY_NOTE;
mindmapNote.setText(text); mindmapNote.setText(text);
currentWiseTopic.setNote(mindmapNote); currentWiseTopic.setNote(mindmapNote);
@ -536,7 +536,7 @@ public class FreemindImporter
return text.toString(); return text.toString();
} }
private void convertNodeProperties(@NotNull com.wisemapping.jaxb.freemind.Node freeNode, @NotNull com.wisemapping.jaxb.mindmap.TopicType wiseTopic) { private void convertNodeProperties(@NotNull com.wisemapping.jaxb.freemind.Node freeNode, @NotNull com.wisemapping.jaxb.wisemap.TopicType wiseTopic) {
final String text = freeNode.getTEXT(); final String text = freeNode.getTEXT();
wiseTopic.setText(text); wiseTopic.setText(text);

View File

@ -57,9 +57,9 @@ public class JAXBUtils {
} }
public static void saveMap(@NotNull Object obj, @NotNull OutputStream out, String packag) throws JAXBException { public static void saveMap(@NotNull com.wisemapping.jaxb.wisemap.Map obj, @NotNull OutputStream out) throws JAXBException {
final JAXBContext context = getInstance(packag); final JAXBContext context = getInstance("com.wisemapping.jaxb.wisemap");
final Marshaller marshaller = context.createMarshaller(); final Marshaller marshaller = context.createMarshaller();
// get an Apache XMLSerializer configured to generate CDATA // get an Apache XMLSerializer configured to generate CDATA
@ -72,4 +72,11 @@ public class JAXBUtils {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
} }
public static void saveMap(@NotNull com.wisemapping.jaxb.freemind.Map map, @NotNull OutputStream out) throws JAXBException {
final JAXBContext context = getInstance("com.wisemapping.jaxb.freemind");
final Marshaller marshaller = context.createMarshaller();
marshaller.marshal(map, out);
}
} }

View File

@ -2,7 +2,7 @@
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="mindmap.xsd"> <jxb:bindings schemaLocation="mindmap.xsd">
<jxb:schemaBindings> <jxb:schemaBindings>
<jxb:package name="com.wisemapping.jaxb.mindmap"/> <jxb:package name="com.wisemapping.jaxb.wisemap"/>
</jxb:schemaBindings> </jxb:schemaBindings>
</jxb:bindings> </jxb:bindings>
<jxb:bindings node="/xsd:schema/xsd:complexType[@name='topicType']/xsd:attribute[@name='text']" schemaLocation="mindmap.xsd"> <jxb:bindings node="/xsd:schema/xsd:complexType[@name='topicType']/xsd:attribute[@name='text']" schemaLocation="mindmap.xsd">

View File

@ -1,15 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="This is the root node" ID="ID_0"><node TEXT="Child Level 1 Right 1" POSITION="right" ID="ID_1"/><node TEXT="Child Level 1 Left 1" POSITION="left" ID="ID_2"><node TEXT="Child Level 2 Left 11" POSITION="left" ID="ID_3"/><node TEXT="Child Level 2 Left 12" POSITION="left" ID="ID_4"/></node><node TEXT="Child Level 1 Right 2" POSITION="right" ID="ID_5"/><node TEXT="Child Level 1 Left 2" POSITION="left" ID="ID_6"><node TEXT="Child Level 2 Left 21 " POSITION="left" ID="ID_7"/><node TEXT="Child Level 2 Left 22" POSITION="left" ID="ID_8"/></node></node></map>
<map version="0.9.0">
<node TEXT="This is the root node" ID="ID_0">
<node TEXT="Child Level 1 Right 1" POSITION="right" ID="ID_1"/>
<node TEXT="Child Level 1 Left 1" POSITION="left" ID="ID_2">
<node TEXT="Child Level 2 Left 11" POSITION="left" ID="ID_3"/>
<node TEXT="Child Level 2 Left 12" POSITION="left" ID="ID_4"/>
</node>
<node TEXT="Child Level 1 Right 2" POSITION="right" ID="ID_5"/>
<node TEXT="Child Level 1 Left 2" POSITION="left" ID="ID_6">
<node TEXT="Child Level 2 Left 21 " POSITION="left" ID="ID_7"/>
<node TEXT="Child Level 2 Left 22" POSITION="left" ID="ID_8"/>
</node>
</node>
</map>

View File

@ -1,40 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="Fonts" ID="ID_0"><node TEXT="Styles" POSITION="right" ID="ID_1"><node TEXT="Bold" POSITION="right" ID="ID_2"><font SIZE="12" NAME="Arial" BOLD="true"/></node><node TEXT="Italic" POSITION="right" ID="ID_3"><font SIZE="12" NAME="Arial" ITALIC="true"/></node></node><node TEXT="Sizes" POSITION="left" ID="ID_4"><node TEXT="Normal----" POSITION="left" ID="ID_5"><font SIZE="8" NAME="Arial"/></node><node TEXT="Normal---" POSITION="left" ID="ID_6"><font SIZE="9" NAME="Arial"/></node><node TEXT="Normal--" POSITION="left" ID="ID_7"><font SIZE="10" NAME="Arial"/></node><node TEXT="Normal-" POSITION="left" ID="ID_8"><font SIZE="11" NAME="Arial"/></node><node TEXT="Normal" POSITION="left" ID="ID_9"/><node TEXT="Nomal+" POSITION="left" ID="ID_10"><font SIZE="13" NAME="Arial"/></node><node TEXT="Normal++" POSITION="left" ID="ID_11"><font SIZE="14" NAME="Arial"/></node><node TEXT="Normal+++" POSITION="left" ID="ID_12"><font SIZE="15" NAME="Arial"/></node><node TEXT="Normal++++" POSITION="left" ID="ID_13"><font SIZE="16" NAME="Arial"/></node></node></node></map>
<map version="0.9.0">
<node TEXT="Fonts" ID="ID_0">
<node TEXT="Styles" POSITION="right" ID="ID_1">
<node TEXT="Bold" POSITION="right" ID="ID_2">
<font SIZE="12" NAME="Arial" BOLD="true"/>
</node>
<node TEXT="Italic" POSITION="right" ID="ID_3">
<font SIZE="12" NAME="Arial" ITALIC="true"/>
</node>
</node>
<node TEXT="Sizes" POSITION="left" ID="ID_4">
<node TEXT="Normal----" POSITION="left" ID="ID_5">
<font SIZE="8" NAME="Arial"/>
</node>
<node TEXT="Normal---" POSITION="left" ID="ID_6">
<font SIZE="9" NAME="Arial"/>
</node>
<node TEXT="Normal--" POSITION="left" ID="ID_7">
<font SIZE="10" NAME="Arial"/>
</node>
<node TEXT="Normal-" POSITION="left" ID="ID_8">
<font SIZE="11" NAME="Arial"/>
</node>
<node TEXT="Normal" POSITION="left" ID="ID_9"/>
<node TEXT="Nomal+" POSITION="left" ID="ID_10">
<font SIZE="13" NAME="Arial"/>
</node>
<node TEXT="Normal++" POSITION="left" ID="ID_11">
<font SIZE="14" NAME="Arial"/>
</node>
<node TEXT="Normal+++" POSITION="left" ID="ID_12">
<font SIZE="15" NAME="Arial"/>
</node>
<node TEXT="Normal++++" POSITION="left" ID="ID_13">
<font SIZE="16" NAME="Arial"/>
</node>
</node>
</node>
</map>

View File

@ -1,8 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="i18n" ID="ID_0"><node TEXT="Este es un é con acento" POSITION="right" ID="ID_1"/><node TEXT="Este es una ñ" POSITION="left" ID="ID_2"/><node TEXT="這是一個樣本 Japanise。" POSITION="right" ID="ID_3"/></node></map>
<map version="0.9.0">
<node TEXT="i18n" ID="ID_0">
<node TEXT="Este es un é con acento" POSITION="right" ID="ID_1"/>
<node TEXT="Este es una ñ" POSITION="left" ID="ID_2"/>
<node TEXT="這是一個樣本 Japanise。" POSITION="right" ID="ID_3"/>
</node>
</map>

File diff suppressed because one or more lines are too long

View File

@ -1,14 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="Node Links" LINK="http://www.google.com" ID="ID_0"><icon BUILTIN="closed"/><node TEXT="Link Topic" POSITION="right" LINK="http://www.bing.com" ID="ID_1" FOLDED="true"><icon BUILTIN="info"/><node TEXT="Link Topic Topic" POSITION="right" LINK="http://bing.com" ID="ID_2"><icon BUILTIN="messagebox_warning"/></node></node></node></map>
<map version="0.9.0">
<node TEXT="Node Links" LINK="http://www.google.com" ID="ID_0">
<icon BUILTIN="closed"/>
<node TEXT="Link Topic" POSITION="right"
LINK="http://www.bing.com" ID="ID_1" FOLDED="true">
<icon BUILTIN="info"/>
<node TEXT="Link Topic Topic" POSITION="right"
LINK="http://bing.com" ID="ID_2">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
</node>
</map>

View File

@ -1,6 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="I have HTML In Nodes" ID="ID_0"><node TEXT="" POSITION="right" ID="ID_1"/></node></map>
<map version="0.9.0">
<node TEXT="I have HTML In Nodes" ID="ID_0">
<node TEXT="" POSITION="right" ID="ID_1"/>
</node>
</map>

View File

@ -1,50 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="Shapes" ID="ID_0"><node TEXT="Node Styles" POSITION="right" ID="ID_1"><node TEXT="Fork" POSITION="right" ID="ID_2"><edge COLOR="#808080"/></node><node TEXT="Bubble" STYLE="bubble" POSITION="right" ID="ID_3"><edge COLOR="#808080"/></node><node TEXT="As parent" POSITION="right" ID="ID_4"><edge COLOR="#808080"/></node><node TEXT="Combined" POSITION="right" ID="ID_5"><edge COLOR="#808080"/></node></node><node TEXT="Node Background Color" POSITION="left" ID="ID_6" BACKGROUND_COLOR="#f20707"><node TEXT="Fork" POSITION="left" ID="ID_7" BACKGROUND_COLOR="#0000cc"><edge COLOR="#808080"/></node><node TEXT="Bubble" STYLE="bubble" POSITION="left" ID="ID_8" BACKGROUND_COLOR="#ccffcc"><edge COLOR="#808080"/></node><node TEXT="As parent" POSITION="left" ID="ID_9" BACKGROUND_COLOR="#00ffff"><edge COLOR="#808080"/></node><node TEXT="Combined" POSITION="left" ID="ID_10" BACKGROUND_COLOR="#990099"><edge COLOR="#808080"/></node></node><node TEXT="Node Text Color" POSITION="left" ID="ID_11" BACKGROUND_COLOR="#f20707"><node TEXT="Fork" POSITION="left" ID="ID_12" COLOR="#ffff00" BACKGROUND_COLOR="#0000cc"><edge COLOR="#808080"/></node><node TEXT="Bubble" STYLE="bubble" POSITION="left" ID="ID_13" COLOR="#ff6666" BACKGROUND_COLOR="#ccffcc"><edge COLOR="#808080"/></node><node TEXT="As parent" POSITION="left" ID="ID_14" COLOR="#009999" BACKGROUND_COLOR="#00ffff"><edge COLOR="#808080"/></node><node TEXT="Combined" POSITION="left" ID="ID_15" COLOR="#009999" BACKGROUND_COLOR="#990099"><edge COLOR="#808080"/></node></node></node></map>
<map version="0.9.0">
<node TEXT="Shapes" ID="ID_0">
<node TEXT="Node Styles" POSITION="right" ID="ID_1">
<node TEXT="Fork" POSITION="right" ID="ID_2">
<edge COLOR="#808080"/>
</node>
<node TEXT="Bubble" STYLE="bubble" POSITION="right" ID="ID_3">
<edge COLOR="#808080"/>
</node>
<node TEXT="As parent" POSITION="right" ID="ID_4">
<edge COLOR="#808080"/>
</node>
<node TEXT="Combined" POSITION="right" ID="ID_5">
<edge COLOR="#808080"/>
</node>
</node>
<node TEXT="Node Background Color" POSITION="left" ID="ID_6" BACKGROUND_COLOR="#f20707">
<node TEXT="Fork" POSITION="left" ID="ID_7" BACKGROUND_COLOR="#0000cc">
<edge COLOR="#808080"/>
</node>
<node TEXT="Bubble" STYLE="bubble" POSITION="left" ID="ID_8" BACKGROUND_COLOR="#ccffcc">
<edge COLOR="#808080"/>
</node>
<node TEXT="As parent" POSITION="left" ID="ID_9" BACKGROUND_COLOR="#00ffff">
<edge COLOR="#808080"/>
</node>
<node TEXT="Combined" POSITION="left" ID="ID_10" BACKGROUND_COLOR="#990099">
<edge COLOR="#808080"/>
</node>
</node>
<node TEXT="Node Text Color" POSITION="left" ID="ID_11" BACKGROUND_COLOR="#f20707">
<node TEXT="Fork" POSITION="left" ID="ID_12" COLOR="#ffff00" BACKGROUND_COLOR="#0000cc">
<edge COLOR="#808080"/>
</node>
<node TEXT="Bubble" STYLE="bubble" POSITION="left"
ID="ID_13" COLOR="#ff6666" BACKGROUND_COLOR="#ccffcc">
<edge COLOR="#808080"/>
</node>
<node TEXT="As parent" POSITION="left" ID="ID_14"
COLOR="#009999" BACKGROUND_COLOR="#00ffff">
<edge COLOR="#808080"/>
</node>
<node TEXT="Combined" POSITION="left" ID="ID_15"
COLOR="#009999" BACKGROUND_COLOR="#990099">
<edge COLOR="#808080"/>
</node>
</node>
</node>
</map>

View File

@ -1,121 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="California" ID="ID_0"><node TEXT="Northern California" POSITION="left" ID="ID_1"><node TEXT="Oakland/Berkeley" POSITION="left" ID="ID_2"/><node TEXT="San Mateo" POSITION="left" ID="ID_3"/><node TEXT="Other North" POSITION="left" ID="ID_4"/><node TEXT="San Francisco" POSITION="left" ID="ID_5"/><node TEXT="Santa Clara" POSITION="left" ID="ID_6"/><node TEXT="Marin/Napa/Solano" POSITION="left" ID="ID_7"/></node><node TEXT="Hawaii" POSITION="left" ID="ID_8"/><node TEXT="Southern California" POSITION="left" ID="ID_9"><node TEXT="Los Angeles" POSITION="left" ID="ID_10"/><node TEXT="Anaheim/Santa Ana" POSITION="left" ID="ID_11"/><node TEXT="Ventura" POSITION="left" ID="ID_12"/><node TEXT="Other South" POSITION="left" ID="ID_13"/></node><node TEXT="Policy Bodies" POSITION="left" ID="ID_14"><node TEXT="Advocacy" POSITION="left" ID="ID_15"><node TEXT="AAO" POSITION="left" ID="ID_16"/><node TEXT="ASCRS" POSITION="left" ID="ID_17"/><node TEXT="EBAA" POSITION="left" ID="ID_18"/></node><node TEXT="Military" POSITION="left" ID="ID_19"/><node TEXT="United Network for Organ Sharing" POSITION="left" ID="ID_20"/><node TEXT="Kaiser Hospital System" POSITION="left" ID="ID_21"/><node TEXT="University of California System" POSITION="left" ID="ID_22"/><node TEXT="CMS" POSITION="left" ID="ID_23"><node TEXT="Medicare Part A" POSITION="left" ID="ID_24"/><node TEXT="Medicare Part B" POSITION="left" ID="ID_25"/></node></node><node TEXT="Corneal Tissue OPS" POSITION="right" ID="ID_26"><node TEXT="Transplant Bank International" POSITION="right" ID="ID_27"><node TEXT="Orange County Eye and Transplant Bank" POSITION="right" ID="ID_28"/><node TEXT="Northern California Transplant Bank" STYLE="bubble" POSITION="right" ID="ID_29" BACKGROUND_COLOR="#00ffd5"><node TEXT="In 2010, 2,500 referrals forwarded to OneLegacy" POSITION="right" ID="ID_30"/></node><node TEXT="Doheny Eye and Tissue Transplant Bank" STYLE="bubble" POSITION="right" LINK="http://www.dohenyeyebank.org/" ID="ID_31" BACKGROUND_COLOR="#00ffd5"/><arrowlink ENDARROW="Default" DESTINATION="ID_32"/><arrowlink ENDARROW="Default" DESTINATION="ID_36"/></node><node TEXT="OneLegacy" STYLE="bubble" POSITION="right" ID="ID_32" BACKGROUND_COLOR="#00ffd5"><node TEXT="In 2010, 11,828 referrals" POSITION="right" ID="ID_33"/></node><node TEXT="San Diego Eye Bank" STYLE="bubble" POSITION="right" ID="ID_34" BACKGROUND_COLOR="#00ffd5"><node TEXT="In 2010, 2,555 referrals" POSITION="right" ID="ID_35"/></node><node TEXT="California Transplant Donor Network" POSITION="right" ID="ID_36"/><node TEXT="California Transplant Services" POSITION="right" ID="ID_37"><node TEXT="In 2010, 0 referrals" POSITION="right" ID="ID_38"/></node><node TEXT="Lifesharing" POSITION="right" ID="ID_39"/><node TEXT="DCI Donor Services" POSITION="right" ID="ID_40"><node TEXT="Sierra Eye and Tissue Donor Services" STYLE="bubble" POSITION="right" ID="ID_41" BACKGROUND_COLOR="#00ffd5"><node TEXT="In 2010, 2.023 referrals" POSITION="right" ID="ID_42"/></node></node><node TEXT="SightLife" STYLE="bubble" POSITION="right" ID="ID_43" BACKGROUND_COLOR="#00ffd5"/></node><node TEXT="Tools" POSITION="left" ID="ID_44"><node TEXT="Darthmouth Atlas of Health" POSITION="left" ID="ID_45"/><node TEXT="HealthLandscape" POSITION="left" ID="ID_46"/></node><node TEXT="QE Medicare" POSITION="right" ID="ID_47"/><node TEXT="CMS Data" POSITION="right" ID="ID_48"/><node TEXT="Ambulatory Payment Classification" POSITION="right" ID="ID_49"><node TEXT="CPT's which don't allow V2785" POSITION="right" ID="ID_50"><node TEXT="Ocular Reconstruction Transplant" POSITION="right" ID="ID_51"><node TEXT="65780 (amniotic membrane tranplant" POSITION="right" ID="ID_52"/><node TEXT="65781 (limbal stem cell allograft)" POSITION="right" ID="ID_53"/><node TEXT="65782 (limbal conjunctiva autograft)" POSITION="right" ID="ID_54"/></node><node TEXT="Endothelial keratoplasty" POSITION="right" ID="ID_55"><node TEXT="65756" POSITION="right" ID="ID_56"/></node><node TEXT="Epikeratoplasty" POSITION="right" ID="ID_57"><node TEXT="65767" POSITION="right" ID="ID_58"/></node></node><node TEXT="Anterior lamellar keratoplasty" POSITION="right" ID="ID_59"><node TEXT="65710" POSITION="right" ID="ID_60"/></node><node TEXT="Processing, preserving, and transporting corneal tissue" POSITION="right" ID="ID_61"><node TEXT="V2785" POSITION="right" ID="ID_62"/><node TEXT="Laser incision in recepient" POSITION="right" ID="ID_63"><node TEXT="0290T" POSITION="right" ID="ID_64"/></node></node><node TEXT="Laser incision in donor" POSITION="right" ID="ID_65"><node TEXT="0289T" POSITION="right" ID="ID_66"/></node><node TEXT="Penetrating keratoplasty" POSITION="right" ID="ID_67"><node TEXT="65730 (in other)" POSITION="right" ID="ID_68"/><node TEXT="65755 (in pseudoaphakia)" POSITION="right" ID="ID_69"/><node TEXT="65750 (in aphakia)" POSITION="right" ID="ID_70"/></node></node></node></map>
<map version="0.9.0">
<node TEXT="California" ID="ID_0">
<node TEXT="Northern California" POSITION="left" ID="ID_1">
<node TEXT="Oakland/Berkeley" POSITION="left" ID="ID_2"/>
<node TEXT="San Mateo" POSITION="left" ID="ID_3"/>
<node TEXT="Other North" POSITION="left" ID="ID_4"/>
<node TEXT="San Francisco" POSITION="left" ID="ID_5"/>
<node TEXT="Santa Clara" POSITION="left" ID="ID_6"/>
<node TEXT="Marin/Napa/Solano" POSITION="left" ID="ID_7"/>
</node>
<node TEXT="Hawaii" POSITION="left" ID="ID_8"/>
<node TEXT="Southern California" POSITION="left" ID="ID_9">
<node TEXT="Los Angeles" POSITION="left" ID="ID_10"/>
<node TEXT="Anaheim/Santa Ana" POSITION="left" ID="ID_11"/>
<node TEXT="Ventura" POSITION="left" ID="ID_12"/>
<node TEXT="Other South" POSITION="left" ID="ID_13"/>
</node>
<node TEXT="Policy Bodies" POSITION="left" ID="ID_14">
<node TEXT="Advocacy" POSITION="left" ID="ID_15">
<node TEXT="AAO" POSITION="left" ID="ID_16"/>
<node TEXT="ASCRS" POSITION="left" ID="ID_17"/>
<node TEXT="EBAA" POSITION="left" ID="ID_18"/>
</node>
<node TEXT="Military" POSITION="left" ID="ID_19"/>
<node TEXT="United Network for Organ Sharing"
POSITION="left" ID="ID_20"/>
<node TEXT="Kaiser Hospital System" POSITION="left" ID="ID_21"/>
<node TEXT="University of California System" POSITION="left" ID="ID_22"/>
<node TEXT="CMS" POSITION="left" ID="ID_23">
<node TEXT="Medicare Part A" POSITION="left" ID="ID_24"/>
<node TEXT="Medicare Part B" POSITION="left" ID="ID_25"/>
</node>
</node>
<node TEXT="Corneal Tissue OPS" POSITION="right" ID="ID_26">
<node TEXT="Transplant Bank International" POSITION="right" ID="ID_27">
<node TEXT="Orange County Eye and Transplant Bank"
POSITION="right" ID="ID_28"/>
<node TEXT="Northern California Transplant Bank"
STYLE="bubble" POSITION="right" ID="ID_29" BACKGROUND_COLOR="#00ffd5">
<node
TEXT="In 2010, 2,500 referrals forwarded to OneLegacy"
POSITION="right" ID="ID_30"/>
</node>
<node TEXT="Doheny Eye and Tissue Transplant Bank"
STYLE="bubble" POSITION="right"
LINK="http://www.dohenyeyebank.org/" ID="ID_31" BACKGROUND_COLOR="#00ffd5"/>
<arrowlink ENDARROW="Default" DESTINATION="ID_32"/>
<arrowlink ENDARROW="Default" DESTINATION="ID_36"/>
</node>
<node TEXT="OneLegacy" STYLE="bubble" POSITION="right"
ID="ID_32" BACKGROUND_COLOR="#00ffd5">
<node TEXT="In 2010, 11,828 referrals" POSITION="right" ID="ID_33"/>
</node>
<node TEXT="San Diego Eye Bank" STYLE="bubble"
POSITION="right" ID="ID_34" BACKGROUND_COLOR="#00ffd5">
<node TEXT="In 2010, 2,555 referrals" POSITION="right" ID="ID_35"/>
</node>
<node TEXT="California Transplant Donor Network"
POSITION="right" ID="ID_36"/>
<node TEXT="California Transplant Services" POSITION="right" ID="ID_37">
<node TEXT="In 2010, 0 referrals" POSITION="right" ID="ID_38"/>
</node>
<node TEXT="Lifesharing" POSITION="right" ID="ID_39"/>
<node TEXT="DCI Donor Services" POSITION="right" ID="ID_40">
<node TEXT="Sierra Eye and Tissue Donor Services"
STYLE="bubble" POSITION="right" ID="ID_41" BACKGROUND_COLOR="#00ffd5">
<node TEXT="In 2010, 2.023 referrals"
POSITION="right" ID="ID_42"/>
</node>
</node>
<node TEXT="SightLife" STYLE="bubble" POSITION="right"
ID="ID_43" BACKGROUND_COLOR="#00ffd5"/>
</node>
<node TEXT="Tools" POSITION="left" ID="ID_44">
<node TEXT="Darthmouth Atlas of Health" POSITION="left" ID="ID_45"/>
<node TEXT="HealthLandscape" POSITION="left" ID="ID_46"/>
</node>
<node TEXT="QE Medicare" POSITION="right" ID="ID_47"/>
<node TEXT="CMS Data" POSITION="right" ID="ID_48"/>
<node TEXT="Ambulatory Payment Classification" POSITION="right" ID="ID_49">
<node TEXT="CPT's which don't allow V2785" POSITION="right" ID="ID_50">
<node TEXT="Ocular Reconstruction Transplant"
POSITION="right" ID="ID_51">
<node TEXT="65780 (amniotic membrane tranplant"
POSITION="right" ID="ID_52"/>
<node TEXT="65781 (limbal stem cell allograft)"
POSITION="right" ID="ID_53"/>
<node TEXT="65782 (limbal conjunctiva autograft)"
POSITION="right" ID="ID_54"/>
</node>
<node TEXT="Endothelial keratoplasty" POSITION="right" ID="ID_55">
<node TEXT="65756" POSITION="right" ID="ID_56"/>
</node>
<node TEXT="Epikeratoplasty" POSITION="right" ID="ID_57">
<node TEXT="65767" POSITION="right" ID="ID_58"/>
</node>
</node>
<node TEXT="Anterior lamellar keratoplasty" POSITION="right" ID="ID_59">
<node TEXT="65710" POSITION="right" ID="ID_60"/>
</node>
<node
TEXT="Processing, preserving, and transporting corneal tissue"
POSITION="right" ID="ID_61">
<node TEXT="V2785" POSITION="right" ID="ID_62"/>
<node TEXT="Laser incision in recepient"
POSITION="right" ID="ID_63">
<node TEXT="0290T" POSITION="right" ID="ID_64"/>
</node>
</node>
<node TEXT="Laser incision in donor" POSITION="right" ID="ID_65">
<node TEXT="0289T" POSITION="right" ID="ID_66"/>
</node>
<node TEXT="Penetrating keratoplasty" POSITION="right" ID="ID_67">
<node TEXT="65730 (in other)" POSITION="right" ID="ID_68"/>
<node TEXT="65755 (in pseudoaphakia)" POSITION="right" ID="ID_69"/>
<node TEXT="65750 (in aphakia)" POSITION="right" ID="ID_70"/>
</node>
</node>
</node>
</map>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,37 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="Welcome To WiseMapping" ID="ID_1" BACKGROUND_COLOR="#0a0a08"><node TEXT="Try it Now!" POSITION="right" ID="ID_11" BACKGROUND_COLOR="#250be3"><node TEXT="Double Click" POSITION="right" ID="ID_12"/><node TEXT=" INS to insert" POSITION="right" ID="ID_13"/><node TEXT="Drag map to move" POSITION="right" ID="ID_14"/></node><node TEXT="Productivity" POSITION="left" ID="ID_2" BACKGROUND_COLOR="#d9b518"><node TEXT="Share your ideas" POSITION="left" ID="ID_3"/><node TEXT="Brainstorming&#xA; with&#xA; some&#xA; lines" POSITION="left" ID="ID_4"/><node TEXT="Visual " POSITION="left" ID="ID_5"/></node><node TEXT="Mind Mapping" POSITION="right" ID="ID_6" BACKGROUND_COLOR="#edabff"><node TEXT="Share with Collegues" POSITION="right" ID="ID_7"/><node TEXT="Online" POSITION="right" ID="ID_8"/><node TEXT="Anyplace, Anytime" POSITION="right" ID="ID_9"/><node TEXT="Free!!!" POSITION="right" ID="ID_10"/></node><node TEXT="Web 2.0 Tool" POSITION="left" ID="ID_22" BACKGROUND_COLOR="#add1f7"><node TEXT="Collaborate" POSITION="left" ID="ID_23"/><node TEXT="No plugin required" POSITION="left" ID="ID_24"/><node TEXT="Share" POSITION="left" ID="ID_25"/><node TEXT="Easy to use" POSITION="left" ID="ID_26"/></node><node TEXT="Features" POSITION="right" ID="ID_15"><node TEXT="Links to Sites" POSITION="right" ID="ID_16"/><node TEXT="Fonts" POSITION="right" ID="ID_17"/><node TEXT="Topic Color" POSITION="right" ID="ID_18"/><node TEXT="Topic Shapes" POSITION="right" ID="ID_19"/><node TEXT="Icons" POSITION="right" ID="ID_20"/><node TEXT="History Changes" POSITION="right" ID="ID_21"/></node></node></map>
<map version="0.9.0">
<node TEXT="Welcome To WiseMapping" ID="ID_1" BACKGROUND_COLOR="#0a0a08">
<node TEXT="Try it Now!" POSITION="right" ID="ID_11" BACKGROUND_COLOR="#250be3">
<node TEXT="Double Click" POSITION="right" ID="ID_12"/>
<node TEXT=" INS to insert" POSITION="right" ID="ID_13"/>
<node TEXT="Drag map to move" POSITION="right" ID="ID_14"/>
</node>
<node TEXT="Productivity" POSITION="left" ID="ID_2" BACKGROUND_COLOR="#d9b518">
<node TEXT="Share your ideas" POSITION="left" ID="ID_3"/>
<node
TEXT="Brainstorming&#xa; with&#xa; some&#xa; lines"
POSITION="left" ID="ID_4"/>
<node TEXT="Visual " POSITION="left" ID="ID_5"/>
</node>
<node TEXT="Mind Mapping" POSITION="right" ID="ID_6" BACKGROUND_COLOR="#edabff">
<node TEXT="Share with Collegues" POSITION="right" ID="ID_7"/>
<node TEXT="Online" POSITION="right" ID="ID_8"/>
<node TEXT="Anyplace, Anytime" POSITION="right" ID="ID_9"/>
<node TEXT="Free!!!" POSITION="right" ID="ID_10"/>
</node>
<node TEXT="Web 2.0 Tool" POSITION="left" ID="ID_22" BACKGROUND_COLOR="#add1f7">
<node TEXT="Collaborate" POSITION="left" ID="ID_23"/>
<node TEXT="No plugin required" POSITION="left" ID="ID_24"/>
<node TEXT="Share" POSITION="left" ID="ID_25"/>
<node TEXT="Easy to use" POSITION="left" ID="ID_26"/>
</node>
<node TEXT="Features" POSITION="right" ID="ID_15">
<node TEXT="Links to Sites" POSITION="right" ID="ID_16"/>
<node TEXT="Fonts" POSITION="right" ID="ID_17"/>
<node TEXT="Topic Color" POSITION="right" ID="ID_18"/>
<node TEXT="Topic Shapes" POSITION="right" ID="ID_19"/>
<node TEXT="Icons" POSITION="right" ID="ID_20"/>
<node TEXT="History Changes" POSITION="right" ID="ID_21"/>
</node>
</node>
</map>

View File

@ -8,6 +8,7 @@ import com.wisemapping.importer.ImporterException;
import com.wisemapping.model.MindMap; import com.wisemapping.model.MindMap;
import org.apache.batik.transcoder.TranscoderException; import org.apache.batik.transcoder.TranscoderException;
import org.apache.commons.io.FileUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.DataProvider; import org.testng.annotations.DataProvider;
@ -27,16 +28,7 @@ public class ExportTest {
@Test(dataProvider = "Data-Provider-Function") @Test(dataProvider = "Data-Provider-Function")
public void exportSvgTest(@NotNull final File svgFile, @NotNull final File pngFile) throws ImporterException, IOException, ExportException, TransformerException, XMLStreamException, JAXBException, SAXException, TranscoderException, ParserConfigurationException { public void exportSvgTest(@NotNull final File svgFile, @NotNull final File pngFile) throws ImporterException, IOException, ExportException, TransformerException, XMLStreamException, JAXBException, SAXException, TranscoderException, ParserConfigurationException {
BufferedReader reader = null; String svgXml = FileUtils.readFileToString(svgFile, "UTF-8");
StringBuffer buffer = new StringBuffer();
reader = new BufferedReader(new FileReader(svgFile));
String text;
while ((text = reader.readLine()) != null) {
buffer.append(text).append(System.getProperty("line.separator"));
}
String svgXml = buffer.toString();
final ExportFormat format = ExportFormat.PNG; final ExportFormat format = ExportFormat.PNG;
final ExportProperties properties = ExportProperties.create(format); final ExportProperties properties = ExportProperties.create(format);
@ -51,32 +43,7 @@ public class ExportTest {
final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final ByteArrayOutputStream bos = new ByteArrayOutputStream();
ExporterFactory.export(imageProperties, null, bos, svgXml); ExporterFactory.export(imageProperties, null, bos, svgXml);
// Load rec file co // Assert.assertEquals(expContent.toString().trim(), expContent.toString().trim());
final FileInputStream fis = new FileInputStream(pngFile);
final InputStreamReader isr = new InputStreamReader(fis);
final BufferedReader br = new BufferedReader(isr);
final StringBuilder recContent = new StringBuilder();
String line = br.readLine();
while (line != null) {
recContent.append(line);
line = br.readLine();
}
fis.close();
//Since line separator chenges between \r and \n, lets read line by line
final String exportContent = new String(bos.toByteArray());
BufferedReader expBuf = new BufferedReader(new StringReader(exportContent));
final StringBuilder expContent = new StringBuilder();
String expLine = expBuf.readLine();
while (expLine != null) {
expContent.append(expLine);
expLine = expBuf.readLine();
}
Assert.assertEquals(expContent.toString().trim(), expContent.toString().trim());
} else { } else {
OutputStream outputStream = new FileOutputStream(pngFile, false); OutputStream outputStream = new FileOutputStream(pngFile, false);

View File

@ -5,6 +5,7 @@ import com.wisemapping.exporter.FreemindExporter;
import com.wisemapping.importer.ImporterException; import com.wisemapping.importer.ImporterException;
import com.wisemapping.model.MindMap; import com.wisemapping.model.MindMap;
import org.apache.commons.io.FileUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.DataProvider; import org.testng.annotations.DataProvider;
@ -15,6 +16,7 @@ import java.io.*;
@Test @Test
public class ExportTest { public class ExportTest {
private static final String DATA_DIR_PATH = "src/test/data/wisemaps/"; private static final String DATA_DIR_PATH = "src/test/data/wisemaps/";
private static final String UTF_8 = "UTF-8";
@Test(dataProvider = "Data-Provider-Function") @Test(dataProvider = "Data-Provider-Function")
public void exportImportExportTest(@NotNull final File wisemap, @NotNull final File recFile) throws ImporterException, IOException, ExportException { public void exportImportExportTest(@NotNull final File wisemap, @NotNull final File recFile) throws ImporterException, IOException, ExportException {
@ -25,54 +27,26 @@ public class ExportTest {
final FreemindExporter freemindExporter = new FreemindExporter(); final FreemindExporter freemindExporter = new FreemindExporter();
if (recFile.exists()) { if (recFile.exists()) {
// Compare rec and file ... // Compare rec and file ...
final String recContent = FileUtils.readFileToString(recFile, "UTF-8");
// Load rec file co
final FileInputStream fis = new FileInputStream(recFile);
final InputStreamReader isr = new InputStreamReader(fis);
final BufferedReader br = new BufferedReader(isr);
final StringBuilder recContent = new StringBuilder();
String line = br.readLine();
while (line != null) {
recContent.append(line).append("\n");
line = br.readLine();
}
fis.close();
// Export mile content ... // Export mile content ...
final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final ByteArrayOutputStream bos = new ByteArrayOutputStream();
freemindExporter.export(mindmap, bos); freemindExporter.export(mindmap, bos);
final String exportContent = new String(bos.toByteArray(),"UTF-8"); final String exportContent = new String(bos.toByteArray(), UTF_8);
Assert.assertEquals(recContent.toString(), exportContent); Assert.assertEquals(recContent, exportContent);
} else { } else {
final FileOutputStream fos = new FileOutputStream(recFile); final OutputStream fos = new FileOutputStream(recFile);
freemindExporter.export(mindmap, fos); freemindExporter.export(mindmap, fos);
fos.close(); fos.close();
} }
} }
private MindMap load(@NotNull File wisemap) throws IOException { private MindMap load(@NotNull File wisemap) throws IOException {
final FileInputStream fis = new FileInputStream(wisemap); final byte[] recContent = FileUtils.readFileToByteArray(wisemap);
final InputStreamReader isr = new InputStreamReader(fis);
final BufferedReader br = new BufferedReader(isr);
final StringBuilder content = new StringBuilder();
String line = br.readLine();
while (line != null) {
content.append(line).append("\n");
line = br.readLine();
}
fis.close();
final MindMap result = new MindMap(); final MindMap result = new MindMap();
result.setXmlStr(content.toString()); result.setXml(recContent);
return result; return result;
} }

View File

@ -7,6 +7,7 @@ import com.wisemapping.importer.Importer;
import com.wisemapping.importer.ImporterException; import com.wisemapping.importer.ImporterException;
import com.wisemapping.importer.ImporterFactory; import com.wisemapping.importer.ImporterFactory;
import com.wisemapping.model.MindMap; import com.wisemapping.model.MindMap;
import org.apache.commons.io.FileUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.DataProvider; import org.testng.annotations.DataProvider;
@ -38,7 +39,8 @@ public class ImportExportTest {
// Compare mindmap output ... // Compare mindmap output ...
if (wiseFile.exists()) { if (wiseFile.exists()) {
// Compare rec and file ... // Compare rec and file ...
final String recContent = readFile(wiseFile); // Load rec file co
final String recContent = FileUtils.readFileToString(wiseFile, UTF_8);
// Export mile content ... // Export mile content ...
Assert.assertEquals(mindMap.getXmlStr(), recContent); Assert.assertEquals(mindMap.getXmlStr(), recContent);
@ -52,7 +54,8 @@ public class ImportExportTest {
// Compare freemind output ... // Compare freemind output ...
if (freeRecFile.exists()) { if (freeRecFile.exists()) {
// Compare rec and file ... // Compare rec and file ...
final String recContent = readFile(freeRecFile); // Load rec file co
final String recContent = FileUtils.readFileToString(freeRecFile, UTF_8);
// Export content ... // Export content ...
final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final ByteArrayOutputStream bos = new ByteArrayOutputStream();
@ -65,25 +68,6 @@ public class ImportExportTest {
exporter.export(mindMap, fos); exporter.export(mindMap, fos);
fos.close(); fos.close();
} }
}
private String readFile(@NotNull File file) throws IOException {
// Load rec file co
final FileInputStream fis = new FileInputStream(file);
final InputStreamReader isr = new InputStreamReader(fis, UTF_8);
final BufferedReader br = new BufferedReader(isr);
final StringBuilder result = new StringBuilder();
String line = br.readLine();
while (line != null) {
result.append(line).append("\n");
line = br.readLine();
}
fis.close();
return result.toString();
} }
//This function will provide the parameter data //This function will provide the parameter data