Skip to content
Snippets Groups Projects
Commit 5213ebf1 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

frontend for add zip projects

parent 833c71e1
No related branches found
No related tags found
2 merge requests!115Resolve "admin panel should use API",!114Resolve "admin panel should use API"
Pipeline #
Showing
with 351 additions and 368 deletions
......@@ -2,7 +2,28 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/CellDesigner-plugin/CellDesigner-plugin.iml" filepath="$PROJECT_DIR$/CellDesigner-plugin/CellDesigner-plugin.iml" />
<module fileurl="file://$PROJECT_DIR$/annotation/annotation.iml" filepath="$PROJECT_DIR$/annotation/annotation.iml" />
<module fileurl="file://$PROJECT_DIR$/commons/commons.iml" filepath="$PROJECT_DIR$/commons/commons.iml" />
<module fileurl="file://$PROJECT_DIR$/comparison/comparison.iml" filepath="$PROJECT_DIR$/comparison/comparison.iml" />
<module fileurl="file://$PROJECT_DIR$/console/console.iml" filepath="$PROJECT_DIR$/console/console.iml" />
<module fileurl="file://$PROJECT_DIR$/converter/converter.iml" filepath="$PROJECT_DIR$/converter/converter.iml" />
<module fileurl="file://$PROJECT_DIR$/converter-CellDesigner/converter-CellDesigner.iml" filepath="$PROJECT_DIR$/converter-CellDesigner/converter-CellDesigner.iml" />
<module fileurl="file://$PROJECT_DIR$/converter-SBGNML/converter-SBGNML.iml" filepath="$PROJECT_DIR$/converter-SBGNML/converter-SBGNML.iml" />
<module fileurl="file://$PROJECT_DIR$/converter-graphics/converter-graphics.iml" filepath="$PROJECT_DIR$/converter-graphics/converter-graphics.iml" />
<module fileurl="file://$PROJECT_DIR$/editor/editor.iml" filepath="$PROJECT_DIR$/editor/editor.iml" />
<module fileurl="file://$PROJECT_DIR$/frontend-js/frontend-js.iml" filepath="$PROJECT_DIR$/frontend-js/frontend-js.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/minerva.iml" filepath="$PROJECT_DIR$/.idea/minerva.iml" />
<module fileurl="file://$PROJECT_DIR$/model/model.iml" filepath="$PROJECT_DIR$/model/model.iml" />
<module fileurl="file://$PROJECT_DIR$/model-command/model-command.iml" filepath="$PROJECT_DIR$/model-command/model-command.iml" />
<module fileurl="file://$PROJECT_DIR$/parent.iml" filepath="$PROJECT_DIR$/parent.iml" />
<module fileurl="file://$PROJECT_DIR$/pathvisio/pathvisio.iml" filepath="$PROJECT_DIR$/pathvisio/pathvisio.iml" />
<module fileurl="file://$PROJECT_DIR$/persist/persist.iml" filepath="$PROJECT_DIR$/persist/persist.iml" />
<module fileurl="file://$PROJECT_DIR$/quadTrees/quadTrees.iml" filepath="$PROJECT_DIR$/quadTrees/quadTrees.iml" />
<module fileurl="file://$PROJECT_DIR$/reactome/reactome.iml" filepath="$PROJECT_DIR$/reactome/reactome.iml" />
<module fileurl="file://$PROJECT_DIR$/rest-api/rest-api.iml" filepath="$PROJECT_DIR$/rest-api/rest-api.iml" />
<module fileurl="file://$PROJECT_DIR$/service/service.iml" filepath="$PROJECT_DIR$/service/service.iml" />
<module fileurl="file://$PROJECT_DIR$/web/web.iml" filepath="$PROJECT_DIR$/web/web.iml" />
</modules>
</component>
</project>
\ No newline at end of file
......@@ -13,6 +13,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.zip.ZipFile;
import javax.imageio.ImageIO;
......@@ -90,17 +91,17 @@ public class OverviewParser {
private static final Integer BUFFER_SIZE = 1024;
/**
* String identifing {@link OverviewModelLink} connections.
* String identifying {@link OverviewModelLink} connections.
*/
private static final String MODEL_LINK_TYPE = "MODEL";
/**
* String identifing {@link OverviewImageLink} connections between images.
* String identifying {@link OverviewImageLink} connections between images.
*/
private static final String IMAGE_LINK_TYPE = "IMAGE";
/**
* String identifing {@link OverviewSearchLink} connections.
* String identifying {@link OverviewSearchLink} connections.
*/
private static final String SEARCH_LINK_TYPE = "SEARCH";
......@@ -125,7 +126,7 @@ public class OverviewParser {
* @throws InvalidOverviewFile
* thrown when the zip file contains invalid data
*/
public List<OverviewImage> parseOverviewLinks(Set<Model> models, List<ImageZipEntryFile> files, String outputDirectory) throws InvalidOverviewFile {
public List<OverviewImage> parseOverviewLinks(Set<Model> models, List<ImageZipEntryFile> files, String outputDirectory, ZipFile zipFile) throws InvalidOverviewFile {
if (outputDirectory != null) {
File f = new File(outputDirectory);
if (!f.exists()) {
......@@ -151,14 +152,14 @@ public class OverviewParser {
// copy file to file system
if (outputDirectory != null) {
imageFile = new File(outputDirectory + "/" + filename);
} else { // or temp file
} else { // or temporary file
imageFile = File.createTempFile("temp-file-name", ".png");
imageFile.deleteOnExit();
}
FileOutputStream fos = new FileOutputStream(imageFile);
byte[] bytes = new byte[BUFFER_SIZE];
int length;
InputStream is = entry.getInputStream();
InputStream is = zipFile.getInputStream(zipFile.getEntry(entry.getFilename()));
while ((length = is.read(bytes)) >= 0) {
fos.write(bytes, 0, length);
}
......@@ -175,7 +176,7 @@ public class OverviewParser {
StringBuilder sb = new StringBuilder("");
byte[] buffer = new byte[BUFFER_SIZE];
int read = 0;
InputStream is = entry.getInputStream();
InputStream is = zipFile.getInputStream(zipFile.getEntry(entry.getFilename()));
while ((read = is.read(buffer)) >= 0) {
sb.append(new String(buffer, 0, read));
}
......
......@@ -58,7 +58,7 @@ public class ProjectFactory {
if (imageEntries.size() > 0) {
OverviewParser parser = new OverviewParser();
project.addOverviewImages(parser.parseOverviewLinks(models, imageEntries, params.getVisualizationDir()));
project.addOverviewImages(parser.parseOverviewLinks(models, imageEntries, params.getVisualizationDir(), zipFile));
}
return project;
}
......
package lcsb.mapviewer.converter.zip;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
/**
......@@ -15,67 +12,31 @@ import java.io.Serializable;
*/
public class ImageZipEntryFile extends ZipEntryFile implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public ImageZipEntryFile() {
}
/**
* Default constructor.
*
* @param filename
* {@link ZipEntryFile#filename}
* @param inputStream
* input stream with the data for this entry.
* @see #baos
* @throws IOException
* thrown when there is a problem with accessing input stream
*/
public ImageZipEntryFile(String filename) {
super(filename);
}
/**
* Size of the buffer used to copy input streams.
*/
private static final int BUFFER_SIZE = 1024;
/**
* Copy of the {@link InputStream} of the file.
*/
private byte[] bytes;
/**
* Default constructor.
*/
public ImageZipEntryFile() {
}
/**
* Default constructor.
*
* @param filename
* {@link ZipEntryFile#filename}
* @param inputStream
* input stream with the data for this entry.
* @see #baos
* @throws IOException
* thrown when there is a problem with accessing input stream
*/
public ImageZipEntryFile(String filename, InputStream inputStream) throws IOException {
super(filename);
setInputStream(inputStream);
}
/**
* @return the inputStream
* @see #inputStream
*/
public InputStream getInputStream() {
return new ByteArrayInputStream(bytes);
}
/**
* @param inputStream
* the inputStream to set
* @throws IOException
* thrown when there is aproblem with accessing inputStream
* @see #inputStream
*/
public void setInputStream(InputStream inputStream) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[BUFFER_SIZE];
int len;
while ((len = inputStream.read(buffer)) > -1) {
baos.write(buffer, 0, len);
}
baos.flush();
bytes = baos.toByteArray();
}
}
......@@ -11,70 +11,72 @@ import java.io.Serializable;
*/
public class LayoutZipEntryFile extends ZipEntryFile implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Name of the layout.
*/
private String name = "";
/**
* Name of the layout.
*/
private String name = "";
/**
* Description of the layout.
*/
private String description = "";
/**
* Description of the layout.
*/
private String description = "";
/**
* Default constructor.
*/
public LayoutZipEntryFile() {
/**
* Default constructor.
*/
public LayoutZipEntryFile() {
}
}
/**
* Default constructor.
*
* @param filename
* {@link ZipEntryFile#filename}
*/
public LayoutZipEntryFile(String filename) {
super(filename);
}
/**
* Default constructor.
*
* @param filename
* {@link ZipEntryFile#filename}
*/
public LayoutZipEntryFile(String filename, String name, String description) {
super(filename);
this.name = name;
this.description = description;
}
/**
* @return the name
* @see #name
*/
public String getName() {
return name;
}
/**
* @return the name
* @see #name
*/
public String getName() {
return name;
}
/**
* @param name
* the name to set
* @see #name
*/
public void setName(String name) {
this.name = name;
}
/**
* @param name
* the name to set
* @see #name
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the description
* @see #description
*/
public String getDescription() {
return description;
}
/**
* @return the description
* @see #description
*/
public String getDescription() {
return description;
}
/**
* @param description
* the description to set
* @see #description
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @param description
* the description to set
* @see #description
*/
public void setDescription(String description) {
this.description = description;
}
}
......@@ -165,7 +165,7 @@ public class ZipEntryFileFactory {
}
return zesf;
} else if (directory.equals(IMAGES_DIRECTORY)) {
ImageZipEntryFile result = new ImageZipEntryFile(entry.getName(), zipFile.getInputStream(entry));
ImageZipEntryFile result = new ImageZipEntryFile(entry.getName());
return result;
} else if (directory.equals(LAYOUT_DIRECTORY)) {
LayoutZipEntryFile result = createLayoutZipEntryFile(entry.getName(), zipFile.getInputStream(entry));
......
......@@ -10,9 +10,12 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
......@@ -28,226 +31,237 @@ import lcsb.mapviewer.model.map.model.Model;
import lcsb.mapviewer.model.map.model.ModelFullIndexed;
public class OverviewParserTest {
Logger logger = Logger.getLogger(OverviewParserTest.class);
OverviewParser parser = new OverviewParser();
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testParsingValidFile() throws Exception {
try {
Set<Model> models = createValidTestMapModel();
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/valid_overview");
List<OverviewImage> result = parser.parseOverviewLinks(models, imageEntries, null);
assertNotNull(result);
assertEquals(1, result.size());
OverviewImage img = result.get(0);
assertEquals("test.png", img.getFilename());
assertEquals((Integer) 639, img.getHeight());
assertEquals((Integer) 963, img.getWidth());
assertEquals(2, img.getLinks().size());
OverviewLink link = img.getLinks().get(0);
List<Point2D> polygon = link.getPolygonCoordinates();
assertEquals(4, polygon.size());
assertTrue(link instanceof OverviewModelLink);
OverviewModelLink mLink = (OverviewModelLink) link;
Model mainModel = models.iterator().next();
assertEquals(mainModel.getModelData(), mLink.getLinkedModel());
assertEquals((Integer) 10, mLink.getxCoord());
assertEquals((Integer) 10, mLink.getyCoord());
assertEquals((Integer) 3, mLink.getZoomLevel());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private List<ImageZipEntryFile> createImageEntries(String string) throws IOException {
List<ImageZipEntryFile> result = new ArrayList<ImageZipEntryFile>();
for (final File fileEntry : new File(string).listFiles()) {
if (!fileEntry.isDirectory()) {
result.add(new ImageZipEntryFile(fileEntry.getName(), new FileInputStream(fileEntry)));
}
}
return result;
}
@Test
public void testParsingValidFile2() throws Exception {
try {
Set<Model> models = createValidTestMapModel();
String tmpDir = "tmp";
new File(tmpDir).mkdirs();
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/valid_overview");
List<OverviewImage> result = parser.parseOverviewLinks(models, imageEntries, tmpDir);
assertTrue(new File(tmpDir + "/test.png").exists());
assertNotNull(result);
assertEquals(1, result.size());
OverviewImage img = result.get(0);
assertEquals("test.png", img.getFilename());
new File(tmpDir).delete();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParsingInvalidFile1() throws Exception {
try {
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_1");
Set<Model> models = createValidTestMapModel();
parser.parseOverviewLinks(models, imageEntries, null);
fail("Exception expected");
} catch (InvalidOverviewFile e) {
assertTrue(e.getMessage().contains("Unknown image filename"));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParsingInvalidFile2() throws Exception {
try {
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_2");
Set<Model> models = createValidTestMapModel();
parser.parseOverviewLinks(models, imageEntries, null);
fail("Exception expected");
} catch (InvalidOverviewFile e) {
assertTrue(e.getMessage().contains("Unknown model"));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParsingInvalidFile3() throws Exception {
try {
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_3");
Set<Model> models = createValidTestMapModel();
parser.parseOverviewLinks(models, imageEntries, null);
fail("Exception expected");
} catch (InvalidOverviewFile e) {
assertTrue(e.getMessage().contains("coordinates outside image"));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private Set<Model> createValidTestMapModel() {
Set<Model> result = new HashSet<>();
Model model = new ModelFullIndexed(null);
model.setName("main");
result.add(model);
return result;
}
/**
* Test coordinates that overlap (exception is expected).
*
* @throws Exception
*/
@Test
public void testParseInvalidCoordinates() throws Exception {
try {
String invalidCoordinates = "test.png 10,10 100,10 100,100 10,10 main.xml 10,10 3\n" + //
"test.png 10,10 10,400 400,400 400,10 main.xml 10,10 4";
Set<Model> models = createValidTestMapModel();
List<OverviewImage> images = new ArrayList<OverviewImage>();
OverviewImage oi = new OverviewImage();
oi.setFilename("test.png");
oi.setWidth(1000);
oi.setHeight(1000);
images.add(oi);
parser.processCoordinates(models, images, invalidCoordinates);
fail("Exception expected");
} catch (InvalidOverviewFile e) {
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParseValidCoordinates() throws Exception {
try {
String invalidCoordinates = "FILE POLYGON LINK_TARGET MODEL_COORDINATES MODEL_ZOOM_LEVEL LINK_TYPE\n" + //
"test.png 10,10 100,10 100,100 10,10 main.xml 10,10 3 MODEL\n" + //
"test.png 200,200 200,400 400,400 400,200 main.xml 10,10 4 MODEL";
Set<Model> models = createValidTestMapModel();
List<OverviewImage> images = new ArrayList<OverviewImage>();
OverviewImage oi = new OverviewImage();
oi.setFilename("test.png");
oi.setWidth(1000);
oi.setHeight(1000);
images.add(oi);
parser.processCoordinates(models, images, invalidCoordinates);
assertEquals(2, oi.getLinks().size());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParseValidComplexCoordinates() throws Exception {
try {
String invalidCoordinates = FileUtils.readFileToString(new File("testFiles/coordinates.txt"));
Set<Model> models = createValidTestMapModel();
List<OverviewImage> images = new ArrayList<>();
OverviewImage oi = new OverviewImage();
oi.setFilename("test.png");
oi.setWidth(1000);
oi.setHeight(1000);
images.add(oi);
OverviewImage oi2 = new OverviewImage();
oi2.setFilename("test2.png");
oi2.setWidth(1000);
oi2.setHeight(1000);
images.add(oi2);
parser.processCoordinates(models, images, invalidCoordinates);
assertEquals(2, oi.getLinks().size());
assertEquals(1, oi2.getLinks().size());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private static final String TEST_FILES_VALID_OVERVIEW_ZIP = "testFiles/valid_overview.zip";
Logger logger = Logger.getLogger(OverviewParserTest.class);
OverviewParser parser = new OverviewParser();
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testParsingValidFile() throws Exception {
try {
Set<Model> models = createValidTestMapModel();
List<ImageZipEntryFile> imageEntries = createImageEntries(TEST_FILES_VALID_OVERVIEW_ZIP);
List<OverviewImage> result = parser.parseOverviewLinks(models, imageEntries, null,
new ZipFile(TEST_FILES_VALID_OVERVIEW_ZIP));
assertNotNull(result);
assertEquals(1, result.size());
OverviewImage img = result.get(0);
assertEquals("test.png", img.getFilename());
assertEquals((Integer) 639, img.getHeight());
assertEquals((Integer) 963, img.getWidth());
assertEquals(2, img.getLinks().size());
OverviewLink link = img.getLinks().get(0);
List<Point2D> polygon = link.getPolygonCoordinates();
assertEquals(4, polygon.size());
assertTrue(link instanceof OverviewModelLink);
OverviewModelLink mLink = (OverviewModelLink) link;
Model mainModel = models.iterator().next();
assertEquals(mainModel.getModelData(), mLink.getLinkedModel());
assertEquals((Integer) 10, mLink.getxCoord());
assertEquals((Integer) 10, mLink.getyCoord());
assertEquals((Integer) 3, mLink.getZoomLevel());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private List<ImageZipEntryFile> createImageEntries(String string) throws IOException {
List<ImageZipEntryFile> result = new ArrayList<>();
ZipFile zipFile = new ZipFile(string);
try {
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
if (!entry.isDirectory()) {
result.add(new ImageZipEntryFile(entry.getName()));
}
}
return result;
} finally {
zipFile.close();
}
}
@Test
public void testParsingValidFile2() throws Exception {
try {
Set<Model> models = createValidTestMapModel();
String tmpDir = "tmp";
new File(tmpDir).mkdirs();
List<ImageZipEntryFile> imageEntries = createImageEntries(TEST_FILES_VALID_OVERVIEW_ZIP);
List<OverviewImage> result = parser.parseOverviewLinks(models, imageEntries, tmpDir,
new ZipFile(TEST_FILES_VALID_OVERVIEW_ZIP));
assertTrue(new File(tmpDir + "/test.png").exists());
assertNotNull(result);
assertEquals(1, result.size());
OverviewImage img = result.get(0);
assertEquals("test.png", img.getFilename());
new File(tmpDir).delete();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParsingInvalidFile1() throws Exception {
try {
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_1.zip");
Set<Model> models = createValidTestMapModel();
parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/invalid_overview_1.zip"));
fail("Exception expected");
} catch (InvalidOverviewFile e) {
assertTrue(e.getMessage().contains("Unknown image filename"));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParsingInvalidFile2() throws Exception {
try {
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_2.zip");
Set<Model> models = createValidTestMapModel();
parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/invalid_overview_2.zip"));
fail("Exception expected");
} catch (InvalidOverviewFile e) {
assertTrue(e.getMessage().contains("Unknown model"));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParsingInvalidFile3() throws Exception {
try {
List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_3.zip");
Set<Model> models = createValidTestMapModel();
parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/invalid_overview_3.zip"));
fail("Exception expected");
} catch (InvalidOverviewFile e) {
assertTrue(e.getMessage().contains("coordinates outside image"));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
private Set<Model> createValidTestMapModel() {
Set<Model> result = new HashSet<>();
Model model = new ModelFullIndexed(null);
model.setName("main");
result.add(model);
return result;
}
/**
* Test coordinates that overlap (exception is expected).
*
* @throws Exception
*/
@Test
public void testParseInvalidCoordinates() throws Exception {
try {
String invalidCoordinates = "test.png 10,10 100,10 100,100 10,10 main.xml 10,10 3\n" + //
"test.png 10,10 10,400 400,400 400,10 main.xml 10,10 4";
Set<Model> models = createValidTestMapModel();
List<OverviewImage> images = new ArrayList<OverviewImage>();
OverviewImage oi = new OverviewImage();
oi.setFilename("test.png");
oi.setWidth(1000);
oi.setHeight(1000);
images.add(oi);
parser.processCoordinates(models, images, invalidCoordinates);
fail("Exception expected");
} catch (InvalidOverviewFile e) {
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParseValidCoordinates() throws Exception {
try {
String invalidCoordinates = "FILE POLYGON LINK_TARGET MODEL_COORDINATES MODEL_ZOOM_LEVEL LINK_TYPE\n" + //
"test.png 10,10 100,10 100,100 10,10 main.xml 10,10 3 MODEL\n" + //
"test.png 200,200 200,400 400,400 400,200 main.xml 10,10 4 MODEL";
Set<Model> models = createValidTestMapModel();
List<OverviewImage> images = new ArrayList<OverviewImage>();
OverviewImage oi = new OverviewImage();
oi.setFilename("test.png");
oi.setWidth(1000);
oi.setHeight(1000);
images.add(oi);
parser.processCoordinates(models, images, invalidCoordinates);
assertEquals(2, oi.getLinks().size());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void testParseValidComplexCoordinates() throws Exception {
try {
String invalidCoordinates = FileUtils.readFileToString(new File("testFiles/coordinates.txt"));
Set<Model> models = createValidTestMapModel();
List<OverviewImage> images = new ArrayList<>();
OverviewImage oi = new OverviewImage();
oi.setFilename("test.png");
oi.setWidth(1000);
oi.setHeight(1000);
images.add(oi);
OverviewImage oi2 = new OverviewImage();
oi2.setFilename("test2.png");
oi2.setWidth(1000);
oi2.setHeight(1000);
images.add(oi2);
parser.processCoordinates(models, images, invalidCoordinates);
assertEquals(2, oi.getLinks().size());
assertEquals(1, oi2.getLinks().size());
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
}
#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
log4j.rootLogger=info, CONSOLE, R
log4j.rootLogger=info, CONSOLE
#Set the behavior of the CONSOLE appender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
......
File added
FILE POLYGON LINK_TARGET MODEL_COORDINATES MODEL_ZOOM_LEVEL LINK_TYPE
unknowntest.png 10,10 100,10 100,100 100,10 main.xml 10,10 3 MODEL
test.png 200,200 200,400 400,400 400,200 main.xml 1000,1000 4 MODEL
converter/testFiles/invalid_overview_1/test.png

10.5 KiB

File added
FILE POLYGON LINK_TARGET MODEL_COORDINATES MODEL_ZOOM_LEVEL LINK_TYPE
test.png 10,10 100,10 100,100 100,10 unknown_main.xml 10,10 3 MODEL
test.png 200,200 200,400 400,400 400,200 main.xml 1000,1000 4 MODEL
converter/testFiles/invalid_overview_2/test.png

10.5 KiB

File added
FILE POLYGON LINK_TARGET MODEL_COORDINATES MODEL_ZOOM_LEVEL LINK_TYPE
test.png 10,10 100,10 100,100 10000,10 main.xml 10,10 3 MODEL
test.png 200,200 200,400 400,400 400,200 main.xml 1000,1000 4 MODEL
converter/testFiles/invalid_overview_3/test.png

10.5 KiB

File added
FILE POLYGON LINK_TARGET MODEL_COORDINATES MODEL_ZOOM_LEVEL LINK_TYPE
test.png 10,10 100,10 100,100 100,10 main.xml 10,10 3 MODEL
test.png 200,200 200,400 400,400 400,200 main.xml 1000,1000 4 MODEL
converter/testFiles/valid_overview/test.png

10.5 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment