You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(103) |
Jun
(121) |
Jul
(16) |
Aug
(67) |
Sep
(126) |
Oct
(161) |
Nov
(164) |
Dec
(588) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(394) |
Feb
(181) |
Mar
(131) |
Apr
(180) |
May
(255) |
Jun
(11) |
Jul
(79) |
Aug
(70) |
Sep
(274) |
Oct
(138) |
Nov
(195) |
Dec
(8) |
2008 |
Jan
(3) |
Feb
(142) |
Mar
(162) |
Apr
(124) |
May
(148) |
Jun
(157) |
Jul
(425) |
Aug
(373) |
Sep
(264) |
Oct
(315) |
Nov
(225) |
Dec
(6) |
2009 |
Jan
(67) |
Feb
(78) |
Mar
(279) |
Apr
(294) |
May
(92) |
Jun
(65) |
Jul
(134) |
Aug
(41) |
Sep
(138) |
Oct
(125) |
Nov
(126) |
Dec
(122) |
2010 |
Jan
(15) |
Feb
(48) |
Mar
(9) |
Apr
(195) |
May
(373) |
Jun
(507) |
Jul
(42) |
Aug
(16) |
Sep
(38) |
Oct
(81) |
Nov
(64) |
Dec
(18) |
2011 |
Jan
(13) |
Feb
(12) |
Mar
(39) |
Apr
(1) |
May
(2) |
Jun
(27) |
Jul
(27) |
Aug
(31) |
Sep
(14) |
Oct
(102) |
Nov
(20) |
Dec
(37) |
2012 |
Jan
(22) |
Feb
(1) |
Mar
(1) |
Apr
(2) |
May
(2) |
Jun
(18) |
Jul
(6) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
(47) |
Jun
(7) |
Jul
(107) |
Aug
|
Sep
|
Oct
(112) |
Nov
(31) |
Dec
(17) |
2014 |
Jan
(29) |
Feb
(111) |
Mar
(34) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(18) |
Dec
(10) |
From: <aki...@us...> - 2014-02-18 20:52:14
|
Revision: 9585 http://sourceforge.net/p/gridarta/code/9585 Author: akirschbaum Date: 2014-02-18 20:52:07 +0000 (Tue, 18 Feb 2014) Log Message: ----------- Do not create excess DefaultMapManager instances during tests. Modified Paths: -------------- trunk/src/gridarta/src/test/java/net/sf/gridarta/actions/UndoActionsTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java Modified: trunk/src/gridarta/src/test/java/net/sf/gridarta/actions/UndoActionsTest.java =================================================================== --- trunk/src/gridarta/src/test/java/net/sf/gridarta/actions/UndoActionsTest.java 2014-02-18 19:02:35 UTC (rev 9584) +++ trunk/src/gridarta/src/test/java/net/sf/gridarta/actions/UndoActionsTest.java 2014-02-18 20:52:07 UTC (rev 9585) @@ -31,7 +31,6 @@ import net.sf.gridarta.model.maparchobject.TestMapArchObject; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapcontrol.TestMapControlCreator; -import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.CannotInsertGameObjectException; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapSquare; @@ -69,12 +68,11 @@ } autojoinListsHelper.newAutojoinLists("a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "a10", "a11", "a12", "a13", "a14", "a15"); - final MapManager<TestGameObject, TestMapArchObject, TestArchetype> mapManager = mapControlCreator.newMapManager(); - final UndoControl<TestGameObject, TestMapArchObject, TestArchetype> undoControl = new UndoControl<TestGameObject, TestMapArchObject, TestArchetype>(mapManager, mapModelCreator.getGameObjectFactory(), mapModelCreator.getGameObjectMatchers()); + final UndoControl<TestGameObject, TestMapArchObject, TestArchetype> undoControl = new UndoControl<TestGameObject, TestMapArchObject, TestArchetype>(mapControlCreator.getMapManager(), mapModelCreator.getGameObjectFactory(), mapModelCreator.getGameObjectMatchers()); final TestMapArchObject mapArchObject = new TestMapArchObject(); mapArchObject.setMapSize(new Size2D(2, 1)); - final MapControl<TestGameObject, TestMapArchObject, TestArchetype> mapControl = mapManager.newMap(null, mapArchObject, null, true); + final MapControl<TestGameObject, TestMapArchObject, TestArchetype> mapControl = mapControlCreator.getMapManager().newMap(null, mapArchObject, null, true); final MapModel<TestGameObject, TestMapArchObject, TestArchetype> mapModel = mapControl.getMapModel(); final TestMapModelHelper testMapModelHelper = mapModelCreator.newTestMapModelHelper(); Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java 2014-02-18 19:02:35 UTC (rev 9584) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java 2014-02-18 20:52:07 UTC (rev 9585) @@ -27,7 +27,6 @@ import net.sf.gridarta.model.gameobject.TestGameObject; import net.sf.gridarta.model.maparchobject.TestMapArchObject; import net.sf.gridarta.model.mapcontrol.TestMapControlCreator; -import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.settings.ProjectSettings; import org.jetbrains.annotations.NotNull; @@ -48,12 +47,11 @@ @Test public void test1() throws InterruptedException, IOException { final TestMapControlCreator mapControlCreator = new TestMapControlCreator(); - final MapManager<TestGameObject, TestMapArchObject, TestArchetype> mapManager = mapControlCreator.newMapManager(); final ProjectSettings projectSettings = mapControlCreator.getProjectSettings(); final File mapsDirectory = mapControlCreator.createMapsDirectory("map1:Map1", "path/map2:Map Name2"); try { final MapsIndex index = new MapsIndex(); - final MapsIndexer<TestGameObject, TestMapArchObject, TestArchetype> indexer = new MapsIndexer<TestGameObject, TestMapArchObject, TestArchetype>(index, mapManager, projectSettings); + final MapsIndexer<TestGameObject, TestMapArchObject, TestArchetype> indexer = new MapsIndexer<TestGameObject, TestMapArchObject, TestArchetype>(index, mapControlCreator.getMapManager(), projectSettings); indexer.start(); indexer.waitForIdle(); indexer.stop(); Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java 2014-02-18 19:02:35 UTC (rev 9584) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java 2014-02-18 20:52:07 UTC (rev 9585) @@ -104,12 +104,6 @@ private final GameObjectParser<TestGameObject, TestMapArchObject, TestArchetype> gameObjectParser; /** - * The {@link MapReaderFactory} instance. - */ - @NotNull - private final MapReaderFactory<TestGameObject, TestMapArchObject> mapReaderFactory; - - /** * The {@link ProjectSettings} instance. */ @NotNull @@ -128,12 +122,6 @@ private final MapModelFactory<TestGameObject, TestMapArchObject, TestArchetype> mapModelFactory; /** - * The {@link MapControlFactory} instance. - */ - @NotNull - private final MapControlFactory<TestGameObject, TestMapArchObject, TestArchetype> mapControlFactory; - - /** * The {@link TestMapModelCreator} instance. */ @NotNull @@ -153,13 +141,13 @@ exitMatcher = new ExitMatcher<TestGameObject, TestMapArchObject, TestArchetype>(exitGameObjectMatcher); mapArchObjectParserFactory = new TestMapArchObjectParserFactory(); gameObjectParser = mapModelCreator.newGameObjectParser(); - mapReaderFactory = new TestMapReaderFactory(mapArchObjectParserFactory, mapArchObjectFactory, gameObjectParser); + final MapReaderFactory<TestGameObject, TestMapArchObject> mapReaderFactory = new TestMapReaderFactory(mapArchObjectParserFactory, mapArchObjectFactory, gameObjectParser); projectSettings = new TestProjectSettings(); mapWriter = new DefaultMapWriter<TestGameObject, TestMapArchObject, TestArchetype>(mapArchObjectParserFactory, gameObjectParser); final ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype> archetypeChooserModel = new ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype>(); pathManager = new PathManager(projectSettings); mapModelFactory = new MapModelFactory<TestGameObject, TestMapArchObject, TestArchetype>(archetypeChooserModel, mapModelCreator.getAutojoinLists(), mapModelCreator.getGameObjectFactory(), mapModelCreator.getGameObjectMatchers(), mapModelCreator.getTopmostInsertionMode()); - mapControlFactory = new TestMapControlFactory(mapWriter, projectSettings, mapModelFactory); + final MapControlFactory<TestGameObject, TestMapArchObject, TestArchetype> mapControlFactory = new TestMapControlFactory(mapWriter, projectSettings, mapModelFactory); final AbstractMapManager<TestGameObject, TestMapArchObject, TestArchetype> tmpMapManager = new DefaultMapManager<TestGameObject, TestMapArchObject, TestArchetype>(mapReaderFactory, mapControlFactory, projectSettings, mapModelCreator.getFaceObjectProviders(), pathManager); final FileControl<TestGameObject, TestMapArchObject, TestArchetype> fileControl = new TestFileControl(); tmpMapManager.setFileControl(fileControl); @@ -265,15 +253,6 @@ } /** - * Returns a new {@link MapManager} instance. - * @return the map manager instance - */ - @NotNull - public MapManager<TestGameObject, TestMapArchObject, TestArchetype> newMapManager() { - return new DefaultMapManager<TestGameObject, TestMapArchObject, TestArchetype>(mapReaderFactory, mapControlFactory, projectSettings, mapModelCreator.getFaceObjectProviders(), pathManager); - } - - /** * Returns the {@link MapArchObjectFactory} instance. * @return the test map arch object factory instance */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-18 19:02:39
|
Revision: 9584 http://sourceforge.net/p/gridarta/code/9584 Author: akirschbaum Date: 2014-02-18 19:02:35 +0000 (Tue, 18 Feb 2014) Log Message: ----------- Add nullable annotation. Modified Paths: -------------- trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java 2014-02-18 18:43:26 UTC (rev 9583) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java 2014-02-18 19:02:35 UTC (rev 9584) @@ -150,6 +150,7 @@ * The {@link MapManagerListener} attached to {@link #mapManager} to detect * current map changes. */ + @NotNull private final MapManagerListener<G, A, R> mapManagerListener = new MapManagerListener<G, A, R>() { @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-18 18:43:35
|
Revision: 9583 http://sourceforge.net/p/gridarta/code/9583 Author: akirschbaum Date: 2014-02-18 18:43:26 +0000 (Tue, 18 Feb 2014) Log Message: ----------- Move code from MapsIndexerTest to TestMapControlCreator. Modified Paths: -------------- trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java 2014-02-18 06:53:11 UTC (rev 9582) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java 2014-02-18 18:43:26 UTC (rev 9583) @@ -26,15 +26,11 @@ import net.sf.gridarta.model.archetype.TestArchetype; import net.sf.gridarta.model.gameobject.TestGameObject; import net.sf.gridarta.model.maparchobject.TestMapArchObject; -import net.sf.gridarta.model.mapcontrol.DefaultMapControl; import net.sf.gridarta.model.mapcontrol.TestMapControlCreator; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapFile; -import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.settings.ProjectSettings; -import net.sf.gridarta.utils.StringUtils; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.junit.Assert; import org.junit.Test; @@ -54,10 +50,9 @@ final TestMapControlCreator mapControlCreator = new TestMapControlCreator(); final MapManager<TestGameObject, TestMapArchObject, TestArchetype> mapManager = mapControlCreator.newMapManager(); final ProjectSettings projectSettings = mapControlCreator.getProjectSettings(); - final File mapsDirectory = createMapsDirectory(mapControlCreator, projectSettings, "map1:Map1", "path/map2:Map Name2"); + final File mapsDirectory = mapControlCreator.createMapsDirectory("map1:Map1", "path/map2:Map Name2"); try { final MapsIndex index = new MapsIndex(); - projectSettings.setMapsDirectory(mapsDirectory); final MapsIndexer<TestGameObject, TestMapArchObject, TestArchetype> indexer = new MapsIndexer<TestGameObject, TestMapArchObject, TestArchetype>(index, mapManager, projectSettings); indexer.start(); indexer.waitForIdle(); @@ -66,7 +61,7 @@ assertEquals(index.findPartialName("Map1"), mapsDirectory, "map1"); assertEquals(index.findPartialName("Map Name2"), mapsDirectory, "path/map2"); } finally { - deleteTempDir(mapsDirectory); + TestMapControlCreator.deleteTempDir(mapsDirectory); } } @@ -86,97 +81,4 @@ Assert.assertEquals(mapPath, mapFile.getMapPath().getPath()); } - /** - * Creates a maps directory consisting of a set of maps. Each "spec" value - * describes a map to create. Its format is "<map path>:<map name>", for - * example "path/to/map:Name of Map". - * @param mapControlCreator the map control creator for creating the maps - * @param projectSettings the project settings to use - * @param specs the maps to create - * @return the maps directory - * @throws IOException if the maps directory could not be created - */ - @NotNull - private static File createMapsDirectory(@NotNull final TestMapControlCreator mapControlCreator, @NotNull final ProjectSettings projectSettings, @NotNull final String... specs) throws IOException { - final File mapsDirectory = createTempDir("gridarta"); - @Nullable File directoryToDelete = mapsDirectory; - try { - for (final String spec : specs) { - final String[] tmp = StringUtils.PATTERN_COLON.split(spec, 2); - if (tmp.length != 2) { - throw new IllegalArgumentException(); - } - - final File mapFile = new File(mapsDirectory, tmp[0]); - final String mapName = tmp[1]; - - if (!mapFile.getParentFile().exists() && !mapFile.getParentFile().mkdirs()) { - throw new IOException("cannot create directory: " + mapFile.getParentFile()); - } - - final MapModel<TestGameObject, TestMapArchObject, TestArchetype> mapModel = mapControlCreator.getMapModelCreator().newMapModel(5, 5); - final DefaultMapControl<TestGameObject, TestMapArchObject, TestArchetype> mapControl = new DefaultMapControl<TestGameObject, TestMapArchObject, TestArchetype>(mapModel, false, mapControlCreator.getMapWriter(), projectSettings); - mapControl.getMapModel().getMapArchObject().setMapName(mapName); - mapControl.saveAs(mapFile); - } - directoryToDelete = null; - } finally { - if (directoryToDelete != null) { - deleteTempDir(directoryToDelete); - } - } - return mapsDirectory; - } - - /** - * Creates an empty directory in the default temporary directory using the - * given prefix. - * @param prefix the prefix string to be used in generating the directory's - * name; must be at least three characters long. - * @return a newly-created empty directory - * @throws IOException if no directory could be created - */ - @NotNull - private static File createTempDir(@NotNull final String prefix) throws IOException { - final String tmpDir = System.getProperty("java.io.tmpdir"); - if (tmpDir == null) { - throw new IOException("the system property 'java.io.tmpdir' does not exist"); - } - - final File tmpFile = new File(tmpDir); - if (!tmpFile.exists() && !tmpFile.mkdirs()) { - throw new IOException("cannot create temporary directory " + tmpFile); - } - - final File result = File.createTempFile(prefix, null); - if (!result.delete()) { - throw new IOException("cannot delete temporary file " + result); - } - if (!result.mkdir()) { - throw new IOException("cannot create temporary directory " + result); - } - - return result; - } - - /** - * Deletes a temporary directory. - * @param dir the directory - */ - private static void deleteTempDir(final File dir) { - final File[] files = dir.listFiles(); - if (files != null) { - for (final File file : files) { - if (file.isDirectory()) { - deleteTempDir(file); - } else if (!file.delete()) { - Assert.fail("cannot delete file " + file); - } - } - } - if (!dir.delete()) { - Assert.fail("cannot delete directory " + dir); - } - } - } Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java 2014-02-18 06:53:11 UTC (rev 9582) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java 2014-02-18 18:43:26 UTC (rev 9583) @@ -47,6 +47,7 @@ import net.sf.gridarta.model.mapmanager.TestFileControl; import net.sf.gridarta.model.mapmodel.InsertionModeSet; import net.sf.gridarta.model.mapmodel.MapFile; +import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapModelFactory; import net.sf.gridarta.model.mapmodel.TestMapModelCreator; import net.sf.gridarta.model.mapmodel.TestMapModelHelper; @@ -55,8 +56,10 @@ import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.model.settings.TestProjectSettings; import net.sf.gridarta.utils.Size2D; +import net.sf.gridarta.utils.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.junit.Assert; /** * Helper class for creating {@link MapControl} instances for regression tests. @@ -317,4 +320,106 @@ return new DefaultMapReader<TestGameObject, TestMapArchObject, TestArchetype>(mapArchObjectParserFactory, mapArchObjectFactory, gameObjectParser, mapFile); } + /** + * Creates a maps directory consisting of a set of maps. Each "spec" value + * describes a map to create. Its format is "<map path>:<map name>", for + * example "path/to/map:Name of Map". Also updates the {@link + * ProjectSettings} maps directory. + * @param specs the maps to create + * @return the maps directory + * @throws IOException if the maps directory could not be created + */ + @NotNull + public File createMapsDirectory(@NotNull final String... specs) throws IOException { + final File mapsDirectory = createTempDir("gridarta"); + projectSettings.setMapsDirectory(mapsDirectory); + @Nullable File directoryToDelete = mapsDirectory; + try { + createMaps(specs); + directoryToDelete = null; + } finally { + if (directoryToDelete != null) { + deleteTempDir(directoryToDelete); + } + } + return mapsDirectory; + } + + /** + * Creates a set of map files in the maps directory. + * @param specs the maps to create + * @throws IOException if a map cannot be created + */ + private void createMaps(@NotNull final String[] specs) throws IOException { + for (final String spec : specs) { + final String[] tmp = StringUtils.PATTERN_COLON.split(spec, 2); + if (tmp.length != 2) { + throw new IllegalArgumentException(); + } + + final File mapFile = new File(projectSettings.getMapsDirectory(), tmp[0]); + final String mapName = tmp[1]; + + if (!mapFile.getParentFile().exists() && !mapFile.getParentFile().mkdirs()) { + throw new IOException("cannot create directory: " + mapFile.getParentFile()); + } + + final MapModel<TestGameObject, TestMapArchObject, TestArchetype> mapModel = mapModelCreator.newMapModel(5, 5); + final DefaultMapControl<TestGameObject, TestMapArchObject, TestArchetype> mapControl = new DefaultMapControl<TestGameObject, TestMapArchObject, TestArchetype>(mapModel, false, mapWriter, projectSettings); + mapControl.getMapModel().getMapArchObject().setMapName(mapName); + mapControl.saveAs(mapFile); + } + } + + /** + * Creates an empty directory in the default temporary directory using the + * given prefix. + * @param prefix the prefix string to be used in generating the directory's + * name; must be at least three characters long. + * @return a newly-created empty directory + * @throws IOException if no directory could be created + */ + @NotNull + private static File createTempDir(@NotNull final String prefix) throws IOException { + final String tmpDir = System.getProperty("java.io.tmpdir"); + if (tmpDir == null) { + throw new IOException("the system property 'java.io.tmpdir' does not exist"); + } + + final File tmpFile = new File(tmpDir); + if (!tmpFile.exists() && !tmpFile.mkdirs()) { + throw new IOException("cannot create temporary directory " + tmpFile); + } + + final File result = File.createTempFile(prefix, null); + if (!result.delete()) { + throw new IOException("cannot delete temporary file " + result); + } + if (!result.mkdir()) { + throw new IOException("cannot create temporary directory " + result); + } + + return result; + } + + /** + * Deletes a temporary directory. + * @param dir the directory + */ + public static void deleteTempDir(@NotNull final File dir) { + final File[] files = dir.listFiles(); + if (files != null) { + for (final File file : files) { + if (file.isDirectory()) { + deleteTempDir(file); + } else if (!file.delete()) { + Assert.fail("cannot delete file " + file); + } + } + } + if (!dir.delete()) { + Assert.fail("cannot delete directory " + dir); + } + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-18 06:53:17
|
Revision: 9582 http://sourceforge.net/p/gridarta/code/9582 Author: akirschbaum Date: 2014-02-18 06:53:11 +0000 (Tue, 18 Feb 2014) Log Message: ----------- Do not create multiple ProjectSettings instances in tests. Modified Paths: -------------- trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuManagerTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java Modified: trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuManagerTest.java =================================================================== --- trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuManagerTest.java 2014-02-17 20:49:34 UTC (rev 9581) +++ trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuManagerTest.java 2014-02-18 06:53:11 UTC (rev 9582) @@ -29,7 +29,6 @@ import net.sf.gridarta.model.maparchobject.TestMapArchObject; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapcontrol.TestMapControlCreator; -import net.sf.gridarta.model.settings.TestProjectSettings; import net.sf.gridarta.utils.Size2D; import org.junit.Assert; import org.junit.Test; @@ -54,7 +53,7 @@ final TestMapControlCreator testMapControlCreator = new TestMapControlCreator(); final File file = File.createTempFile("gridarta", null); - final MapMenuPreferences mapMenuPreferences = new TestMapMenuPreferences(new PathManager(new TestProjectSettings())); + final MapMenuPreferences mapMenuPreferences = new TestMapMenuPreferences(new PathManager(testMapControlCreator.getProjectSettings())); try { final PathManager pathManager = testMapControlCreator.getPathManager(); final MapControl<TestGameObject, TestMapArchObject, TestArchetype> mapControl1 = testMapControlCreator.newMapControl(pathManager.getMapFile(file), "name1", new Size2D(1, 1)); Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java 2014-02-17 20:49:34 UTC (rev 9581) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java 2014-02-18 06:53:11 UTC (rev 9582) @@ -32,7 +32,6 @@ import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.settings.ProjectSettings; -import net.sf.gridarta.model.settings.TestProjectSettings; import net.sf.gridarta.utils.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -52,9 +51,9 @@ */ @Test public void test1() throws InterruptedException, IOException { - final ProjectSettings projectSettings = new TestProjectSettings(); final TestMapControlCreator mapControlCreator = new TestMapControlCreator(); final MapManager<TestGameObject, TestMapArchObject, TestArchetype> mapManager = mapControlCreator.newMapManager(); + final ProjectSettings projectSettings = mapControlCreator.getProjectSettings(); final File mapsDirectory = createMapsDirectory(mapControlCreator, projectSettings, "map1:Map1", "path/map2:Map Name2"); try { final MapsIndex index = new MapsIndex(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-17 20:49:39
|
Revision: 9581 http://sourceforge.net/p/gridarta/code/9581 Author: akirschbaum Date: 2014-02-17 20:49:34 +0000 (Mon, 17 Feb 2014) Log Message: ----------- Split MapPath into AbsoluteMapPath and RelativeMapPath. Modified Paths: -------------- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapFile.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPathUtils.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathUtilsTest.java Added Paths: ----------- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/AbsoluteMapPath.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/RelativeMapPath.java Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -21,6 +21,7 @@ import net.sf.gridarta.model.maplocation.MapLocation; import net.sf.gridarta.model.maplocation.NoExitPathException; +import net.sf.gridarta.model.mapmodel.AbsoluteMapPath; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapPath; import net.sf.gridarta.model.mapmodel.MapSquare; @@ -86,7 +87,7 @@ } catch (final NoExitPathException ignored) { return; // unset exit path => skip } - if (exitPath.isAbsolute()) { + if (exitPath instanceof AbsoluteMapPath) { return; // absolute exit path => ok } Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -21,6 +21,7 @@ import java.awt.Point; import net.sf.gridarta.model.baseobject.BaseObject; +import net.sf.gridarta.model.mapmodel.AbsoluteMapPath; import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapPath; import org.jetbrains.annotations.NotNull; @@ -90,7 +91,7 @@ // unsaved source map => absolute reference mapPath = targetMapPath; } else { - final MapPath sourceMapPath = sourceMapFile.getMapPath(); + final AbsoluteMapPath sourceMapPath = sourceMapFile.getMapPath(); final String sourceMapComponent = sourceMapPath.getMapComponent(); final String targetMapComponent = targetMapPath.getMapComponent(); if (sourceMapComponent == null ? targetMapComponent == null : sourceMapComponent.equals(targetMapComponent)) { Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -24,6 +24,7 @@ import net.sf.gridarta.model.baseobject.Attributes; import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.gameobject.GameObject; +import net.sf.gridarta.model.mapmodel.AbsoluteMapPath; import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapPath; @@ -92,20 +93,20 @@ @NotNull public static MapLocation newAbsoluteMapLocation(@NotNull final GameObject<?, ?, ?> gameObject, final boolean allowRandomMapParameters) throws NoExitPathException { final MapPath mapPath = getMapPath(gameObject, allowRandomMapParameters); - final MapPath baseMapPath; + final AbsoluteMapPath baseMapPath; final MapSquare<?, ?, ?> mapSquare = gameObject.getMapSquare(); if (mapSquare == null) { - baseMapPath = new MapPath(true); + baseMapPath = new AbsoluteMapPath(); } else { final MapModel<?, ?, ?> mapModel = mapSquare.getMapModel(); final MapFile mapFile = mapModel.getMapFile(); if (mapFile == null) { - baseMapPath = new MapPath(true); + baseMapPath = new AbsoluteMapPath(); } else { baseMapPath = mapFile.getMapPath(); } } - final MapPath canonicalMapPath = MapPathUtils.append(baseMapPath, mapPath); + final AbsoluteMapPath canonicalMapPath = MapPathUtils.append(baseMapPath, mapPath); final int mapX = getMapX(gameObject); final int mapY = getMapY(gameObject); return new MapLocation(canonicalMapPath, mapX, mapY); @@ -235,7 +236,7 @@ @Override @SuppressWarnings("CompareToUsesNonFinalVariable") public int compareTo(@NotNull final MapLocation o) { - final int cmp = mapPath.compareTo(o.mapPath); + final int cmp = mapPath.toString().compareTo(o.mapPath.toString()); if (cmp != 0) { return cmp; } Copied: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/AbsoluteMapPath.java (from rev 9580, trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java) =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/AbsoluteMapPath.java (rev 0) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/AbsoluteMapPath.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -0,0 +1,161 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2011 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.mapmodel; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * A {@link MapPath} that is absolute, that is, it starts with a "/". + * @author Andreas Kirschbaum + */ +public class AbsoluteMapPath implements Comparable<AbsoluteMapPath>, MapPath { + + /** + * The serial versionUID,. + */ + private static final long serialVersionUID = 1L; + + /** + * The map path information. It does not include a leading "/" for absolute + * paths. + */ + @NotNull + private final String path; + + /** + * Creates a new instance. + */ + public AbsoluteMapPath() { + path = ""; + } + + /** + * Creates a new map path based on a parent map path. + * @param parent the parent map path + * @param name the name of the child; "." or ".." are allowed + */ + public AbsoluteMapPath(@NotNull final AbsoluteMapPath parent, @NotNull final String name) { + if (name.isEmpty()) { + throw new IllegalArgumentException("map file is empty"); + } + if (name.contains("/")) { + throw new IllegalArgumentException("map file contains '/': " + name); + } + if (name.equals(".")) { + path = parent.path; + } else if (name.equals("..")) { + if (parent.path.isEmpty()) { + path = ""; + } else if (parent.path.endsWith("/..") || parent.path.equals("..")) { + path = parent.path + "/.."; + } else { + final int index = parent.path.lastIndexOf('/'); + if (index == -1) { + path = ""; + } else { + path = parent.path.substring(0, index); + } + } + } else { + if (parent.path.isEmpty()) { + path = name; + } else { + path = parent.path + "/" + name; + } + } + } + + /** + * {@inheritDoc} + */ + @NotNull + @Override + public String getPath() { + return path; + } + + /** + * Returns a map path of an another map path relative to this map path. + * @param mapPath the other map path + * @return the relative map path from this map path to the other map path + */ + @NotNull + public RelativeMapPath getRelativeMapPathTo(@NotNull final MapPath mapPath) { + if (mapPath instanceof RelativeMapPath) { + return (RelativeMapPath) mapPath; + } + if (mapPath instanceof AbsoluteMapPath) { + return new RelativeMapPath(this, (AbsoluteMapPath) mapPath); + } + throw new AssertionError(); + } + + /** + * {@inheritDoc} + */ + @Nullable + @Override + public String getMapComponent() { + final int index = path.indexOf('/', 1); + if (index == -1) { + return null; + } + + return path.substring(0, index); + } + + /** + * {@inheritDoc} + */ + @Override + public int compareTo(@NotNull final AbsoluteMapPath o) { + return path.compareTo(o.path); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean equals(@Nullable final Object obj) { + if (obj == null || getClass() != obj.getClass()) { + return false; + } + final AbsoluteMapPath mapPath = (AbsoluteMapPath) obj; + return path.equals(mapPath.path); + } + + /** + * {@inheritDoc} + */ + @Override + public int hashCode() { + return path.hashCode(); + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return "/" + path; + } + +} Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapFile.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapFile.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapFile.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -45,7 +45,7 @@ * The absolute map path within {@link #mapsDir}. */ @NotNull - private final MapPath mapPath; + private final AbsoluteMapPath mapPath; /** * Creates a new instance for the maps directory. @@ -53,7 +53,7 @@ */ public MapFile(@NotNull final File mapsDir) { this.mapsDir = mapsDir; - mapPath = new MapPath(true); + mapPath = new AbsoluteMapPath(); } /** @@ -63,7 +63,7 @@ */ public MapFile(@NotNull final MapFile parent, @NotNull final String name) { mapsDir = parent.mapsDir; - mapPath = new MapPath(parent.mapPath, name); + mapPath = new AbsoluteMapPath(parent.mapPath, name); } /** @@ -90,7 +90,7 @@ * @return the map path; it is an absolute map path */ @NotNull - public MapPath getMapPath() { + public AbsoluteMapPath getMapPath() { return mapPath; } Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -28,199 +28,30 @@ * Represents a maps directory local map path. * @author Andreas Kirschbaum */ -public class MapPath implements Comparable<MapPath>, Serializable { +public interface MapPath extends Serializable { /** - * The serial versionUID,. - */ - private static final long serialVersionUID = 1L; - - /** * A {@link Pattern} to split a map path's string representation into * components. */ @NotNull - public static final Pattern SEPARATOR = Pattern.compile("/"); + Pattern SEPARATOR = Pattern.compile("/"); /** - * Whether this map path is an absolute path. Absolute paths start with a - * "/". - */ - private final boolean absolute; - - /** - * The map path information. It does not include a leading "/" for absolute - * paths. - */ - @NotNull - private final String path; - - /** - * Creates a new instance. - * @param absolute whether to create an absolute map path - */ - public MapPath(final boolean absolute) { - this.absolute = absolute; - path = ""; - } - - /** - * Creates a new instance. - * @param absolute whether to create an absolute map path - * @param path the map path information - */ - private MapPath(final boolean absolute, @NotNull final String path) { - this.absolute = absolute; - this.path = path; - } - - /** - * Creates a new map path based on a parent map path. - * @param parent the parent map path - * @param name the name of the child; "." or ".." are allowed - */ - public MapPath(@NotNull final MapPath parent, @NotNull final String name) { - if (name.isEmpty()) { - throw new IllegalArgumentException("map file is empty"); - } - if (name.contains("/")) { - throw new IllegalArgumentException("map file contains '/': " + name); - } - absolute = parent.absolute; - if (name.equals(".")) { - path = parent.path; - } else if (name.equals("..")) { - if (parent.path.isEmpty()) { - path = absolute ? "" : ".."; - } else if (parent.path.endsWith("/..") || parent.path.equals("..")) { - path = parent.path + "/.."; - } else { - final int index = parent.path.lastIndexOf('/'); - if (index == -1) { - path = ""; - } else { - path = parent.path.substring(0, index); - } - } - } else { - if (parent.path.isEmpty()) { - path = name; - } else { - path = parent.path + "/" + name; - } - } - } - - /** - * Returns whether this map path is absolute. - * @return whether this map path is absolute - */ - public boolean isAbsolute() { - return absolute; - } - - /** * Returns the map path information. * @return the map path information; it does not include a leading "/" for * absolute paths */ @NotNull - public String getPath() { - return path; - } + String getPath(); /** - * Returns a map path of an another map path relative to this map path. - * @param mapPath the other map path - * @return the relative map path from this map path to the other map path - */ - @NotNull - public MapPath getRelativeMapPathTo(@NotNull final MapPath mapPath) { - if (!mapPath.absolute) { - return mapPath; - } - if (!absolute) { - return mapPath; - } - final String[] source = MapPath.SEPARATOR.split(path, -1); - final String[] destination = MapPath.SEPARATOR.split(mapPath.path, -1); - int begin = 0; - while (begin < source.length && begin < destination.length && source[begin].equals(destination[begin])) { - begin++; - } - if (begin == destination.length && begin > 0) { - begin--; - } - final StringBuilder sb = new StringBuilder(); - int i = source.length - 1; - while (i > begin) { - sb.append("/.."); - i--; - } - while (i < destination.length) { - sb.append("/").append(destination[i]); - i++; - } - return new MapPath(false, sb.length() > 0 ? sb.substring(1) : ""); - } - - /** * Returns the initial path component of a map path. "/path/to/map" returns * "path", "/map" returns {@code null}. Relative map paths always return * {@code null}. * @return the initial path component */ @Nullable - public String getMapComponent() { - if (!absolute) { - return null; - } + String getMapComponent(); - final int index = path.indexOf('/', 1); - if (index == -1) { - return null; - } - - return path.substring(0, index); - } - - /** - * {@inheritDoc} - */ - @Override - public int compareTo(@NotNull final MapPath o) { - if (absolute != o.absolute) { - return absolute ? -1 : +1; - } - return path.compareTo(o.path); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(@Nullable final Object obj) { - if (obj == null || getClass() != obj.getClass()) { - return false; - } - final MapPath mapPath = (MapPath) obj; - return absolute == mapPath.absolute && path.equals(mapPath.path); - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return (absolute ? 1 : 0) + path.hashCode(); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return absolute ? "/" + path : path; - } - } Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPathUtils.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPathUtils.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPathUtils.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -41,39 +41,104 @@ */ @NotNull public static MapPath newMapPath(@NotNull final String string) { - return append(new MapPath(string.startsWith("/")), string); + if (string.startsWith("/")) { + return append(new AbsoluteMapPath(), string); + } else { + return append(new RelativeMapPath(), string); + } } /** + * Creates an {@link AbsoluteMapPath} instance from string representation. + * Ignores excess "/" characters. + * @param string the string representation + * @return the map path instance + */ + @NotNull + public static AbsoluteMapPath newAbsoluteMapPath(@NotNull final String string) { + if (!string.startsWith("/")) { + throw new IllegalArgumentException("map path '" + string + "' is not absolute"); + } + return append(new AbsoluteMapPath(), string); + } + + /** + * Creates a {@link RelativeMapPath} instance from string representation. + * Ignores excess "/" characters. + * @param string the string representation + * @return the map path instance + */ + @NotNull + public static RelativeMapPath newRelativeMapPath(@NotNull final String string) { + if (string.startsWith("/")) { + throw new IllegalArgumentException("map path '" + string + "' is not relative"); + } + return append(new RelativeMapPath(), string); + } + + /** * Appends a map path to another map path. * @param baseMapPath the base map path to append to * @param mapPath the map path to append * @return the combined path */ @NotNull - public static MapPath append(@NotNull final MapPath baseMapPath, @NotNull final MapPath mapPath) { - return mapPath.isAbsolute() ? mapPath : append(baseMapPath, mapPath.getPath()); + public static AbsoluteMapPath append(@NotNull final AbsoluteMapPath baseMapPath, @NotNull final MapPath mapPath) { + return mapPath instanceof AbsoluteMapPath ? (AbsoluteMapPath) mapPath : append(baseMapPath, mapPath.getPath()); } /** + * Appends a map path to another map path. + * @param baseMapPath the base map path to append to + * @param mapPath the map path to append + * @return the combined path + * @noinspection TypeMayBeWeakened + */ + @NotNull + public static RelativeMapPath append(@NotNull final RelativeMapPath baseMapPath, @NotNull final RelativeMapPath mapPath) { + return append(baseMapPath, mapPath.getPath()); + } + + /** * Appends a relative path to a {@link MapPath}. * @param mapPath the map path to append to * @param string the relative path to append * @return the combined path */ @NotNull - private static MapPath append(@NotNull final MapPath mapPath, @NotNull final CharSequence string) { - MapPath result = mapPath; + private static AbsoluteMapPath append(@NotNull final AbsoluteMapPath mapPath, @NotNull final CharSequence string) { + AbsoluteMapPath result = mapPath; final String tmpPath = result.getPath(); if (!tmpPath.isEmpty() && !tmpPath.equals("..") && !tmpPath.endsWith("/..")) { - result = new MapPath(result, ".."); + result = new AbsoluteMapPath(result, ".."); } for (final String path : MapPath.SEPARATOR.split(string, -1)) { if (!path.isEmpty()) { - result = new MapPath(result, path); + result = new AbsoluteMapPath(result, path); } } return result; } + /** + * Appends a relative path to a {@link MapPath}. + * @param mapPath the map path to append to + * @param string the relative path to append + * @return the combined path + */ + @NotNull + private static RelativeMapPath append(@NotNull final RelativeMapPath mapPath, @NotNull final CharSequence string) { + RelativeMapPath result = mapPath; + final String tmpPath = result.getPath(); + if (!tmpPath.isEmpty() && !tmpPath.equals("..") && !tmpPath.endsWith("/..")) { + result = new RelativeMapPath(result, ".."); + } + for (final String path : MapPath.SEPARATOR.split(string, -1)) { + if (!path.isEmpty()) { + result = new RelativeMapPath(result, path); + } + } + return result; + } + } Copied: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/RelativeMapPath.java (from rev 9580, trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java) =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/RelativeMapPath.java (rev 0) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/RelativeMapPath.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -0,0 +1,170 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2011 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.mapmodel; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Represents a maps directory local map path. + * @author Andreas Kirschbaum + */ +public class RelativeMapPath implements Comparable<RelativeMapPath>, MapPath { + + /** + * The serial versionUID,. + */ + private static final long serialVersionUID = 1L; + + /** + * The map path information. It does not include a leading "/" for absolute + * paths. + */ + @NotNull + private final String path; + + /** + * Creates a new instance. + */ + public RelativeMapPath() { + path = ""; + } + + /** + * Creates a new map path based on a parent map path. + * @param parent the parent map path + * @param name the name of the child; "." or ".." are allowed + */ + public RelativeMapPath(@NotNull final RelativeMapPath parent, @NotNull final String name) { + if (name.isEmpty()) { + throw new IllegalArgumentException("map file is empty"); + } + if (name.contains("/")) { + throw new IllegalArgumentException("map file contains '/': " + name); + } + if (name.equals(".")) { + path = parent.path; + } else if (name.equals("..")) { + if (parent.path.isEmpty()) { + path = ".."; + } else if (parent.path.endsWith("/..") || parent.path.equals("..")) { + path = parent.path + "/.."; + } else { + final int index = parent.path.lastIndexOf('/'); + if (index == -1) { + path = ""; + } else { + path = parent.path.substring(0, index); + } + } + } else { + if (parent.path.isEmpty()) { + path = name; + } else { + path = parent.path + "/" + name; + } + } + } + + /** + * Creates a new instance as the difference between two absolute map paths. + * @param sourceMapPath the source map path to start from + * @param destinationMapPath the destination map path to point to + * @noinspection TypeMayBeWeakened + */ + public RelativeMapPath(@NotNull final AbsoluteMapPath sourceMapPath, @NotNull final AbsoluteMapPath destinationMapPath) { + final String[] source = MapPath.SEPARATOR.split(sourceMapPath.getPath(), -1); + final String[] destination = MapPath.SEPARATOR.split(destinationMapPath.getPath(), -1); + int begin = 0; + while (begin < source.length && begin < destination.length && source[begin].equals(destination[begin])) { + begin++; + } + if (begin == destination.length && begin > 0) { + begin--; + } + final StringBuilder sb = new StringBuilder(); + int i = source.length - 1; + while (i > begin) { + sb.append("/.."); + i--; + } + while (i < destination.length) { + sb.append("/").append(destination[i]); + i++; + } + path = sb.length() > 0 ? sb.substring(1) : ""; + } + + /** + * {@inheritDoc} + */ + @NotNull + @Override + + public String getPath() { + return path; + } + + /** + * {@inheritDoc} + */ + @Nullable + @Override + public String getMapComponent() { + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public int compareTo(@NotNull final RelativeMapPath o) { + return path.compareTo(o.path); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean equals(@Nullable final Object obj) { + if (obj == null || getClass() != obj.getClass()) { + return false; + } + final RelativeMapPath mapPath = (RelativeMapPath) obj; + return path.equals(mapPath.path); + } + + /** + * {@inheritDoc} + */ + @Override + public int hashCode() { + return path.hashCode(); + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return path; + } + +} Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathTest.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathTest.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -34,16 +34,15 @@ */ @Test public void testAbsolute1() { - final MapPath p1 = check("/", new MapPath(true)); - final MapPath p2 = check("/x", new MapPath(p1, "x")); - final MapPath p3 = check("/x/y", new MapPath(p2, "y")); - final MapPath p4 = check("/x/y/z", new MapPath(p3, "z")); - final MapPath p5 = check("/x/y", new MapPath(p4, "..")); - final MapPath p6 = check("/x/y", new MapPath(p5, ".")); - final MapPath p7 = check("/x", new MapPath(p6, "..")); - final MapPath p8 = check("/", new MapPath(p7, "..")); - final MapPath p9 = check("/", new MapPath(p8, "..")); - Assert.assertTrue(p9.isAbsolute()); + final AbsoluteMapPath p1 = check("/", new AbsoluteMapPath()); + final AbsoluteMapPath p2 = check("/x", new AbsoluteMapPath(p1, "x")); + final AbsoluteMapPath p3 = check("/x/y", new AbsoluteMapPath(p2, "y")); + final AbsoluteMapPath p4 = check("/x/y/z", new AbsoluteMapPath(p3, "z")); + final AbsoluteMapPath p5 = check("/x/y", new AbsoluteMapPath(p4, "..")); + final AbsoluteMapPath p6 = check("/x/y", new AbsoluteMapPath(p5, ".")); + final AbsoluteMapPath p7 = check("/x", new AbsoluteMapPath(p6, "..")); + final AbsoluteMapPath p8 = check("/", new AbsoluteMapPath(p7, "..")); + check("/", new AbsoluteMapPath(p8, "..")); } /** @@ -51,24 +50,23 @@ */ @Test public void testRelative1() { - final MapPath p1 = check("", new MapPath(false)); - final MapPath p2 = check("x", new MapPath(p1, "x")); - final MapPath p3 = check("x/y", new MapPath(p2, "y")); - final MapPath p4 = check("x/y/z", new MapPath(p3, "z")); - final MapPath p5 = check("x/y", new MapPath(p4, "..")); - final MapPath p6 = check("x/y", new MapPath(p5, ".")); - final MapPath p7 = check("x", new MapPath(p6, "..")); - final MapPath p8 = check("", new MapPath(p7, "..")); - final MapPath p9 = check("..", new MapPath(p8, "..")); - final MapPath p10 = check("..", new MapPath(p9, ".")); - final MapPath p11 = check("../..", new MapPath(p10, "..")); - final MapPath p12 = check("../../x", new MapPath(p11, "x")); - final MapPath p13 = check("../../x", new MapPath(p12, ".")); - final MapPath p14 = check("../../x/x", new MapPath(p13, "x")); - final MapPath p15 = check("../../x", new MapPath(p14, "..")); - final MapPath p16 = check("../..", new MapPath(p15, "..")); - final MapPath p17 = check("../../..", new MapPath(p16, "..")); - Assert.assertFalse(p17.isAbsolute()); + final RelativeMapPath p1 = check("", new RelativeMapPath()); + final RelativeMapPath p2 = check("x", new RelativeMapPath(p1, "x")); + final RelativeMapPath p3 = check("x/y", new RelativeMapPath(p2, "y")); + final RelativeMapPath p4 = check("x/y/z", new RelativeMapPath(p3, "z")); + final RelativeMapPath p5 = check("x/y", new RelativeMapPath(p4, "..")); + final RelativeMapPath p6 = check("x/y", new RelativeMapPath(p5, ".")); + final RelativeMapPath p7 = check("x", new RelativeMapPath(p6, "..")); + final RelativeMapPath p8 = check("", new RelativeMapPath(p7, "..")); + final RelativeMapPath p9 = check("..", new RelativeMapPath(p8, "..")); + final RelativeMapPath p10 = check("..", new RelativeMapPath(p9, ".")); + final RelativeMapPath p11 = check("../..", new RelativeMapPath(p10, "..")); + final RelativeMapPath p12 = check("../../x", new RelativeMapPath(p11, "x")); + final RelativeMapPath p13 = check("../../x", new RelativeMapPath(p12, ".")); + final RelativeMapPath p14 = check("../../x/x", new RelativeMapPath(p13, "x")); + final RelativeMapPath p15 = check("../../x", new RelativeMapPath(p14, "..")); + final RelativeMapPath p16 = check("../..", new RelativeMapPath(p15, "..")); + check("../../..", new RelativeMapPath(p16, "..")); } /** @@ -76,7 +74,7 @@ */ @Test(expected = IllegalArgumentException.class) public void testInvalid1() { - new MapPath(new MapPath(true), ""); + new AbsoluteMapPath(new AbsoluteMapPath(), ""); } /** @@ -84,7 +82,7 @@ */ @Test(expected = IllegalArgumentException.class) public void testInvalid2() { - new MapPath(new MapPath(true), "/"); + new AbsoluteMapPath(new AbsoluteMapPath(), "/"); } /** @@ -92,22 +90,22 @@ */ @Test(expected = IllegalArgumentException.class) public void testInvalid3() { - new MapPath(new MapPath(true), "abc/def"); + new AbsoluteMapPath(new AbsoluteMapPath(), "abc/def"); } /** - * Checks that {@link MapPath#getRelativeMapPathTo(MapPath)} works as - * expected. + * Checks that {@link AbsoluteMapPath#getRelativeMapPathTo(MapPath)} works + * as expected. */ @Test public void testGetRelativeMapPathTo1() { - check("../../../x/y/a/b", MapPathUtils.newMapPath("/a/b/c/d").getRelativeMapPathTo(MapPathUtils.newMapPath("/x/y/a/b"))); - check("../x/y/z", MapPathUtils.newMapPath("/a/b/c/d").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b/x/y/z"))); - check("../../a", MapPathUtils.newMapPath("/a/b/c").getRelativeMapPathTo(MapPathUtils.newMapPath("/a"))); - check("a/b/c", MapPathUtils.newMapPath("/a").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b/c"))); - check("b/c", MapPathUtils.newMapPath("/a/b").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b/c"))); - check("b", MapPathUtils.newMapPath("/a/b").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b"))); - check("a", MapPathUtils.newMapPath("/a").getRelativeMapPathTo(MapPathUtils.newMapPath("/a"))); + check("../../../x/y/a/b", MapPathUtils.newAbsoluteMapPath("/a/b/c/d").getRelativeMapPathTo(MapPathUtils.newMapPath("/x/y/a/b"))); + check("../x/y/z", MapPathUtils.newAbsoluteMapPath("/a/b/c/d").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b/x/y/z"))); + check("../../a", MapPathUtils.newAbsoluteMapPath("/a/b/c").getRelativeMapPathTo(MapPathUtils.newMapPath("/a"))); + check("a/b/c", MapPathUtils.newAbsoluteMapPath("/a").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b/c"))); + check("b/c", MapPathUtils.newAbsoluteMapPath("/a/b").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b/c"))); + check("b", MapPathUtils.newAbsoluteMapPath("/a/b").getRelativeMapPathTo(MapPathUtils.newMapPath("/a/b"))); + check("a", MapPathUtils.newAbsoluteMapPath("/a").getRelativeMapPathTo(MapPathUtils.newMapPath("/a"))); } /** @@ -136,7 +134,7 @@ * @return the map path */ @NotNull - private static MapPath check(@NotNull final String expected, @NotNull final MapPath mapPath) { + private static <T extends MapPath> T check(@NotNull final String expected, @NotNull final T mapPath) { Assert.assertEquals(expected, mapPath.toString()); return mapPath; } Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathUtilsTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathUtilsTest.java 2014-02-16 21:46:14 UTC (rev 9580) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathUtilsTest.java 2014-02-17 20:49:34 UTC (rev 9581) @@ -51,24 +51,29 @@ } /** - * Checks that {@link MapPathUtils#append(MapPath, CharSequence)} works as + * Checks that {@link MapPathUtils#append(AbsoluteMapPath, CharSequence)} works as * expected. */ @Test - public void testAppend1() { - Assert.assertEquals("a/b/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("a/b/c"), MapPathUtils.newMapPath("d/e/f")).toString()); - Assert.assertEquals("/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("a/b/c"), MapPathUtils.newMapPath("/d/e/f")).toString()); - Assert.assertEquals("/a/b/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("/a/b/c"), MapPathUtils.newMapPath("d/e/f")).toString()); - Assert.assertEquals("/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("/a/b/c"), MapPathUtils.newMapPath("/d/e/f")).toString()); + public void testAppendAbsolute1() { + Assert.assertEquals("/a/b/d/e/f", MapPathUtils.append(MapPathUtils.newAbsoluteMapPath("/a/b/c"), MapPathUtils.newMapPath("d/e/f")).toString()); + Assert.assertEquals("/d/e/f", MapPathUtils.append(MapPathUtils.newAbsoluteMapPath("/a/b/c"), MapPathUtils.newMapPath("/d/e/f")).toString()); + } - Assert.assertEquals("../a/b/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c"), MapPathUtils.newMapPath("d/e/f")).toString()); - Assert.assertEquals("../a/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c"), MapPathUtils.newMapPath("../d/e/f")).toString()); - Assert.assertEquals("../a/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c/d"), MapPathUtils.newMapPath("../../d/e/f")).toString()); - Assert.assertEquals("../d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c"), MapPathUtils.newMapPath("../../d/e/f")).toString()); - Assert.assertEquals("../../d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c"), MapPathUtils.newMapPath("../../../d/e/f")).toString()); - Assert.assertEquals("../../../d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c"), MapPathUtils.newMapPath("../../../../d/e/f")).toString()); - Assert.assertEquals("../..", MapPathUtils.append(MapPathUtils.newMapPath(".."), MapPathUtils.newMapPath("..")).toString()); - Assert.assertEquals("/d/e/f", MapPathUtils.append(MapPathUtils.newMapPath("../a/b/c"), MapPathUtils.newMapPath("/d/e/f")).toString()); + /** + * Checks that {@link MapPathUtils#append(RelativeMapPath, CharSequence)} works as + * expected. + */ + @Test + public void testAppendRelative1() { + Assert.assertEquals("a/b/d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("a/b/c"), MapPathUtils.newRelativeMapPath("d/e/f")).toString()); + Assert.assertEquals("../a/b/d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("../a/b/c"), MapPathUtils.newRelativeMapPath("d/e/f")).toString()); + Assert.assertEquals("../a/d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("../a/b/c"), MapPathUtils.newRelativeMapPath("../d/e/f")).toString()); + Assert.assertEquals("../a/d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("../a/b/c/d"), MapPathUtils.newRelativeMapPath("../../d/e/f")).toString()); + Assert.assertEquals("../d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("../a/b/c"), MapPathUtils.newRelativeMapPath("../../d/e/f")).toString()); + Assert.assertEquals("../../d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("../a/b/c"), MapPathUtils.newRelativeMapPath("../../../d/e/f")).toString()); + Assert.assertEquals("../../../d/e/f", MapPathUtils.append(MapPathUtils.newRelativeMapPath("../a/b/c"), MapPathUtils.newRelativeMapPath("../../../../d/e/f")).toString()); + Assert.assertEquals("../..", MapPathUtils.append(MapPathUtils.newRelativeMapPath(".."), MapPathUtils.newRelativeMapPath("..")).toString()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 21:46:33
|
Revision: 9580 http://sourceforge.net/p/gridarta/code/9580 Author: akirschbaum Date: 2014-02-16 21:46:14 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Update comments. Modified Paths: -------------- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/Archetype.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/UndefinedArchetype.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/gameobject/GameObject.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/io/ArchetypeParser.java trunk/src/atrinik/src/test/java/net/sf/gridarta/var/atrinik/gui/map/renderer/TestMapRenderer.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/Archetype.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/UndefinedArchetype.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/gameobject/GameObject.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/io/ArchetypeParser.java trunk/src/crossfire/src/test/java/net/sf/gridarta/var/crossfire/model/gameobject/PropagateElevationTest.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/Archetype.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/UndefinedArchetype.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/gameobject/GameObject.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/io/ArchetypeParser.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlClientAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlServerAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/LightVisibleAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ManageBookmarksAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/OptionsAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ValidateMapAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/commands/Collector.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/data/NamedObjectsUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/bookmarks/MapMenuEntryIcons.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/browsearchetypes/BrowseArchetypesDialogManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/errorview/DefaultErrorView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/find/FindDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/findarchetypes/FindArchetypesDialogManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/findarchetypes/TableModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/AttributesPaneBuilder.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/ConfirmErrorsDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/GameObjectAttributesDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/MaskChangeAL.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/StringKeyManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/goexit/MapListCellRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/golocation/GoLocationDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/help/Help.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/help/HtmlPane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractMapsizeNewMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractNewMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewPickmapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewPickmapFolderDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/ClosingIcon.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/PluginViewPane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/prefs/GUIPreferences.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/prefs/NetPreferences.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/KeyStrokeDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/KeyStrokeField.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/ShortcutsDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/exitconnector/ExitConnectorController.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapFileActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapPreviewAccessory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/ExitIterator.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/MapActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/TilePanel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewFactory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewManagerListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViews.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewsManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/AbstractIsoMapRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/AbstractMapRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/MapRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ToolTipAppender.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapdesktop/MapDesktop.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/Loader.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolder.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTree.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTreeAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTreeActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTreeListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapimagecache/MapImageCache.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapimagecache/MapImageCacheEntry.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/AutoscrollJTree.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenu.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuEntry.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuLoader.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapuserlistener/MapMouseListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/DefaultFileControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/MainView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/MainViewActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/StatusBar.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/archetypechooser/ArchetypeChooserView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/archetypechooser/ArchetypePanel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/connectionview/Connection.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/connectionview/MonsterControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/connectionview/MonsterView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/connectionview/View.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/AbstractGameObjectAttributesTab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/ErrorListView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/EventsTab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/GameObjectAttributesTab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchoicedisplay/ObjectChoiceDisplay.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/DefaultObjectChooser.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/ObjectChooser.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/ObjectChooserListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/ObjectChooserTab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModelListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/selectedsquare/ModelUpdater.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/selectedsquare/SelectedSquareModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/selectedsquare/SelectedSquareModelListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/selectedsquare/SelectedSquareView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/tools/InsertionTool.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/tools/Tool.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/tools/ToolPalette.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/tools/ToolSelector.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/AbstractScriptArchUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptArchDataUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptArchEditor.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/spells/SpellsUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/treasurelist/CFTreasureListTree.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/undo/UndoControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/AsynchronousProgress.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/DirectionLayout.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/GList.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/GSplitPane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/MenuUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/ToolTipProvider.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/borderpanel/BorderPanel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/borderpanel/BorderPanelListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/borderpanel/BorderSplitPane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/borderpanel/VerticalToggleButton.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/ButtonList.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/ButtonListListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/ButtonLists.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/DoubleButtonList.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/Tab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/TabbedPanel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/MainActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/RandomFillDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GridartaEditor.java trunk/src/gridarta/src/main/java/net/sf/gridarta/updater/Updater.java trunk/src/gridarta/src/test/java/net/sf/gridarta/actions/ExitConnectorActionsTest.java trunk/src/model/src/main/java/net/sf/gridarta/model/anim/AnimationObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/anim/AnimationParseException.java trunk/src/model/src/main/java/net/sf/gridarta/model/anim/DefaultAnimationObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetype/AbstractArchetype.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetype/AbstractArchetypeBuilder.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetype/Archetype.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypechooser/ArchetypeChooserFolder.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypechooser/ArchetypeChooserFolderListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypechooser/ArchetypeChooserModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypechooser/ArchetypeChooserModelListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypechooser/ArchetypeChooserPanel.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypechooser/ArchetypeChooserPanelListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypeset/ArchetypeSet.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypeset/DefaultArchetypeSet.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/AbstractArchetypeAttributeSpell.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeAttribute.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeAttributeParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeType.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeTypeParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeTypeSet.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeTypeSetParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/AttributeBitmask.java trunk/src/model/src/main/java/net/sf/gridarta/model/autojoin/AutojoinList.java trunk/src/model/src/main/java/net/sf/gridarta/model/autojoin/InsertionResult.java trunk/src/model/src/main/java/net/sf/gridarta/model/baseobject/AbstractBaseObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/baseobject/Attributes.java trunk/src/model/src/main/java/net/sf/gridarta/model/baseobject/BaseObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/baseobject/GameObjectContainer.java trunk/src/model/src/main/java/net/sf/gridarta/model/baseobject/GameObjectText.java trunk/src/model/src/main/java/net/sf/gridarta/model/configsource/ConfigSource.java trunk/src/model/src/main/java/net/sf/gridarta/model/connectionview/Connections.java trunk/src/model/src/main/java/net/sf/gridarta/model/data/AbstractNamedObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/data/NamedObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/data/NamedObjects.java trunk/src/model/src/main/java/net/sf/gridarta/model/data/NamedTreeNode.java trunk/src/model/src/main/java/net/sf/gridarta/model/errorview/ErrorViewCollectorErrorHandler.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/AbstractExitConnectorModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitConnectorModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitConnectorModelListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/ArchFaceProvider.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/CollectedFaceProvider.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/DefaultFaceObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/DefaultFaceObjects.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/FaceObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/FaceObjectProviders.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/FaceObjects.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/Filter.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/FilterConfig.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/NamedFilterConfig.java trunk/src/model/src/main/java/net/sf/gridarta/model/gameobject/AbstractGameObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/gameobject/GameObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/gameobject/MultiArchData.java trunk/src/model/src/main/java/net/sf/gridarta/model/gameobject/NotInsideContainerException.java trunk/src/model/src/main/java/net/sf/gridarta/model/index/Index.java trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/AbstractArchetypeParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/AbstractGameObjectParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/AnimationObjectsReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/ArchetypeParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/AttributeListUtils.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/GameObjectParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManagerUtils.java trunk/src/model/src/main/java/net/sf/gridarta/model/maparchobject/MapArchObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapcursor/MapCursor.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapcursor/MapCursorListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapgrid/MapGrid.java trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/AbstractMapManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/FileControl.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/MapManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/MapManagerListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/AutoInsertionMode.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/FilterGameObjectIterator.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapSquare.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapSquareGrid.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapSquareIterator.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/SavedSquares.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/TopLevelGameObjectIterator.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapviewsettings/MapViewSettings.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/AndGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/AttributeGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/GameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/GameObjectMatcherParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/GameObjectMatchers.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/GameObjectMatchersParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/IntAttributeGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/MutableNameGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/MutableOrGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/NamedGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/NotGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/OrGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/SetEnabledAction.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/StringAttributeGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/TypeNrsGameObjectMatcher.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/ViewGameObjectMatcherManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractCollectedResourcesReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractResources.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractResourcesReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptArchData.java trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptArchUtils.java trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/UndefinedEventArchetypeException.java trunk/src/model/src/main/java/net/sf/gridarta/model/smoothface/SmoothFaces.java trunk/src/model/src/main/java/net/sf/gridarta/model/spells/ArchetypeSetSpellLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/spells/XMLSpellLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/treasurelist/TreasureLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/treasurelist/TreasureTree.java trunk/src/model/src/main/java/net/sf/gridarta/model/undo/UndoModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/undo/UndoState.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/Validator.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/AbstractShopSquareChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/AttributeRangeChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/BlockedMatrix.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/BlockedSpawnPointChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/BlockedSquareChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/CustomTypeChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/MapCheckerScriptChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ValidatorFactory.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/errors/ValidationError.java trunk/src/model/src/test/java/net/sf/gridarta/model/baseobject/AbstractBaseObjectTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapgrid/MapGridTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/resource/TestFilesResourcesReader.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/Plugin.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/PluginModel.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/DoubleParameter.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/Codec.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/FilePreferences.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/FilePreferencesFactory.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/Storage.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/CFPythonPopup.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/ScriptEditControl.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/ScriptEditUndoActions.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/ScriptEditView.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/DefaultInputHandler.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/InputHandler.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/JEditTextArea.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/SyntaxStyle.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/SyntaxStyles.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/SyntaxUtilities.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/TextAreaPainter.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/TextUtilities.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/Token.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/actions/FindAgain.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/actions/InputActions.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/actions/Replace.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/DaimoninAITokenMarker.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/KeywordMap.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/Node.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/Spec.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/TokenMarker.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ActionBuilderUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ActionUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ArrayUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ConfigFileUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/CopyReader.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/FileChooserUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/IOUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/MapFileFilter.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/MathUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/Size2D.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/StringUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/WrappingStringBuilder.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/Xtea.java trunk/src/utils/src/test/java/net/sf/gridarta/utils/StringUtilsTest.java Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -618,8 +618,8 @@ /** * Checks the given values and modifies the current map. - * @return <code>true</code> if the map properties were edited, - * <code>false</code> if the parameters were wrong. + * @return {@code true} if the map properties were edited, {@code false} if + * the parameters were wrong. */ private boolean modifyMapProperties() { // first check if the entries are all okay Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/Archetype.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/Archetype.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/Archetype.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull; /** - * <code>Archetype</code> implements Atrinik archetypes. + * Implements Atrinik archetypes. * @author Andreas Kirschbaum */ public interface Archetype extends net.sf.gridarta.model.archetype.Archetype<GameObject, MapArchObject, Archetype> { Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/UndefinedArchetype.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/UndefinedArchetype.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/archetype/UndefinedArchetype.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -27,8 +27,7 @@ import org.jetbrains.annotations.NotNull; /** - * The class <code>UndefinedArchetype</code> implements an undefined Atrinik - * archetype. + * Implements an undefined Atrinik archetype. * @author Andreas Kirschbaum */ public class UndefinedArchetype extends AbstractArchetype<GameObject, MapArchObject, Archetype> implements Archetype { Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/gameobject/GameObject.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/gameobject/GameObject.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/gameobject/GameObject.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -29,9 +29,8 @@ import org.jetbrains.annotations.NotNull; /** - * The <code>GameObject</code> class handles the Atrinik GameObjects. Usually, - * an GameObject that is really used is derived from a (replaceable) default - * arch. + * Handles the Atrinik GameObjects. Usually, an GameObject that is really used + * is derived from a (replaceable) default arch. * @author <a href="mailto:mic...@no...">Michael Toennies</a> * @author <a href="mailto:and...@gm...">Andreas Vogl</a> * @author <a href="mailto:ch...@ri...">Christian Hujer</a> Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/io/ArchetypeParser.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/io/ArchetypeParser.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/io/ArchetypeParser.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -40,9 +40,8 @@ import org.jetbrains.annotations.Nullable; /** - * The <code>ArchetypeParser</code> class handles the parsing of arches. It is a - * class separated from ArchetypeSet because it is also involved in loading - * arches in map files. + * Handles the parsing of arches. It is a class separated from ArchetypeSet + * because it is also involved in loading arches in map files. * @author <a href="mailto:mic...@no...">Michael Toennies</a> * @author <a href="mailto:and...@gm...">Andreas Vogl</a> * @author <a href="mailto:ch...@ri...">Christian Hujer</a> Modified: trunk/src/atrinik/src/test/java/net/sf/gridarta/var/atrinik/gui/map/renderer/TestMapRenderer.java =================================================================== --- trunk/src/atrinik/src/test/java/net/sf/gridarta/var/atrinik/gui/map/renderer/TestMapRenderer.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/atrinik/src/test/java/net/sf/gridarta/var/atrinik/gui/map/renderer/TestMapRenderer.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -96,7 +96,7 @@ } /** - * Appends a <code>double></code> value to {@link #sb}. + * Appends a {@code double} value to {@link #sb}. * @param value the double value */ private void appendDouble(final double value) { Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -390,8 +390,8 @@ * @param graphics the graphics context to paint to * @param isSnapshot true when this drawing is for a "screenshot"-image, * false for normal drawing - * @param checkClip if set, omit squares outside <code>graphics</code>'s - * clip area + * @param checkClip if set, omit squares outside {@code graphics}'s clip + * area */ protected void paintComponent(@NotNull final Graphics graphics, final boolean isSnapshot, final boolean checkClip) { graphics.setColor(getBackground()); @@ -430,8 +430,8 @@ /** * Paints the whole map. * @param graphics the graphics context to draw in - * @param checkClip if set, omit squares outside <code>graphics</code>'s - * clip area + * @param checkClip if set, omit squares outside {@code graphics}'s clip + * area */ private void paintMap(@NotNull final Graphics graphics, final boolean checkClip) { for (tmpPoint.y = 0; tmpPoint.y < mapGrid.getSize().getHeight(); tmpPoint.y++) { Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -358,10 +358,10 @@ /** * Get the back buffer image for the map. Sets {@link #backBufferRef} to - * <code>null</code> if the back buffer has been deleted by the garbage + * {@code null} if the back buffer has been deleted by the garbage * collector. - * @return the back buffer image, or <code>null</code> if the map has no - * back buffer + * @return the back buffer image, or {@code null} if the map has no back + * buffer */ @Nullable private BufferedImage getBackBufferImage() { Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -553,7 +553,7 @@ /** * Create the tile path panel. - * @param mapTilePane the <code>MapTilePane<code> contents + * @param mapTilePane the {@code MapTilePane} contents * @return the newly created tile path panel */ @NotNull @@ -646,8 +646,8 @@ /** * Checks the given values and modifies the current map. - * @return <code>true</code> if the map properties were edited, - * <code>false</code> if the parameters were wrong. + * @return {@code true} if the map properties were edited, {@code false} if + * the parameters were wrong. */ private boolean modifyMapProperties() { // first check if the entries are all okay Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/Archetype.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/Archetype.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/Archetype.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull; /** - * <code>Archetype</code> implements Crossfire archetypes. + * Implements Crossfire archetypes. * @author Andreas Kirschbaum */ public interface Archetype extends net.sf.gridarta.model.archetype.Archetype<GameObject, MapArchObject, Archetype> { Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/UndefinedArchetype.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/UndefinedArchetype.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/archetype/UndefinedArchetype.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -27,8 +27,7 @@ import org.jetbrains.annotations.NotNull; /** - * The class <code>UndefinedArchetype</code> implements an undefined Crossfire - * archetype. + * Implements an undefined Crossfire archetype. * @author Andreas Kirschbaum */ public class UndefinedArchetype extends AbstractArchetype<GameObject, MapArchObject, Archetype> implements Archetype { Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/gameobject/GameObject.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/gameobject/GameObject.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/gameobject/GameObject.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -28,9 +28,8 @@ import org.jetbrains.annotations.NotNull; /** - * The <code>GameObject</code> class handles the Crossfire GameObjects. Usually, - * an GameObject that is really used is derived from a (replaceable) default - * arch. + * Handles the Crossfire GameObjects. Usually, an GameObject that is really used + * is derived from a (replaceable) default arch. * @author <a href="mailto:mic...@no...">Michael Toennies</a> * @author <a href="mailto:and...@gm...">Andreas Vogl</a> * @author <a href="mailto:ch...@ri...">Christian Hujer</a> Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/io/ArchetypeParser.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/io/ArchetypeParser.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/io/ArchetypeParser.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -41,9 +41,8 @@ import org.jetbrains.annotations.Nullable; /** - * The <code>ArchetypeParser</code> class handles the parsing of arches. It is a - * class separated from ArchetypeSet because it is also involved in loading - * arches in map files. + * Handles the parsing of arches. It is a class separated from ArchetypeSet + * because it is also involved in loading arches in map files. * @author <a href="mailto:mic...@no...">Michael Toennies</a> * @author <a href="mailto:and...@gm...">Andreas Vogl</a> * @author <a href="mailto:ch...@ri...">Christian Hujer</a> Modified: trunk/src/crossfire/src/test/java/net/sf/gridarta/var/crossfire/model/gameobject/PropagateElevationTest.java =================================================================== --- trunk/src/crossfire/src/test/java/net/sf/gridarta/var/crossfire/model/gameobject/PropagateElevationTest.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/crossfire/src/test/java/net/sf/gridarta/var/crossfire/model/gameobject/PropagateElevationTest.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -307,7 +307,7 @@ * Returns the game object at a given index. * @param gameObjects the game objects to search * @param index the index - * @return the game object at <code>index</code> + * @return the game object at {@code index} */ @NotNull private static GameObject get(@NotNull final Iterable<GameObject> gameObjects, final int index) { Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -500,7 +500,7 @@ /** * Creates the tile path panel. - * @param mapTilePane the <code>MapTilePane<code> contents + * @param mapTilePane the {@code MapTilePane} contents * @return the newly created tile path panel */ @NotNull @@ -603,8 +603,8 @@ /** * Checks the given values and modifies the current map. - * @return <code>true</code> if the map properties were edited, - * <code>false</code> if the parameters were wrong + * @return {@code true} if the map properties were edited, {@code false} if + * the parameters were wrong */ private boolean modifyMapProperties() { // first check if the entries are all okay Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/Archetype.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/Archetype.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/Archetype.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull; /** - * <code>Archetype</code> implements Daimonin archetypes. + * Implements Daimonin archetypes. * @author Andreas Kirschbaum */ public interface Archetype extends net.sf.gridarta.model.archetype.Archetype<GameObject, MapArchObject, Archetype> { Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/UndefinedArchetype.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/UndefinedArchetype.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/archetype/UndefinedArchetype.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -27,8 +27,7 @@ import org.jetbrains.annotations.NotNull; /** - * The class <code>UndefinedArchetype</code> implements an undefined Daimonin - * archetype. + * Implements an undefined Daimonin archetype. * @author Andreas Kirschbaum */ public class UndefinedArchetype extends AbstractArchetype<GameObject, MapArchObject, Archetype> implements Archetype { Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/gameobject/GameObject.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/gameobject/GameObject.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/gameobject/GameObject.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -29,9 +29,8 @@ import org.jetbrains.annotations.NotNull; /** - * The <code>GameObject</code> class handles the Daimonin GameObjects. Usually, - * an GameObject that is really used is derived from a (replaceable) default - * arch. + * Handles the Daimonin GameObjects. Usually, an GameObject that is really used + * is derived from a (replaceable) default arch. * @author <a href="mailto:mic...@no...">Michael Toennies</a> * @author <a href="mailto:and...@gm...">Andreas Vogl</a> * @author <a href="mailto:ch...@ri...">Christian Hujer</a> Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/io/ArchetypeParser.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/io/ArchetypeParser.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/io/ArchetypeParser.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -38,9 +38,8 @@ import org.jetbrains.annotations.Nullable; /** - * The <code>ArchetypeParser</code> class handles the parsing of arches. It is a - * class separated from ArchetypeSet because it is also involved in loading - * arches in map files. + * Handles the parsing of arches. It is a class separated from ArchetypeSet + * because it is also involved in loading arches in map files. * @author <a href="mailto:mic...@no...">Michael Toennies</a> * @author <a href="mailto:and...@gm...">Andreas Vogl</a> * @author <a href="mailto:ch...@ri...">Christian Hujer</a> Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -39,7 +39,7 @@ public abstract class AbstractMapCursorAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> { /** - * The active map view, or <code>null</code> if no map view exists. + * The active map view, or {@code null} if no map view exists. */ @Nullable private MapView<G, A, R> currentMapView; @@ -108,8 +108,8 @@ /** * Return the map cursor of the current map view if it is active. - * @return the map cursor, or <code>null</code> if the cursor is not active, - * or if no map view exists + * @return the map cursor, or {@code null} if the cursor is not active, or + * if no map view exists */ @Nullable protected MapCursor<G, A, R> getActiveMapCursor() { Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -50,7 +50,7 @@ private final GameObjectAttributesDialogFactory<G, A, R> gameObjectAttributesDialogFactory; /** - * The active map view, or <code>null</code> if no map view exists. + * The active map view, or {@code null} if no map view exists. */ @Nullable private MapView<G, A, R> currentMapView; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -81,7 +81,7 @@ /** * The {@link Collector} if an archetype collection is running, or else - * <code>null</code>. + * {@code null}. */ @Nullable private volatile Collector collector; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlClientAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlClientAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlClientAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -41,7 +41,7 @@ /** * The {@link ProcessRunner} instance that controls the client. Set to - * <code>null</code> if not yet created. + * {@code null} if not yet created. */ @Nullable private ProcessRunner controlClient; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlServerAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlServerAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ControlServerAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -49,7 +49,7 @@ /** * The {@link ProcessRunner} instance that controls the server. Set to - * <code>null</code> if not yet created. + * {@code null} if not yet created. */ @Nullable private ProcessRunner controlServer; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -46,7 +46,7 @@ public class GrowSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { /** - * The active map view, or <code>null</code> if no map view exists. + * The active map view, or {@code null} if no map view exists. */ @Nullable private MapView<G, A, R> currentMapView; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/LightVisibleAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/LightVisibleAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/LightVisibleAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -96,8 +96,8 @@ /** * Action method for "light visible". - * @return <code>true</code> if the light is visible, or <code>false</code> - * if the light is invisible + * @return {@code true} if the light is visible, or {@code false} if the + * light is invisible */ @ActionMethod public boolean isLightVisible() { @@ -106,9 +106,8 @@ /** * Sets whether the light of the current map should be visible. - * @param lightVisible new visibility of light in current map, - * <code>true</code> if the light should be visible, <code>false</code> if - * invisible + * @param lightVisible new visibility of light in current map, {@code true} + * if the light should be visible, {@code false} if invisible * @see #isLightVisible() */ @ActionMethod @@ -128,7 +127,7 @@ * Executes the "light visible" action. * @param performAction whether the action should be performed * @param lightVisible whether the light should be visible; ignored unless - * <code>performAction</code> is set + * {@code performAction} is set * @return whether the action was or can be performed * @noinspection SameReturnValue */ Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ManageBookmarksAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ManageBookmarksAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ManageBookmarksAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -57,8 +57,8 @@ private final Component parentComponent; /** - * The {@link ManageBookmarksDialog} instance. Set to <code>null</code> if - * not yet created. + * The {@link ManageBookmarksDialog} instance. Set to {@code null} if not + * yet created. */ @Nullable private ManageBookmarksDialog<G, A, R> manageBookmarksDialog; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/OptionsAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/OptionsAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/OptionsAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -68,8 +68,8 @@ private final Component parent; /** - * The {@link PreferencesGroup} instance. Set to <code>null</code> if not - * yet created. + * The {@link PreferencesGroup} instance. Set to {@code null} if not yet + * created. */ @Nullable private PreferencesGroup preferencesGroup; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -49,7 +49,7 @@ public class ShrinkSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { /** - * The active map view, or <code>null</code> if no map view exists. + * The active map view, or {@code null} if no map view exists. */ @Nullable private MapView<G, A, R> currentMapView; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ValidateMapAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ValidateMapAction.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ValidateMapAction.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -52,7 +52,7 @@ private Action action; /** - * The last known active map, or <code>null</code> if no map is active. + * The last known active map, or {@code null} if no map is active. */ @Nullable private MapControl<G, A, R> currentMapControl; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -45,7 +45,7 @@ public abstract class AbstractServerActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { /** - * The currently active map or <code>null</code> if no map is active. + * The currently active map or {@code null} if no map is active. */ @Nullable private MapView<G, A, R> currentMapView; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -260,7 +260,7 @@ * Loads an adjacent {@link MapControl}, ignoring any (I/O-)errors. * @param mapModel the map model for relative map paths * @param path the map path - * @return the map control or <code>null</code> if the map cannot be loaded + * @return the map control or {@code null} if the map cannot be loaded * @throws IOException if an I/O error occurs */ @Nullable @@ -276,8 +276,7 @@ /** * Returns the map path for a tile of a map and a tile path. * @param base the map path of the map - * @param link the tile path of the map; may be relative to - * <code>base</code> + * @param link the tile path of the map; may be relative to {@code base} * @param mapsDirectory the maps directory * @return the map path * @throws CannotSaveMapFileException if an I/O error occurs @@ -317,7 +316,7 @@ * Returns the index of the last '/' or {@link File#separator} within a * string. * @param base the string - * @return the index or <code>-1</code> if not found + * @return the index or {@code -1} if not found */ private static int getLastSlashIndex(@NotNull final String base) { final int slashIndex1 = base.lastIndexOf('/'); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java 2014-02-16 20:21:46 UTC (rev 9579) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java 2014-02-16 21:46:14 UTC (rev 9580) @@ -249,9 +249,9 @@ /** * Executes part of the "exit connect" action. * @param performAction whether the action should be performed - * @param targetExit the target exit game object or <code>null</code> - * @param targetArchetype the target exit archetype; <code>null</code> if - * <code>targetExit</code> is non-<code>null</code>; unused otherwise + * @param targetExit the target exit game object or {@code null} ... [truncated message content] |
From: <aki...@us...> - 2014-02-16 20:21:55
|
Revision: 9579 http://sourceforge.net/p/gridarta/code/9579 Author: akirschbaum Date: 2014-02-16 20:21:46 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Rename constant names. Modified Paths: -------------- trunk/gridarta.ipr trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/SmoothingRenderer.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/commands/CollectArchesCommand.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/autovalidator/AutoValidator.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/delayedmapmodel/DelayedMapModelListenerManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/findarchetypes/TableModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttribute.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttributeBitmask.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/GameObjectAttributesDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gomap/GoMapDialogManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/help/HtmlPane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractMapsizeNewMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractNewMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ArchComboBox.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ParameterTypeEditor.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/replace/ReplaceDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/ShortcutsManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/filter/FilterMenuEntry.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapPreviewAccessory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/FlatMapTilePane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/IsoMapTilePane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/AbstractMapView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/DefaultMapView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator2.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/viewaction/ViewActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapdesktop/MapDesktop.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapimagecache/MapImageCacheEntry.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenu.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuLoader.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/MainView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/MapPreview.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/archetypechooser/ArchetypeChooserView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptArchDataUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/spells/SpellsUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/DirectionLayout.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/GSplitPane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/Tab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/tabbedpanel/TabbedPanel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/DefaultExiter.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GridartaEditor.java trunk/src/gridarta/src/main/java/net/sf/gridarta/updater/Updater.java trunk/src/gridarta/src/main/java/net/sf/gridarta/updater/UpdaterManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/anim/DefaultAnimationObject.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeTypeParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/ArchetypeTypeSetParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/archetypetype/AttributeBitmask.java trunk/src/model/src/main/java/net/sf/gridarta/model/artifact/ArtifactParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/autojoin/AutojoinList.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/DefaultExitConnectorModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/AbstractFaceProvider.java trunk/src/model/src/main/java/net/sf/gridarta/model/face/DefaultFaceObjects.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/AbstractFilterConfig.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/NamedFilter.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/NamedFilterConfig.java trunk/src/model/src/main/java/net/sf/gridarta/model/floodfill/FillUtils.java trunk/src/model/src/main/java/net/sf/gridarta/model/floodfill/FloodFill.java trunk/src/model/src/main/java/net/sf/gridarta/model/gameobject/MultiPositionData.java trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/AbstractGameObjectParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapviewsettings/DefaultMapViewSettings.java trunk/src/model/src/main/java/net/sf/gridarta/model/match/GameObjectMatchersParser.java trunk/src/model/src/main/java/net/sf/gridarta/model/pickmapsettings/DefaultPickmapSettings.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractCollectedResourcesReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractFilesResourcesReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/resource/AbstractResourcesReader.java trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptUtils.java trunk/src/model/src/main/java/net/sf/gridarta/model/settings/AbstractDefaultProjectSettings.java trunk/src/model/src/main/java/net/sf/gridarta/model/settings/DefaultEditorSettings.java trunk/src/model/src/main/java/net/sf/gridarta/model/smoothface/SmoothFacesLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/spells/ArchetypeSetSpellLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/spells/Spells.java trunk/src/model/src/main/java/net/sf/gridarta/model/spells/XMLSpellLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/treasurelist/TreasureLoader.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/DefaultValidatorPreferences.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ArchetypeTypeChecks.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/BlockedSpawnPointChecker.java trunk/src/model/src/test/java/net/sf/gridarta/model/errorview/TestErrorView.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapcursor/MapCursorTest.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/Plugin.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/PluginModel.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/PluginModelLoader.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/PluginModelParser.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/Codec.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/FilePreferences.java trunk/src/preferences/src/main/java/net/sf/gridarta/preferences/Storage.java trunk/src/project/src/main/java/net/sf/gridarta/project/ProjectModel.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/CFPythonPopup.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/ScriptEditControl.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/scripteditor/ScriptEditView.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/DefaultInputHandler.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/InputHandler.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/JEditTextArea.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/TextAreaPainter.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/actions/Paste.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/DaimoninAITokenMarker.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/tokenmarker/TokenMarkerFactory.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/FileFilters.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/GuiFileFilters.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ImageUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ProcessRunner.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/RandomUtils.java trunk/src/utils/src/main/java/net/sf/gridarta/utils/ResourceIcons.java trunk/src/utils/src/test/java/net/sf/gridarta/utils/XteaTest.java Modified: trunk/gridarta.ipr =================================================================== --- trunk/gridarta.ipr 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/gridarta.ipr 2014-02-16 20:21:46 UTC (rev 9579) @@ -390,7 +390,7 @@ <inspection_tool class="ConstantJUnitAssertArgument" enabled="true" level="WARNING" enabled_by_default="true" /> <inspection_tool class="ConstantMathCall" enabled="true" level="WARNING" enabled_by_default="true" /> <inspection_tool class="ConstantNamingConvention" enabled="true" level="WARNING" enabled_by_default="true"> - <option name="onlyCheckImmutables" value="true" /> + <option name="onlyCheckImmutables" value="false" /> <option name="m_regex" value="[A-Z_\d]*" /> <option name="m_minLength" value="1" /> <option name="m_maxLength" value="64" /> Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -152,7 +152,7 @@ /** * The Logger for printing log messages. */ - private static final Category log = Logger.getLogger(DefaultEditorFactory.class); + private static final Category LOG = Logger.getLogger(DefaultEditorFactory.class); /** * The {@link IsoMapSquareInfo} instance. @@ -335,7 +335,7 @@ try { attributeRangeChecker.add(matcher, name, displayName, minValue, maxValue); } catch (final InvalidCheckException ex) { - log.warn(ex.getMessage()); + LOG.warn(ex.getMessage()); } } @@ -484,7 +484,7 @@ @NotNull @Override public FileFilter getScriptFileFilter() { - return GuiFileFilters.pythonFileFilter; + return GuiFileFilters.PYTHON_FILE_FILTER; } /** @@ -571,7 +571,7 @@ @NotNull @Override public FileFilter getMapFileFilter() { - return GuiFileFilters.mapFileFilter; + return GuiFileFilters.MAP_FILE_FILTER; } /** Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/FlatMapRenderer.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -61,7 +61,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(FlatMapRenderer.class); + private static final Category LOG = Logger.getLogger(FlatMapRenderer.class); /** * Serial Version UID. @@ -263,8 +263,8 @@ backBufferRef = null; - if (log.isDebugEnabled()) { - log.debug("Creating a backbuffer of size " + size.width + "x" + size.height + "."); + if (LOG.isDebugEnabled()) { + LOG.debug("Creating a backbuffer of size " + size.width + "x" + size.height + "."); } final BufferedImage newBackBuffer; //The backbuffer is optional @@ -272,8 +272,8 @@ try { newBackBuffer = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_ARGB); } catch (final OutOfMemoryError ignore) { - if (log.isDebugEnabled()) { - log.debug("out of memory creating new back buffer"); + if (LOG.isDebugEnabled()) { + LOG.debug("out of memory creating new back buffer"); } return; } @@ -371,8 +371,8 @@ final BufferedImage backBuffer = backBufferRef.get(); if (backBuffer == null) { - if (log.isDebugEnabled()) { - log.debug("lost back buffer"); + if (LOG.isDebugEnabled()) { + LOG.debug("lost back buffer"); } backBufferRef = null; return null; Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/SmoothingRenderer.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/SmoothingRenderer.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/SmoothingRenderer.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -41,19 +41,19 @@ public class SmoothingRenderer { @NotNull - private static final int[] dx = { 1, 2, 2, 2, 1, 0, 0, 0, }; + private static final int[] DX = { 1, 2, 2, 2, 1, 0, 0, 0, }; @NotNull - private static final int[] dy = { 0, 0, 1, 2, 2, 2, 1, 0, }; + private static final int[] DY = { 0, 0, 1, 2, 2, 2, 1, 0, }; @NotNull - private static final int[] bWeights = { 2, 0, 4, 0, 8, 0, 1, 0, }; + private static final int[] B_WEIGHTS = { 2, 0, 4, 0, 8, 0, 1, 0, }; @NotNull - private static final int[] cWeights = { 0, 2, 0, 4, 0, 8, 0, 1, }; + private static final int[] C_WEIGHTS = { 0, 2, 0, 4, 0, 8, 0, 1, }; @NotNull - private static final int[] bcExclude = { 1 + 2, /*north exclude northwest (bit0) and northeast(bit1)*/ + private static final int[] BC_EXCLUDE = { 1 + 2, /*north exclude northwest (bit0) and northeast(bit1)*/ 0, 2 + 4, /*east exclude northeast and southeast*/ 0, 4 + 8, /*and so on*/ 0, 8 + 1, 0 }; @@ -146,7 +146,7 @@ /*surrounding nodes having smoothlevel >0 found*/ /*below is ripped and adapted from sdl client smooth renderer*/ for (int i = 0; i < 8; i++) { - final net.sf.gridarta.model.gameobject.GameObject<?, ?, ?> node = layerNode[dx[i]][dy[i]]; + final net.sf.gridarta.model.gameobject.GameObject<?, ?, ?> node = layerNode[DX[i]][DY[i]]; if (node == null) { sLevels[i] = 0; //false warning: cannot annotate with @Nullable @@ -193,11 +193,11 @@ for (int i = 0; i < 8; i++) { /*check all nearby squares*/ if (sLevels[i] == sLevels[lowest] && sFaces[i] == smoothFace) { partDone[i] = true; - weight += bWeights[i]; - weightC &= ~bcExclude[i]; + weight += B_WEIGHTS[i]; + weightC &= ~BC_EXCLUDE[i]; } else { /*must remove the weight of a corner if not in smoothing*/ - weightC &= ~cWeights[i]; + weightC &= ~C_WEIGHTS[i]; } } if (smoothFace == null) { Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -375,7 +375,7 @@ @NotNull @Override public FileFilter getScriptFileFilter() { - return GuiFileFilters.pythonFileFilter; + return GuiFileFilters.PYTHON_FILE_FILTER; } /** @@ -462,7 +462,7 @@ @NotNull @Override public FileFilter getMapFileFilter() { - return GuiFileFilters.mapFileFilter; + return GuiFileFilters.MAP_FILE_FILTER; } /** Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -151,7 +151,7 @@ /** * The Logger for printing log messages. */ - private static final Category log = Logger.getLogger(DefaultEditorFactory.class); + private static final Category LOG = Logger.getLogger(DefaultEditorFactory.class); /** * The {@link IsoMapSquareInfo} instance. @@ -334,7 +334,7 @@ try { attributeRangeChecker.add(matcher, name, displayName, minValue, maxValue); } catch (final InvalidCheckException ex) { - log.warn(ex.getMessage()); + LOG.warn(ex.getMessage()); } } @@ -483,7 +483,7 @@ @NotNull @Override public FileFilter getScriptFileFilter() { - return GuiFileFilters.luaFileFilter; + return GuiFileFilters.LUA_FILE_FILTER; } /** @@ -570,7 +570,7 @@ @NotNull @Override public FileFilter getMapFileFilter() { - return GuiFileFilters.mapFileFilter; + return GuiFileFilters.MAP_FILE_FILTER; } /** Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/CollectArchesAction.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -59,7 +59,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(CollectArchesAction.class); + private static final Category LOG = Logger.getLogger(CollectArchesAction.class); /** * The project settings instance. @@ -209,7 +209,7 @@ tmp.waitUntilFinished(); } catch (final InterruptedException ignored) { Thread.currentThread().interrupt(); - log.warn("DelayedMapModelListenerManager was interrupted"); + LOG.warn("DelayedMapModelListenerManager was interrupted"); } } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/commands/CollectArchesCommand.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/commands/CollectArchesCommand.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/commands/CollectArchesCommand.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -38,7 +38,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(CollectArchesCommand.class); + private static final Category LOG = Logger.getLogger(CollectArchesCommand.class); /** * The project to collect. @@ -60,7 +60,7 @@ @Override public int execute() { if (!projectModel.getResources().canWriteCollected()) { - log.fatal("Cannot collect resources"); + LOG.fatal("Cannot collect resources"); return 1; } final Collector collector = new Collector(new ConsoleProgress(), projectModel.getResources(), projectModel.getProjectSettings().getCollectedDirectory()); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/autovalidator/AutoValidator.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/autovalidator/AutoValidator.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/autovalidator/AutoValidator.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -48,7 +48,7 @@ * Preferences. */ @NotNull - private static final Preferences preferences = Preferences.userNodeForPackage(MainControl.class); + private static final Preferences PREFERENCES = Preferences.userNodeForPackage(MainControl.class); /** * The map validators to run. @@ -118,7 +118,7 @@ this.delayedMapModelListenerManager = delayedMapModelListenerManager; setDefaultPreferencesValue(autoDefault); wasEnabled = isEnabled(); // call to isEnabled() must not happen before setDefaultPreferencesValue() - preferences.addPreferenceChangeListener(preferenceChangeListener); + PREFERENCES.addPreferenceChangeListener(preferenceChangeListener); delayedMapModelListenerManager.addDelayedMapModelListener(delayedMapModelListener); } @@ -136,9 +136,9 @@ * @param autoDefault the default value to set */ private static void setDefaultPreferencesValue(final boolean autoDefault) { - final boolean enabled = preferences.getBoolean(PREFERENCES_VALIDATOR_AUTO, autoDefault); + final boolean enabled = PREFERENCES.getBoolean(PREFERENCES_VALIDATOR_AUTO, autoDefault); if (enabled != isEnabled()) { - preferences.putBoolean(PREFERENCES_VALIDATOR_AUTO, autoDefault); + PREFERENCES.putBoolean(PREFERENCES_VALIDATOR_AUTO, autoDefault); } } @@ -147,7 +147,7 @@ * @return whether the auto-validator is enabled */ public static boolean isEnabled() { - return preferences.getBoolean(PREFERENCES_VALIDATOR_AUTO, false); + return PREFERENCES.getBoolean(PREFERENCES_VALIDATOR_AUTO, false); } /** @@ -155,7 +155,7 @@ * @param enabled whether the auto-validator is enabled */ public static void setEnabled(final boolean enabled) { - preferences.putBoolean(PREFERENCES_VALIDATOR_AUTO, enabled); + PREFERENCES.putBoolean(PREFERENCES_VALIDATOR_AUTO, enabled); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/delayedmapmodel/DelayedMapModelListenerManager.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/delayedmapmodel/DelayedMapModelListenerManager.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/delayedmapmodel/DelayedMapModelListenerManager.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -55,7 +55,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(DelayedMapModelListenerManager.class); + private static final Category LOG = Logger.getLogger(DelayedMapModelListenerManager.class); /** * Notification delay in milliseconds. All listeners will be notified this @@ -198,7 +198,7 @@ } }); } catch (final InvocationTargetException ex) { - log.error("InvocationTargetException: " + ex.getMessage(), ex); + LOG.error("InvocationTargetException: " + ex.getMessage(), ex); } mapModels.clear(); } @@ -227,7 +227,7 @@ thread.join(); } catch (final InterruptedException ignored) { Thread.currentThread().interrupt(); - log.warn("DelayedMapModelListenerManager was interrupted"); + LOG.warn("DelayedMapModelListenerManager was interrupted"); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/findarchetypes/TableModel.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/findarchetypes/TableModel.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/findarchetypes/TableModel.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -56,7 +56,7 @@ /** * The column titles. */ - private static final String[] columnName = { ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnName"), ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnArch"), ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnType"), ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnFolder"), }; + private static final String[] COLUMN_NAME = { ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnName"), ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnArch"), ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnType"), ActionBuilderUtils.getString(ACTION_BUILDER, "findArchetypesColumnFolder"), }; /** * The instance for looking up archetype types. @@ -184,7 +184,7 @@ @NotNull @Override public String getColumnName(final int column) { - return columnName[column]; + return COLUMN_NAME[column]; } /** Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttribute.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttribute.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttribute.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -44,7 +44,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(DialogAttribute.class); + private static final Category LOG = Logger.getLogger(DialogAttribute.class); /** * Reference to the attribute data. @@ -102,7 +102,7 @@ try { doc.insertString(doc.getLength(), prefix + ref.getAttributeName() + postfix + "\n", style); } catch (final BadLocationException e) { - log.error("toggleSummary: Bad Location in Document!", e); + LOG.error("toggleSummary: Bad Location in Document!", e); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttributeBitmask.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttributeBitmask.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/DialogAttributeBitmask.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -44,7 +44,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(DialogAttributeBitmask.class); + private static final Category LOG = Logger.getLogger(DialogAttributeBitmask.class); /** * The input ui component for editing the value. @@ -137,7 +137,7 @@ if (bitmask != null) { input.setText(bitmask.getText(value)); } else { - log.warn("null bitmask"); + LOG.warn("null bitmask"); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/GameObjectAttributesDialog.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/GameObjectAttributesDialog.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/GameObjectAttributesDialog.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -107,7 +107,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(GameObjectAttributesDialog.class); + private static final Category LOG = Logger.getLogger(GameObjectAttributesDialog.class); /** * Action Builder. @@ -669,7 +669,7 @@ dialogAttribute.appendSummary(doc, summaryTextStyle); } } catch (final BadLocationException e) { - log.error("toggleSummary: Bad Location in Document!", e); + LOG.error("toggleSummary: Bad Location in Document!", e); } summaryTextPane.setCaretPosition(0); // this prevents the document from scrolling down Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gomap/GoMapDialogManager.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gomap/GoMapDialogManager.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gomap/GoMapDialogManager.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -47,7 +47,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(GoMapDialogManager.class); + private static final Category LOG = Logger.getLogger(GoMapDialogManager.class); /** * The parent {@link Window} for go map dialogs. @@ -99,7 +99,7 @@ mapsIndexer.stop(); } catch (final InterruptedException ignored) { Thread.currentThread().interrupt(); - log.warn("Waiting for MapsIndexer to terminate was interrupted"); + LOG.warn("Waiting for MapsIndexer to terminate was interrupted"); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/help/HtmlPane.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/help/HtmlPane.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/help/HtmlPane.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -48,7 +48,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Logger log = Logger.getLogger("HtmlPane.class"); + private static final Logger LOG = Logger.getLogger("HtmlPane.class"); /** * Serial Version UID. @@ -82,12 +82,12 @@ html = new JEditorPane(url1); } else { // let's try it again without first directory - log.info("trying: HelpFiles/" + fileName); + LOG.info("trying: HelpFiles/" + fileName); final URL url2 = ClassLoader.getSystemResource("HelpFiles/" + fileName); if (url2 != null) { html = new JEditorPane(url2); } else { - log.info("Failed to open help file '" + fileName + "'!"); + LOG.info("Failed to open help file '" + fileName + "'!"); throw new RuntimeException(); // FIXME } } @@ -113,10 +113,10 @@ // failed to open the html file throw new RuntimeException(e); // FIXME } catch (final MalformedURLException e) { - log.log(Level.WARNING, "Malformed URL: %s", e); + LOG.log(Level.WARNING, "Malformed URL: %s", e); throw new RuntimeException(e); // FIXME } catch (final IOException e) { - log.log(Level.WARNING, "IOException: %s", e); + LOG.log(Level.WARNING, "IOException: %s", e); throw new RuntimeException(e); // FIXME } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractMapsizeNewMapDialog.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractMapsizeNewMapDialog.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractMapsizeNewMapDialog.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -108,13 +108,13 @@ */ @Override protected void addFields(@NotNull final JPanel panel, @NotNull final GridBagConstraints gbcLabel, @NotNull final GridBagConstraints gbcField) { - mapWidthField.setText(Integer.toString(widthKey == null ? defaultWidth : preferences.getInt(widthKey, defaultWidth))); + mapWidthField.setText(Integer.toString(widthKey == null ? defaultWidth : PREFERENCES.getInt(widthKey, defaultWidth))); mapWidthField.setColumns(3); panel.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "mapWidth"), gbcLabel); panel.add(mapWidthField, gbcField); mapWidthField.selectAll(); - mapHeightField.setText(Integer.toString(heightKey == null ? defaultHeight : preferences.getInt(heightKey, defaultHeight))); + mapHeightField.setText(Integer.toString(heightKey == null ? defaultHeight : PREFERENCES.getInt(heightKey, defaultHeight))); mapHeightField.setColumns(3); panel.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "mapHeight"), gbcLabel); panel.add(mapHeightField, gbcField); @@ -139,10 +139,10 @@ } if (widthKey != null) { - preferences.putInt(widthKey, width); + PREFERENCES.putInt(widthKey, width); } if (heightKey != null) { - preferences.putInt(heightKey, height); + PREFERENCES.putInt(heightKey, height); } return new Size2D(width, height); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractNewMapDialog.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractNewMapDialog.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/AbstractNewMapDialog.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -76,7 +76,7 @@ * Preferences. */ @NotNull - protected static final Preferences preferences = Preferences.userNodeForPackage(MainControl.class); + protected static final Preferences PREFERENCES = Preferences.userNodeForPackage(MainControl.class); /** * JButton for ok. Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewMapDialog.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewMapDialog.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/newmap/NewMapDialog.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -201,7 +201,7 @@ } super.addFields(panel, gbcLabel, gbcField); if (showMapDifficulty) { - mapDifficultyField.setText(Integer.toString(preferences.getInt(DEFAULT_DIFFICULTY_KEY, defaultDifficulty))); + mapDifficultyField.setText(Integer.toString(PREFERENCES.getInt(DEFAULT_DIFFICULTY_KEY, defaultDifficulty))); panel.add(ActionBuilderUtils.newLabel(ACTION_BUILDER, "mapDifficulty"), gbcLabel); mapDifficultyField.setColumns(3); panel.add(mapDifficultyField, gbcField); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ArchComboBox.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ArchComboBox.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ArchComboBox.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -39,7 +39,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(ArchComboBox.class); + private static final Category LOG = Logger.getLogger(ArchComboBox.class); private static final long serialVersionUID = 1L; @@ -65,12 +65,12 @@ setEditable(true); setEditor(archComboBoxEditor); final Dimension d = getPreferredSize(); - if (log.isDebugEnabled()) { - log.debug("Preferred size: " + d); + if (LOG.isDebugEnabled()) { + LOG.debug("Preferred size: " + d); } setPreferredSize(new Dimension(d.width, archComboBoxEditor.getEditorComponent().getPreferredSize().height)); - if (log.isDebugEnabled()) { - log.debug("NEW Preferred size: " + getPreferredSize()); + if (LOG.isDebugEnabled()) { + LOG.debug("NEW Preferred size: " + getPreferredSize()); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ParameterTypeEditor.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ParameterTypeEditor.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/ParameterTypeEditor.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -41,7 +41,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(ParameterTypeEditor.class); + private static final Category LOG = Logger.getLogger(ParameterTypeEditor.class); public ParameterTypeEditor(@NotNull final PluginModel<G, A, R> pluginModel, @NotNull final Plugin<G, A, R> plugin, @NotNull final PluginParameter<G, A, R, ?> parameter) { super(pluginModel.getTypes()); @@ -55,7 +55,7 @@ try { plugin.convertType(parameter, (String) e.getItem()); } catch (final NoSuchParameterException ex) { - log.warn("Cannot create parameter for type " + e.getItem()); + LOG.warn("Cannot create parameter for type " + e.getItem()); } } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/replace/ReplaceDialog.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/replace/ReplaceDialog.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/replace/ReplaceDialog.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -475,7 +475,7 @@ objectsToReplace.clear(); for (final G node : square) { if (node.isHead() && matchCriteria.matches(node)) { - if (replaceDensity > RandomUtils.rnd.nextInt(100)) { + if (replaceDensity > RandomUtils.RND.nextInt(100)) { objectsToReplace.add(node); } } @@ -505,7 +505,7 @@ if (replaceListSize == 1) { randomArch = replaceList.get(0); } else { - randomArch = replaceList.get(RandomUtils.rnd.nextInt(replaceList.size())); + randomArch = replaceList.get(RandomUtils.RND.nextInt(replaceList.size())); } // insert replacement object if (randomArch.isMulti()) { Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/ShortcutsManager.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/ShortcutsManager.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/shortcuts/ShortcutsManager.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -72,7 +72,7 @@ * A {@link Comparator} that compares {@link Action Actions} by name. */ @NotNull - private static final Comparator<Action> actionComparator = new Comparator<Action>() { + private static final Comparator<Action> ACTION_COMPARATOR = new Comparator<Action>() { @Override public int compare(@NotNull final Action o1, @NotNull final Action o2) { @@ -251,7 +251,7 @@ } } } - Collections.sort(result, actionComparator); + Collections.sort(result, ACTION_COMPARATOR); return result.iterator(); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/filter/FilterMenuEntry.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/filter/FilterMenuEntry.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/filter/FilterMenuEntry.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -40,7 +40,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(NamedFilter.class); + private static final Category LOG = Logger.getLogger(NamedFilter.class); /** * The serial version UID. @@ -95,8 +95,8 @@ switch (type) { case ADD: for (final FilterComponent filterComponent : components) { - if (log.isDebugEnabled()) { - log.debug("set sub filter enabled(), calling on " + filterName); + if (LOG.isDebugEnabled()) { + LOG.debug("set sub filter enabled(), calling on " + filterName); } config.setSubFilterEnabled(filterName, false); filterComponent.addFilter(filterName, config.getConfig(filterName)); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapPreviewAccessory.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapPreviewAccessory.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapPreviewAccessory.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -67,7 +67,7 @@ * Preferences. */ @NotNull - private static final Preferences preferences = Preferences.userNodeForPackage(MainControl.class); + private static final Preferences PREFERENCES = Preferences.userNodeForPackage(MainControl.class); /** * Preferences key for automatic preview generation. @@ -160,7 +160,7 @@ * Build the user interface. */ private void buildUI() { - setAutoGeneratePreviews(preferences.getBoolean(PREFERENCES_AUTO_GENERATE_PREVIEW, false)); + setAutoGeneratePreviews(PREFERENCES.getBoolean(PREFERENCES_AUTO_GENERATE_PREVIEW, false)); setPreferredSize(new Dimension(240, 115)); setLayout(new BorderLayout()); add(autoGeneratePreview.createCheckBox(), BorderLayout.NORTH); @@ -197,7 +197,7 @@ public void setAutoGeneratePreviews(final boolean autoGeneratePreviews) { this.autoGeneratePreviews = autoGeneratePreviews; autoGeneratePreview.setSelected(autoGeneratePreviews); - preferences.putBoolean(PREFERENCES_AUTO_GENERATE_PREVIEW, autoGeneratePreviews); + PREFERENCES.putBoolean(PREFERENCES_AUTO_GENERATE_PREVIEW, autoGeneratePreviews); if (autoGeneratePreviews) { fileChooser.validate(); fileChooser.repaint(); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/FlatMapTilePane.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/FlatMapTilePane.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/FlatMapTilePane.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -45,18 +45,18 @@ /** * The tile links used for the attach map algorithm. */ - private static final MapLink[][] tileLink = new MapLink[8][0]; + private static final MapLink[][] TILE_LINK = new MapLink[8][0]; /** * Maps map direction to {@link net.sf.gridarta.gui.utils.DirectionLayout} * direction. */ - private static final Direction[] directionMapping = { Direction.NORTH_WEST, Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, }; + private static final Direction[] DIRECTION_MAPPING = { Direction.NORTH_WEST, Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, }; /** * Indices of next focus. */ - private static final int[] nextFocus = { 1, 2, 3, 0 }; + private static final int[] NEXT_FOCUS = { 1, 2, 3, 0 }; /** * Create a MapTilePane. @@ -66,7 +66,7 @@ * @param mapFileFilter the Swing file filter to use */ public FlatMapTilePane(final MapManager<G, A, R> mapManager, @NotNull final ProjectSettings projectSettings, final MapModel<G, A, R> mapModel, final FileFilter mapFileFilter) { - super(mapManager, projectSettings, mapModel, tileLink, directionMapping, nextFocus, mapFileFilter); + super(mapManager, projectSettings, mapModel, TILE_LINK, DIRECTION_MAPPING, NEXT_FOCUS, mapFileFilter); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/IsoMapTilePane.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/IsoMapTilePane.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/IsoMapTilePane.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -45,45 +45,45 @@ /** * The tile links used for the attach map algorithm. */ - private static final MapLink[][] tileLink = new MapLink[8][2]; + private static final MapLink[][] TILE_LINK = new MapLink[8][2]; static { /* fine list of indirect links von maps around to other maps around us */ - tileLink[Direction.NORTH.ordinal()][0] = new MapLink(Direction.NORTH_WEST, Direction.WEST); - tileLink[Direction.NORTH.ordinal()][1] = new MapLink(Direction.NORTH_EAST, Direction.EAST); + TILE_LINK[Direction.NORTH.ordinal()][0] = new MapLink(Direction.NORTH_WEST, Direction.WEST); + TILE_LINK[Direction.NORTH.ordinal()][1] = new MapLink(Direction.NORTH_EAST, Direction.EAST); - tileLink[Direction.NORTH_EAST.ordinal()][0] = new MapLink(Direction.NORTH, Direction.WEST); - tileLink[Direction.NORTH_EAST.ordinal()][1] = new MapLink(Direction.EAST, Direction.SOUTH); + TILE_LINK[Direction.NORTH_EAST.ordinal()][0] = new MapLink(Direction.NORTH, Direction.WEST); + TILE_LINK[Direction.NORTH_EAST.ordinal()][1] = new MapLink(Direction.EAST, Direction.SOUTH); - tileLink[Direction.EAST.ordinal()][0] = new MapLink(Direction.NORTH_EAST, Direction.NORTH); - tileLink[Direction.EAST.ordinal()][1] = new MapLink(Direction.SOUTH_EAST, Direction.SOUTH); + TILE_LINK[Direction.EAST.ordinal()][0] = new MapLink(Direction.NORTH_EAST, Direction.NORTH); + TILE_LINK[Direction.EAST.ordinal()][1] = new MapLink(Direction.SOUTH_EAST, Direction.SOUTH); - tileLink[Direction.SOUTH_EAST.ordinal()][0] = new MapLink(Direction.EAST, Direction.NORTH); - tileLink[Direction.SOUTH_EAST.ordinal()][1] = new MapLink(Direction.SOUTH, Direction.WEST); + TILE_LINK[Direction.SOUTH_EAST.ordinal()][0] = new MapLink(Direction.EAST, Direction.NORTH); + TILE_LINK[Direction.SOUTH_EAST.ordinal()][1] = new MapLink(Direction.SOUTH, Direction.WEST); - tileLink[Direction.SOUTH.ordinal()][0] = new MapLink(Direction.SOUTH_EAST, Direction.EAST); - tileLink[Direction.SOUTH.ordinal()][1] = new MapLink(Direction.SOUTH_WEST, Direction.WEST); + TILE_LINK[Direction.SOUTH.ordinal()][0] = new MapLink(Direction.SOUTH_EAST, Direction.EAST); + TILE_LINK[Direction.SOUTH.ordinal()][1] = new MapLink(Direction.SOUTH_WEST, Direction.WEST); - tileLink[Direction.SOUTH_WEST.ordinal()][0] = new MapLink(Direction.SOUTH, Direction.EAST); - tileLink[Direction.SOUTH_WEST.ordinal()][1] = new MapLink(Direction.WEST, Direction.NORTH); + TILE_LINK[Direction.SOUTH_WEST.ordinal()][0] = new MapLink(Direction.SOUTH, Direction.EAST); + TILE_LINK[Direction.SOUTH_WEST.ordinal()][1] = new MapLink(Direction.WEST, Direction.NORTH); - tileLink[Direction.WEST.ordinal()][0] = new MapLink(Direction.SOUTH_WEST, Direction.SOUTH); - tileLink[Direction.WEST.ordinal()][1] = new MapLink(Direction.NORTH_WEST, Direction.NORTH); + TILE_LINK[Direction.WEST.ordinal()][0] = new MapLink(Direction.SOUTH_WEST, Direction.SOUTH); + TILE_LINK[Direction.WEST.ordinal()][1] = new MapLink(Direction.NORTH_WEST, Direction.NORTH); - tileLink[Direction.NORTH_WEST.ordinal()][0] = new MapLink(Direction.WEST, Direction.SOUTH); - tileLink[Direction.NORTH_WEST.ordinal()][1] = new MapLink(Direction.NORTH, Direction.EAST); + TILE_LINK[Direction.NORTH_WEST.ordinal()][0] = new MapLink(Direction.WEST, Direction.SOUTH); + TILE_LINK[Direction.NORTH_WEST.ordinal()][1] = new MapLink(Direction.NORTH, Direction.EAST); } /** * Maps map direction to {@link net.sf.gridarta.gui.utils.DirectionLayout} * direction. */ - private static final Direction[] directionMapping = { Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, }; + private static final Direction[] DIRECTION_MAPPING = { Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH_EAST, Direction.SOUTH_EAST, Direction.SOUTH_WEST, Direction.NORTH_WEST, }; /** * Indices of next focus. */ - private static final int[] nextFocus = { 4, 5, 6, 7, 1, 2, 3, 0 }; + private static final int[] NEXT_FOCUS = { 4, 5, 6, 7, 1, 2, 3, 0 }; /** * Create a MapTilePane. @@ -93,7 +93,7 @@ * @param mapFileFilter the Swing file filter to use */ public IsoMapTilePane(final MapManager<G, A, R> mapManager, @NotNull final ProjectSettings projectSettings, final MapModel<G, A, R> mapModel, final FileFilter mapFileFilter) { - super(mapManager, projectSettings, mapModel, tileLink, directionMapping, nextFocus, mapFileFilter); + super(mapManager, projectSettings, mapModel, TILE_LINK, DIRECTION_MAPPING, NEXT_FOCUS, mapFileFilter); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/AbstractMapView.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/AbstractMapView.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/AbstractMapView.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -119,7 +119,7 @@ if (objectSize == 1) { return objects.get(0); } - return objects.get(RandomUtils.rnd.nextInt(objects.size())); + return objects.get(RandomUtils.RND.nextInt(objects.size())); } /** Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/DefaultMapView.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/DefaultMapView.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/DefaultMapView.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -68,7 +68,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(DefaultMapView.class); + private static final Category LOG = Logger.getLogger(DefaultMapView.class); /** * Action Builder to create Actions. @@ -328,7 +328,7 @@ try { internalFrame.setSelected(true); } catch (final PropertyVetoException e) { - log.warn("Unexpected exception", e); + LOG.warn("Unexpected exception", e); } internalFrame.setVisible(true); internalFrame.requestFocus(); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -49,7 +49,7 @@ * The Logger for printing log messages. */ @NotNull - private static final Category log = Logger.getLogger(ImageCreator.class); + private static final Category LOG = Logger.getLogger(ImageCreator.class); /** * The {@link MapManager} for loading map instances. @@ -81,14 +81,14 @@ throw new IOException("cannot rename " + tmpFile + " to " + file); } } - if (log.isInfoEnabled()) { - log.info(ACTION_BUILDER.format("logImageCreated", file, mapModel.getMapArchObject().getMapName())); + if (LOG.isInfoEnabled()) { + LOG.info(ACTION_BUILDER.format("logImageCreated", file, mapModel.getMapArchObject().getMapName())); } } public void makeImage(final File in, final File out) throws IOException { - if (log.isInfoEnabled()) { - log.info("converting " + in + " to " + out); + if (LOG.isInfoEnabled()) { + LOG.info("converting " + in + " to " + out); } if (in.canRead()) { Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator2.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator2.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -86,7 +86,7 @@ fileChooser.setMultiSelectionEnabled(false); fileChooser.setSelectedFile(file); // set a file filter for "*.png" files - fileChooser.setFileFilter(FileFilters.pngFileFilter); + fileChooser.setFileFilter(FileFilters.PNG_FILE_FILTER); FileChooserUtils.sanitizeCurrentDirectory(fileChooser); final int returnVal = fileChooser.showSaveDialog(component); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/viewaction/ViewActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/viewaction/ViewActions.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/viewaction/ViewActions.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -145,7 +145,7 @@ * The comparator for sorting menu entries. */ @NotNull - private static final Comparator<ViewAction> actionNameComparator = new Comparator<ViewAction>() { + private static final Comparator<ViewAction> ACTION_NAME_COMPARATOR = new Comparator<ViewAction>() { @Override public int compare(final ViewAction o1, final ViewAction o2) { @@ -174,7 +174,7 @@ } final ViewAction[] actions = viewActions.toArray(new ViewAction[viewActions.size()]); - Arrays.sort(actions, actionNameComparator); + Arrays.sort(actions, ACTION_NAME_COMPARATOR); int index = 0; for (final ViewAction viewAction : actions) { viewActionsMenu.add(viewAction.getCheckBoxMenuItem(), index++); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java 2014-02-16 19:58:59 UTC (rev 9578) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java 2014-02-16 20:21:46 UTC (rev 9579) @@ -59,7 +59,7 @@ * All {@link Direction Directions}. */ @NotNull - private static final Direction[] directions = Direction.values(); + private static final Direction[] DIRECTIONS = Direction.values(); @NotNull private final MapActions<G, A, R> mapActions; @@ -176,7 +176,7 @@ */ public MapCursorActions(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final MapActions<G, A, R> mapActions) { this.mapActions = mapActions; - aMoveCursor = new Action[directions.length]; + aMoveCursor = new Action[DIRECTIONS.length]; mapViewManager.addMapViewManagerListener(mapViewManagerListener); currentMapView = mapViewManager.getActiveMapView(); refreshActions(); @@ -250,7 +250,7 @@ * Enable/disable menu entries based on the current cursor state. */ private void refreshActions() { - for (final Direction direction : directions) { + for (final Direction direction : DIRECTIONS) { final Action action = aMoveCursor[direction.ordinal()]; if (action != null) { action.setEnabled(doMoveCursor(false, direction)); @@ -292,7 +292,7 @@ public void setAction(@NotNull final Action action, @NotNull final String name) { if (name.startsWith("moveCursor")) { boolean found = false; - for (final Direction direction : directions) { + for (final Direction direction : DIRECTIONS) { if (name.equals("moveCursor" + direction.getId())) { aMoveCursor[direction.ordinal()] = action; found = true; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapdesktop/MapDesktop.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapdeskto... [truncated message content] |
From: <aki...@us...> - 2014-02-16 19:59:03
|
Revision: 9578 http://sourceforge.net/p/gridarta/code/9578 Author: akirschbaum Date: 2014-02-16 19:58:59 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Remove unused code. Modified Paths: -------------- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java trunk/src/model/src/test/java/net/sf/gridarta/model/io/DefaultMapReaderTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java 2014-02-16 19:56:12 UTC (rev 9577) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java 2014-02-16 19:58:59 UTC (rev 9578) @@ -1097,7 +1097,6 @@ } } else { point.x--; - final int mapHeight = mapSize.getHeight(); if (point.x < 0) { point.x = mapSize.getWidth() - 1; point.y--; Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/io/DefaultMapReaderTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/io/DefaultMapReaderTest.java 2014-02-16 19:56:12 UTC (rev 9577) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/io/DefaultMapReaderTest.java 2014-02-16 19:58:59 UTC (rev 9578) @@ -29,7 +29,6 @@ import net.sf.gridarta.model.maparchobject.TestMapArchObject; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapcontrol.TestMapControlCreator; -import net.sf.gridarta.model.mapmodel.InsertionMode; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.TestMapModelCreator; import net.sf.gridarta.utils.Size2D; @@ -54,7 +53,6 @@ final File mapFile = File.createTempFile("gridarta", null); final MapControl<TestGameObject, TestMapArchObject, TestArchetype> mapControl = mapControlCreator.newMapControl(mapControlCreator.getPathManager().getMapFile(mapFile), "test", new Size2D(2, 1)); final MapModel<TestGameObject, TestMapArchObject, TestArchetype> mapModel = mapControl.getMapModel(); - final InsertionMode<TestGameObject, TestMapArchObject, TestArchetype> insertionMode = mapModelCreator.getTopmostInsertionMode(); final TestArchetype arch1x1 = mapModelCreator.getArchetype("arch1x1"); final TestArchetype arch2x1 = mapModelCreator.newArchetype("arch2x1"); final TestArchetype arch2x1b = mapModelCreator.newArchetype("arch2x1b"); Modified: trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java 2014-02-16 19:56:12 UTC (rev 9577) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java 2014-02-16 19:58:59 UTC (rev 9578) @@ -119,12 +119,6 @@ private final MapArchObjectFactory<TestMapArchObject> mapArchObjectFactory = new TestMapArchObjectFactory(); /** - * The {@link FileControl} instance. - */ - @NotNull - private final FileControl<TestGameObject, TestMapArchObject, TestArchetype> fileControl = new TestFileControl(); - - /** * The {@link MapModelFactory} instance. */ @NotNull @@ -164,6 +158,7 @@ mapModelFactory = new MapModelFactory<TestGameObject, TestMapArchObject, TestArchetype>(archetypeChooserModel, mapModelCreator.getAutojoinLists(), mapModelCreator.getGameObjectFactory(), mapModelCreator.getGameObjectMatchers(), mapModelCreator.getTopmostInsertionMode()); mapControlFactory = new TestMapControlFactory(mapWriter, projectSettings, mapModelFactory); final AbstractMapManager<TestGameObject, TestMapArchObject, TestArchetype> tmpMapManager = new DefaultMapManager<TestGameObject, TestMapArchObject, TestArchetype>(mapReaderFactory, mapControlFactory, projectSettings, mapModelCreator.getFaceObjectProviders(), pathManager); + final FileControl<TestGameObject, TestMapArchObject, TestArchetype> fileControl = new TestFileControl(); tmpMapManager.setFileControl(fileControl); mapManager = tmpMapManager; final AbstractMapManager<TestGameObject, TestMapArchObject, TestArchetype> tmpPickmapManager = new DefaultMapManager<TestGameObject, TestMapArchObject, TestArchetype>(mapReaderFactory, mapControlFactory, projectSettings, mapModelCreator.getFaceObjectProviders(), pathManager); @@ -249,15 +244,6 @@ } /** - * Returns the {@link FileControl} instance. - * @return the file control instance - */ - @NotNull - public FileControl<TestGameObject, TestMapArchObject, TestArchetype> getFileControl() { - return fileControl; - } - - /** * Returns a new {@link AutojoinListsHelper} instance. * @return the autojoin lists helper instance */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:56:16
|
Revision: 9577 http://sourceforge.net/p/gridarta/code/9577 Author: akirschbaum Date: 2014-02-16 19:56:12 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Remove redundant null checks. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/ShiftProcessor.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/FaceTab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptedEventEditor.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/DirectionLayout.java trunk/src/model/src/main/java/net/sf/gridarta/model/filter/FilterParser.java trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/JEditTextArea.java Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -93,9 +93,6 @@ if (in.canRead()) { final MapControl<G, A, R> mapControl = mapManager.openMapFile(in, false); - if (mapControl == null) { - return; - } try { createImage(mapControl.getMapModel(), out); } finally { Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/ShiftProcessor.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/ShiftProcessor.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/ShiftProcessor.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -331,6 +331,7 @@ } assert startGameObjects.isEmpty(); assert mapGrid != null; + //noinspection ConstantConditions mapGrid.select(prevPos, startSelection ? SelectionMode.ADD : SelectionMode.SUB); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/FaceTab.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/FaceTab.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/FaceTab.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -225,6 +225,7 @@ final String tmpFaceName = gameObject.getFaceName(); if (tmpFaceName != null) { faceName = normalizeFace(tmpFaceName); + //noinspection ConstantConditions if (severity == Severity.DEFAULT) { severity = Severity.MODIFIED; } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptedEventEditor.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptedEventEditor.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/scripts/ScriptedEventEditor.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -107,9 +107,7 @@ // now see if that file really exists: if (scriptFile.exists() && scriptFile.isFile()) { final String path = scriptFile.getAbsolutePath(); - if (scriptEditControl != null) { - scriptEditControl.openScriptFile(path); - } + scriptEditControl.openScriptFile(path); } else { // file does not exist! ACTION_BUILDER.showMessageDialog(parent, "openScriptNotFound", scriptFile); Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/DirectionLayout.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/DirectionLayout.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/DirectionLayout.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -186,9 +186,6 @@ final Direction direction; if (constraints instanceof Integer) { direction = getDirectionFromDaimonin((Integer) constraints); - if (direction == null) { - throw new IllegalArgumentException("Illegal constraint number: " + constraints); - } } else if (!(constraints instanceof Direction)) { throw new IllegalArgumentException("DirectionLayout does not support " + constraints.getClass().getName() + " constraints."); } else { Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/filter/FilterParser.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/filter/FilterParser.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/filter/FilterParser.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -112,9 +112,7 @@ for (final Element filterElement : it) { final String name = filterElement.getChildTextTrim("name"); final FilterConfig<?, ?> subFilterConfig = filterConfig.getConfig(name); - if (subFilterConfig != null) { - fromXML(filterElement, subFilterConfig); - } + fromXML(filterElement, subFilterConfig); } } Modified: trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/JEditTextArea.java =================================================================== --- trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/JEditTextArea.java 2014-02-16 19:44:19 UTC (rev 9576) +++ trunk/src/textedit/src/main/java/net/sf/gridarta/textedit/textarea/JEditTextArea.java 2014-02-16 19:56:12 UTC (rev 9577) @@ -390,10 +390,6 @@ * directly. */ public void recalculateVisibleLines() { - if (painter == null) { - return; - } - final int height = painter.getHeight(); // get line height @@ -1361,10 +1357,6 @@ */ @Override public void processKeyEvent(@NotNull final KeyEvent e) { - if (inputHandler == null) { - return; - } - switch (e.getID()) { case KeyEvent.KEY_TYPED: inputHandler.keyTyped(e); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:44:22
|
Revision: 9576 http://sourceforge.net/p/gridarta/code/9576 Author: akirschbaum Date: 2014-02-16 19:44:19 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Simplify code. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_fr.properties trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_sv.properties Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java 2014-02-16 19:37:34 UTC (rev 9575) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java 2014-02-16 19:44:19 UTC (rev 9576) @@ -79,10 +79,9 @@ * @return whether the action was or can be performed * @throws CannotLoadMapFileException if a map file cannot be loaded * @throws CannotSaveMapFileException if a map file cannot be saved - * @throws InvalidPathNameException if a map path cannot be converted * @throws MapSizeMismatchException if adjacent map sizes do not match */ - public boolean attachTiledMaps(@NotNull final MapModel<G, A, R> mapModel, @NotNull final String[] tilePaths, @NotNull final File mapsDirectory, final boolean performAction) throws CannotLoadMapFileException, CannotSaveMapFileException, InvalidPathNameException, MapSizeMismatchException { + public boolean attachTiledMaps(@NotNull final MapModel<G, A, R> mapModel, @NotNull final String[] tilePaths, @NotNull final File mapsDirectory, final boolean performAction) throws CannotLoadMapFileException, CannotSaveMapFileException, MapSizeMismatchException { if (mapModel.getMapFile() == null) { return false; // cannot update unsaved map } @@ -227,27 +226,14 @@ * @param tilePaths the tile paths to update * @param mapsDirectory the maps directory * @throws CannotSaveMapFileException if a map file cannot be saved - * @throws InvalidPathNameException if a map path cannot be converted */ - private void updateTilePaths(@NotNull final MapModel<G, A, R> mapModel, @NotNull final List<MapControl<G, A, R>> mapControls, @NotNull final String[] tilePaths, @NotNull final File mapsDirectory) throws CannotSaveMapFileException, InvalidPathNameException { + private void updateTilePaths(@NotNull final MapModel<G, A, R> mapModel, @NotNull final List<MapControl<G, A, R>> mapControls, @NotNull final String[] tilePaths, @NotNull final File mapsDirectory) throws CannotSaveMapFileException { for (int i = 0; i < tilePaths.length; i++) { final MapControl<G, A, R> mapControl = mapControls.get(i); if (mapControl != null) { // generate a valid path relative to both map positions - final MapFile mapFile1 = mapModel.getMapFile(); - final String canonicalMapPath1; - try { - canonicalMapPath1 = mapFile1.getFile().getCanonicalPath(); - } catch (final IOException ex) { - throw new InvalidPathNameException(mapFile1.getFile(), ex); - } - final MapFile mapFile2 = mapControl.getMapModel().getMapFile(); - final String canonicalMapPath2; - try { - canonicalMapPath2 = mapFile2.getFile().getCanonicalPath(); - } catch (final IOException ex) { - throw new InvalidPathNameException(mapFile2.getFile(), ex); - } + final String canonicalMapPath2 = mapControl.getMapModel().getMapFile().getFile().getPath(); + final String canonicalMapPath1 = mapModel.getMapFile().getFile().getPath(); final String link1 = getTilePath(canonicalMapPath1, canonicalMapPath2, mapsDirectory); // set the link of our source map to the map around tilePaths[i] = link1; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java 2014-02-16 19:37:34 UTC (rev 9575) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java 2014-02-16 19:44:19 UTC (rev 9576) @@ -32,7 +32,6 @@ import net.sf.gridarta.actions.AttachTiledMaps; import net.sf.gridarta.actions.CannotLoadMapFileException; import net.sf.gridarta.actions.CannotSaveMapFileException; -import net.sf.gridarta.actions.InvalidPathNameException; import net.sf.gridarta.actions.MapSizeMismatchException; import net.sf.gridarta.gui.utils.DirectionLayout; import net.sf.gridarta.gui.utils.GUIConstants; @@ -250,9 +249,6 @@ } catch (final CannotSaveMapFileException ex) { ACTION_BUILDER.showMessageDialog(this, "mapErrorFatalWrite", ex.getMessage()); // XXX: ignores ex.getMapFile() return; - } catch (final InvalidPathNameException ex) { - ACTION_BUILDER.showMessageDialog(this, "mapErrorInvalid", ex.getMessage()); - return; } catch (final MapSizeMismatchException ex) { ACTION_BUILDER.showMessageDialog(this, "mapErrorDifferentSize", mapModel.getMapArchObject().getMapName(), ex.getMapSize().getWidth(), ex.getMapSize().getHeight(), ex.getMapFile(), ex.getOtherMapSize().getWidth(), ex.getOtherMapSize().getHeight()); return; Modified: trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties =================================================================== --- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties 2014-02-16 19:37:34 UTC (rev 9575) +++ trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties 2014-02-16 19:44:19 UTC (rev 9576) @@ -561,8 +561,6 @@ mapQueryLoaded.message=The map {0} is opened in the editor.\nShould I autosave & update the map? mapErrorPath2.title=Can''t find map mapErrorPath2.message=Please check your map file path: "{0}". -mapErrorInvalid.title=Invalid tile link -mapErrorInvalid.message=In {0}: {1}\nthe link to {2} is invalid.\nLink to {3} is {4}\ngenerated link:{5}\nShould we stop attaching? mapErrorFatalWrite.title=Can''t write map mapErrorFatalWrite.message=Can''t write map\nFatal Error:\n{0} mapErrorDifferentSize.title=Different size Modified: trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties =================================================================== --- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties 2014-02-16 19:37:34 UTC (rev 9575) +++ trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties 2014-02-16 19:44:19 UTC (rev 9576) @@ -539,8 +539,6 @@ mapQueryLoaded.message=Die Karte {0} ist im Editor ge\u00f6ffnet.\nSoll ich sie automatisch speichern und aktualisieren? mapErrorPath2.title=Karte nicht gefunden mapErrorPath2.message=Bitte \u00fcberpr\u00fcfe den Dateipfad f\u00fcr die Karte: "{0}}". -mapErrorInvalid.title=Ung\u00fcltiger Kartenpfad -mapErrorInvalid.message=In {0}: {1}\nder Pfad zu {2} ist ung\u00fcltig.\nDer Pfad nach {3} ist {4}\nErzeugter Pfad:{5}\nVerbinden abbrechen? mapErrorFatalWrite.title=Fehler beim Speichern mapErrorFatalWrite.message=Die Karte kann nicht gespeichert werden:\n{0} mapErrorDifferentSize.title=Unterschiedliche Gr\u00f6\u00dfe Modified: trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_fr.properties =================================================================== --- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_fr.properties 2014-02-16 19:37:34 UTC (rev 9575) +++ trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_fr.properties 2014-02-16 19:44:19 UTC (rev 9576) @@ -533,8 +533,6 @@ #mapQueryLoaded.message= #mapErrorPath2.title= #mapErrorPath2.message= -#mapErrorInvalid.title= -#mapErrorInvalid.message= #mapErrorFatalWrite.title= #mapErrorFatalWrite.message= #mapErrorDifferentSize.title= Modified: trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_sv.properties =================================================================== --- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_sv.properties 2014-02-16 19:37:34 UTC (rev 9575) +++ trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_sv.properties 2014-02-16 19:44:19 UTC (rev 9576) @@ -533,8 +533,6 @@ mapQueryLoaded.message=Kartan {0} \u00e4r \u00f6ppen i editorn.\nSka jag autospara och uppdatera den? mapErrorPath2.title=Kan inte hitta karta mapErrorPath2.message=Var v\u00e4nlig kontrollera s\u00f6kv\u00e4gen: "{0}". -mapErrorInvalid.title=Ogiltig anslutning till n\u00e4rliggande karta -mapErrorInvalid.message=I {0}: {1}\nanslutningen till {2} \u00e4r ogiltig.\nAnslutningen till {3} \u00e4r {4}\ngenererad anslutning:{5}\nSka jag avbryta anslutningen? mapErrorFatalWrite.title=Kan inte skriva karta mapErrorFatalWrite.message=Kan inte skriva karta\n\u00d6desdigert fel:\n{0} mapErrorDifferentSize.title=Olika storlek This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:37:37
|
Revision: 9575 http://sourceforge.net/p/gridarta/code/9575 Author: akirschbaum Date: 2014-02-16 19:37:34 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Move classes to different packages. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java Added Paths: ----------- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/SameMapException.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/UnsavedMapException.java Removed Paths: ------------- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/ Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java 2014-02-16 19:35:04 UTC (rev 9574) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -37,8 +37,8 @@ import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapPath; -import net.sf.gridarta.model.mappathnormalizer.SameMapException; -import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; +import net.sf.gridarta.model.mapmodel.SameMapException; +import net.sf.gridarta.model.mapmodel.UnsavedMapException; import net.sf.gridarta.utils.Size2D; import net.sf.japi.swing.action.ActionBuilder; import net.sf.japi.swing.action.ActionBuilderFactory; Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java 2014-02-16 19:35:04 UTC (rev 9574) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -38,8 +38,6 @@ import net.sf.gridarta.model.gameobject.GameObjectFactory; import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.maparchobject.MapArchObjectListener; -import net.sf.gridarta.model.mappathnormalizer.SameMapException; -import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.model.match.GameObjectMatchers; import net.sf.gridarta.model.match.NamedGameObjectMatcher; import net.sf.gridarta.model.validation.DefaultErrorCollector; Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java 2014-02-16 19:35:04 UTC (rev 9574) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -26,8 +26,6 @@ import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; -import net.sf.gridarta.model.mappathnormalizer.SameMapException; -import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.model.validation.ErrorCollector; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; Copied: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/SameMapException.java (from rev 9574, trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/SameMapException.java) =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/SameMapException.java (rev 0) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/SameMapException.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -0,0 +1,33 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.mapmodel; + +/** + * Exception thrown if the destination path points to the source map. + * @author Andreas Kirschbaum + */ +public class SameMapException extends Exception { + + /** + * The serial version UID. + */ + private static final long serialVersionUID = 1L; + +} Property changes on: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/SameMapException.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +LF \ No newline at end of property Copied: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/UnsavedMapException.java (from rev 9574, trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/UnsavedMapException.java) =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/UnsavedMapException.java (rev 0) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/UnsavedMapException.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -0,0 +1,33 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2011 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.mapmodel; + +/** + * Exception thrown if an operation is attempted on an unsaved map. + * @author Andreas Kirschbaum + */ +public class UnsavedMapException extends Exception { + + /** + * The serial version UID. + */ + private static final long serialVersionUID = 1L; + +} Property changes on: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/UnsavedMapException.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java 2014-02-16 19:35:04 UTC (rev 9574) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -26,8 +26,8 @@ import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.mapmodel.MapPathUtils; import net.sf.gridarta.model.mapmodel.MapSquare; -import net.sf.gridarta.model.mappathnormalizer.SameMapException; -import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; +import net.sf.gridarta.model.mapmodel.SameMapException; +import net.sf.gridarta.model.mapmodel.UnsavedMapException; import net.sf.gridarta.model.validation.AbstractValidator; import net.sf.gridarta.model.validation.ErrorCollector; import net.sf.gridarta.model.validation.GameObjectValidator; Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java 2014-02-16 19:35:04 UTC (rev 9574) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java 2014-02-16 19:37:34 UTC (rev 9575) @@ -26,8 +26,8 @@ import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapPathUtils; -import net.sf.gridarta.model.mappathnormalizer.SameMapException; -import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; +import net.sf.gridarta.model.mapmodel.SameMapException; +import net.sf.gridarta.model.mapmodel.UnsavedMapException; import net.sf.gridarta.model.validation.AbstractValidator; import net.sf.gridarta.model.validation.ErrorCollector; import net.sf.gridarta.model.validation.MapValidator; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:35:08
|
Revision: 9574 http://sourceforge.net/p/gridarta/code/9574 Author: akirschbaum Date: 2014-02-16 19:35:04 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Remove unused exceptions. Removed Paths: ------------- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/IOErrorException.java trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/InvalidPathException.java trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/RelativePathOnUnsavedMapException.java Deleted: trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/IOErrorException.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/IOErrorException.java 2014-02-16 19:33:00 UTC (rev 9573) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/IOErrorException.java 2014-02-16 19:35:04 UTC (rev 9574) @@ -1,64 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.model.mappathnormalizer; - -import java.io.File; -import java.io.IOException; -import org.jetbrains.annotations.NotNull; - -/** - * Exception throws if an I/O error occurs. - * @author Andreas Kirschbaum - */ -public class IOErrorException extends Exception { - - /** - * The serial version UID. - */ - private static final long serialVersionUID = 1L; - - /** - * The invalid file. - * @serial - */ - @NotNull - private final File file; - - /** - * Creates a new instance. - * @param file the invalid file - * @param exception the I/O exception - * @noinspection TypeMayBeWeakened - */ - public IOErrorException(@NotNull final File file, @NotNull final IOException exception) { - super(file.getPath(), exception); - this.file = file; - } - - /** - * Returns the invalid file. - * @return the invalid file - */ - @NotNull - public File getFile() { - return file; - } - -} Deleted: trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/InvalidPathException.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/InvalidPathException.java 2014-02-16 19:33:00 UTC (rev 9573) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/InvalidPathException.java 2014-02-16 19:35:04 UTC (rev 9574) @@ -1,61 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.model.mappathnormalizer; - -import java.io.File; -import org.jetbrains.annotations.NotNull; - -/** - * Exception thrown if a destination map file is invalid. - * @author Andreas Kirschbaum - */ -public class InvalidPathException extends Exception { - - /** - * The serial version UID. - */ - private static final long serialVersionUID = 1L; - - /** - * The invalid file. - * @serial - */ - @NotNull - private final File file; - - /** - * Creates a new instance. - * @param file the invalid file - */ - public InvalidPathException(@NotNull final File file) { - super(file.getPath()); - this.file = file; - } - - /** - * Returns the invalid file. - * @return the invalid file - */ - @NotNull - public File getFile() { - return file; - } - -} Deleted: trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/RelativePathOnUnsavedMapException.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/RelativePathOnUnsavedMapException.java 2014-02-16 19:33:00 UTC (rev 9573) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/RelativePathOnUnsavedMapException.java 2014-02-16 19:35:04 UTC (rev 9574) @@ -1,44 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.model.mappathnormalizer; - -import org.jetbrains.annotations.NotNull; - -/** - * Exception thrown if a relative map path cannot be converted because the - * source map has not yet been saved. - * @author Andreas Kirschbaum - */ -public class RelativePathOnUnsavedMapException extends Exception { - - /** - * The serial version UID. - */ - private static final long serialVersionUID = 1L; - - /** - * Creates a new instance. - * @param relativePath the relative path - */ - public RelativePathOnUnsavedMapException(@NotNull final String relativePath) { - super(relativePath); - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:33:03
|
Revision: 9573 http://sourceforge.net/p/gridarta/code/9573 Author: akirschbaum Date: 2014-02-16 19:33:00 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Remove MapPathNormalizer. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java Removed Paths: ------------- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/MapPathNormalizer.java Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java 2014-02-16 19:28:44 UTC (rev 9572) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java 2014-02-16 19:33:00 UTC (rev 9573) @@ -186,7 +186,6 @@ import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.mapmodel.InsertionModeSet; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.mapviewsettings.DefaultMapViewSettings; import net.sf.gridarta.model.mapviewsettings.MapViewSettings; import net.sf.gridarta.model.match.GameObjectMatcher; @@ -362,7 +361,6 @@ final GameObjectMatcher exitGameObjectMatcherTmp = projectModel.getGameObjectMatchers().getMatcherWarn(gameObjectMatchersErrorViewCollector, "system_exit", "exit"); final GameObjectMatcher exitGameObjectMatcher = exitGameObjectMatcherTmp == null ? new TypeNrsGameObjectMatcher() : exitGameObjectMatcherTmp; final ExitMatcher<G, A, R> exitMatcher = new ExitMatcher<G, A, R>(exitGameObjectMatcher); - final MapPathNormalizer mapPathNormalizer = new MapPathNormalizer(projectModel.getProjectSettings()); final MapPropertiesDialogFactory<G, A, R> mapPropertiesDialogFactory = editorFactory.newMapPropertiesDialogFactory(projectModel.getProjectSettings(), projectModel.getMapManager()); final DelayedMapModelListenerManager<G, A, R> delayedMapModelListenerManager = new DelayedMapModelListenerManager<G, A, R>(projectModel.getMapManager(), exiter); final Control<?, G, A, R> lockedItemsControl = new LockedItemsControl<G, A, R>(mapViewManager, delayedMapModelListenerManager, editorFactory.getLockedItemsTypeNumbers()); Deleted: trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/MapPathNormalizer.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/MapPathNormalizer.java 2014-02-16 19:28:44 UTC (rev 9572) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/MapPathNormalizer.java 2014-02-16 19:33:00 UTC (rev 9573) @@ -1,117 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.model.mappathnormalizer; - -import java.io.File; -import java.io.IOException; -import net.sf.gridarta.model.mapmodel.MapFile; -import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.settings.ProjectSettings; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * Normalizes map path specifications into {@link File Files}. - * @author Andreas Kirschbaum - */ -public class MapPathNormalizer { - - /** - * The project settings instance. - */ - @NotNull - private final ProjectSettings projectSettings; - - /** - * Creates a new instance. - * @param projectSettings the project settings instance - */ - public MapPathNormalizer(@NotNull final ProjectSettings projectSettings) { - this.projectSettings = projectSettings; - } - - /** - * Normalizes a map path relative to a {@link MapModel}. - * @param mapModel the map model to start from - * @param path the destination path - * @return the normalized destination file - * @throws InvalidPathException if the destination file is invalid - * @throws IOErrorException if an I/O error occurs - * @throws RelativePathOnUnsavedMapException if the path is relative and the - * map has not yet been saved - * @throws SameMapException if the destination path points to the source - * map - */ - @NotNull - public File normalizeMapPath(@NotNull final MapModel<?, ?, ?> mapModel, @NotNull final String path) throws InvalidPathException, IOErrorException, RelativePathOnUnsavedMapException, SameMapException { - final MapFile mapFile = mapModel.getMapFile(); - return normalizeMapPath(mapFile == null ? null : mapFile.getFile(), path); - } - - /** - * Normalizes a map path relative to a {@link File}. - * @param mapFile the file to start from - * @param path the destination path - * @return the normalized destination file - * @throws InvalidPathException if the destination file is invalid - * @throws IOErrorException if an I/O error occurs - * @throws RelativePathOnUnsavedMapException if the path is relative and the - * map has not yet been saved - * @throws SameMapException if the destination path points to the source - * map - */ - @NotNull - private File normalizeMapPath(@Nullable final File mapFile, @NotNull final String path) throws InvalidPathException, IOErrorException, RelativePathOnUnsavedMapException, SameMapException { - @NotNull final File newFile; - if (path.startsWith(File.pathSeparator) || path.startsWith("/")) { - // we have an absolute path: - newFile = new File(projectSettings.getMapsDirectory().getAbsolutePath(), path.substring(1)); - } else { - // we have a relative path: - if (mapFile == null) { - throw new RelativePathOnUnsavedMapException(path); - } - newFile = new File(mapFile.getParent(), path); - } - if (path.isEmpty() || (mapFile != null && newFile.equals(mapFile))) { - throw new SameMapException(); - } - - if (!newFile.exists() || newFile.isDirectory()) { - // The path is wrong - // TODO: Differ between non-existing paths, wrongly formatted paths and directories - give more info to the user. - throw new InvalidPathException(newFile); - } - - // its important to force the canonical file here or the - // file path is added every time we use a ../ or a ./ . - // This results in giant file names like "xx/../yy/../xx/../yy/.." - // and after some times in buffer overflows. - final File canonicalNewFile; - try { - canonicalNewFile = newFile.getCanonicalFile(); - } catch (final IOException ex) { - throw new IOErrorException(newFile, ex); - } - - return canonicalNewFile; - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:28:48
|
Revision: 9572 http://sourceforge.net/p/gridarta/code/9572 Author: akirschbaum Date: 2014-02-16 19:28:44 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Extract duplicated code into function. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java Added Paths: ----------- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/UnsavedMapException.java Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java 2014-02-16 19:01:53 UTC (rev 9571) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java 2014-02-16 19:28:44 UTC (rev 9572) @@ -37,7 +37,8 @@ import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapPath; -import net.sf.gridarta.model.mapmodel.MapPathUtils; +import net.sf.gridarta.model.mappathnormalizer.SameMapException; +import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.utils.Size2D; import net.sf.japi.swing.action.ActionBuilder; import net.sf.japi.swing.action.ActionBuilderFactory; @@ -104,20 +105,20 @@ * @return whether the destination map has been entered */ public boolean enterMap(@NotNull final MapView<G, A, R> mapView, @NotNull final MapPath mapPath, @NotNull final Direction direction, @Nullable final Point destinationPoint) { - final MapFile mapFile = mapView.getMapControl().getMapModel().getMapFile(); - if (mapFile == null) { - ACTION_BUILDER.showMessageDialog(parent, "enterExitNotSaved", mapPath); - return false; - } - final MapPath newMapPath = MapPathUtils.append(mapFile.getMapPath(), mapPath); - if (newMapPath.equals(mapFile.getMapPath())) { + final MapFile mapFile; + try { + mapFile = mapView.getMapControl().getMapModel().getMapFile(mapPath); + } catch (final SameMapException ignored) { // path points to the same map if (destinationPoint != null) { showLocation(mapView, destinationPoint); } return true; + } catch (final UnsavedMapException ignored) { + ACTION_BUILDER.showMessageDialog(parent, "enterExitNotSaved", mapPath); + return false; } - return enterMap(mapView, new MapFile(mapFile, newMapPath), destinationPoint, direction); + return enterMap(mapView, mapFile, destinationPoint, direction); } /** Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java 2014-02-16 19:01:53 UTC (rev 9571) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java 2014-02-16 19:28:44 UTC (rev 9572) @@ -38,6 +38,8 @@ import net.sf.gridarta.model.gameobject.GameObjectFactory; import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.maparchobject.MapArchObjectListener; +import net.sf.gridarta.model.mappathnormalizer.SameMapException; +import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.model.match.GameObjectMatchers; import net.sf.gridarta.model.match.NamedGameObjectMatcher; import net.sf.gridarta.model.validation.DefaultErrorCollector; @@ -1013,6 +1015,23 @@ */ @NotNull @Override + public MapFile getMapFile(@NotNull final MapPath mapPath) throws SameMapException, UnsavedMapException { + final MapFile thisMapFile = mapFile; + if (thisMapFile == null) { + throw new UnsavedMapException(); + } + final MapFile newMapFile = new MapFile(thisMapFile, mapPath); + if (newMapFile.equals(thisMapFile)) { + throw new SameMapException(); + } + return newMapFile; + } + + /** + * {@inheritDoc} + */ + @NotNull + @Override public List<G> getAllGameObjects() { final List<G> gameObjects = new ArrayList<G>(); for (final Iterable<G> mapSquare : this) { Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java 2014-02-16 19:01:53 UTC (rev 9571) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java 2014-02-16 19:28:44 UTC (rev 9572) @@ -26,6 +26,8 @@ import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; +import net.sf.gridarta.model.mappathnormalizer.SameMapException; +import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.model.validation.ErrorCollector; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -401,6 +403,19 @@ MapFile getMapFile(); /** + * Returns the map file for a map that can be reached by following a {@link + * MapPath} from this map. + * @param mapPath the map path to follow + * @return the map file + * @throws SameMapException of the destination map file is the same as this + * map file + * @throws UnsavedMapException if this map is not saved and therefore its + * map file is unknown + */ + @NotNull + MapFile getMapFile(@NotNull MapPath mapPath) throws SameMapException, UnsavedMapException; + + /** * Returns all game objects. Only top-level head parts are returned; tail * parts are ignored as are objects in inventories. * @return all game objects Added: trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/UnsavedMapException.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/UnsavedMapException.java (rev 0) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/UnsavedMapException.java 2014-02-16 19:28:44 UTC (rev 9572) @@ -0,0 +1,33 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2011 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.mappathnormalizer; + +/** + * Exception thrown if an operation is attempted on an unsaved map. + * @author Andreas Kirschbaum + */ +public class UnsavedMapException extends Exception { + + /** + * The serial version UID. + */ + private static final long serialVersionUID = 1L; + +} Property changes on: trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/UnsavedMapException.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java 2014-02-16 19:01:53 UTC (rev 9571) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java 2014-02-16 19:28:44 UTC (rev 9572) @@ -24,9 +24,10 @@ import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; -import net.sf.gridarta.model.mapmodel.MapFile; +import net.sf.gridarta.model.mapmodel.MapPathUtils; import net.sf.gridarta.model.mapmodel.MapSquare; -import net.sf.gridarta.model.settings.ProjectSettings; +import net.sf.gridarta.model.mappathnormalizer.SameMapException; +import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.model.validation.AbstractValidator; import net.sf.gridarta.model.validation.ErrorCollector; import net.sf.gridarta.model.validation.GameObjectValidator; @@ -41,12 +42,6 @@ public class ExitChecker<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends AbstractValidator<G, A, R> implements GameObjectValidator<G, A, R> { /** - * The {@link ProjectSettings} to use. - */ - @NotNull - private final ProjectSettings projectSettings; - - /** * The archetype type number of exits. */ private final int exitTypeNo; @@ -54,12 +49,10 @@ /** * Create a ExitChecker. * @param validatorPreferences the validator preferences to use - * @param projectSettings the project settings to use * @param exitTypeNo the archetype type number of exits */ - public ExitChecker(@NotNull final ValidatorPreferences validatorPreferences, @NotNull final ProjectSettings projectSettings, final int exitTypeNo) { + public ExitChecker(@NotNull final ValidatorPreferences validatorPreferences, final int exitTypeNo) { super(validatorPreferences); - this.projectSettings = projectSettings; this.exitTypeNo = exitTypeNo; } @@ -77,26 +70,16 @@ return; } - final File newFile; - if (path.startsWith(File.pathSeparator) || path.startsWith("/")) { - // we have an absolute path: - newFile = new File(projectSettings.getMapsDirectory().getAbsolutePath(), path.substring(1)); - } else { - // we have a relative path: - final MapSquare<G, A, R> mapSquare = gameObject.getMapSquare(); - assert mapSquare != null; - final MapFile mapFile = mapSquare.getMapModel().getMapFile(); - if (mapFile == null) { - // unsaved map => do not check - return; + final MapSquare<G, A, R> mapSquare = gameObject.getMapSquare(); + assert mapSquare != null; + try { + final File file = mapSquare.getMapModel().getMapFile(MapPathUtils.newMapPath(path)).getFile(); + if (!file.exists() || file.isDirectory()) { + errorCollector.collect(new ExitError<G, A, R>(gameObject, path)); } - newFile = new File(mapFile.getFile().getParent(), path); + } catch (final SameMapException ignored) { + } catch (final UnsavedMapException ignored) { } - if (newFile.exists() && !newFile.isDirectory()) { - return; - } - - errorCollector.collect(new ExitError<G, A, R>(gameObject, path)); } } Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java 2014-02-16 19:01:53 UTC (rev 9571) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java 2014-02-16 19:28:44 UTC (rev 9572) @@ -24,16 +24,16 @@ import net.sf.gridarta.model.direction.Direction; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; -import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.settings.ProjectSettings; +import net.sf.gridarta.model.mapmodel.MapPathUtils; +import net.sf.gridarta.model.mappathnormalizer.SameMapException; +import net.sf.gridarta.model.mappathnormalizer.UnsavedMapException; import net.sf.gridarta.model.validation.AbstractValidator; import net.sf.gridarta.model.validation.ErrorCollector; import net.sf.gridarta.model.validation.MapValidator; import net.sf.gridarta.model.validation.ValidatorPreferences; import net.sf.gridarta.model.validation.errors.TilePathsError; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; /** * Validator that checks whether all tile paths are valid. @@ -42,12 +42,6 @@ public class TilePathsChecker<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends AbstractValidator<G, A, R> implements MapValidator<G, A, R> { /** - * The {@link ProjectSettings} to use. - */ - @NotNull - private final ProjectSettings projectSettings; - - /** * The number of tile paths to check. */ private final int tilePaths; @@ -55,12 +49,10 @@ /** * Create a TilePathsChecker. * @param validatorPreferences the validator preferences to use - * @param projectSettings the project settings to use * @param tilePaths the number of tile paths to check */ - public TilePathsChecker(@NotNull final ValidatorPreferences validatorPreferences, @NotNull final ProjectSettings projectSettings, final int tilePaths) { + public TilePathsChecker(@NotNull final ValidatorPreferences validatorPreferences, final int tilePaths) { super(validatorPreferences); - this.projectSettings = projectSettings; this.tilePaths = tilePaths; } @@ -69,24 +61,19 @@ */ @Override public void validateMap(@NotNull final MapModel<G, A, R> mapModel, @NotNull final ErrorCollector<G, A, R> errorCollector) { - final MapFile mapFile = mapModel.getMapFile(); - final String mapDir = mapFile == null ? null : mapFile.getFile().getParent(); final MapArchObject<A> mapArchObject = mapModel.getMapArchObject(); final Direction[] directions = Direction.values(); for (int direction = 0; direction < tilePaths; direction++) { final String path = mapArchObject.getTilePath(directions[direction]); if (!path.isEmpty()) { - @Nullable final File newFile; - if (path.startsWith(File.pathSeparator) || path.startsWith("/")) { - // we have an absolute path: - newFile = new File(projectSettings.getMapsDirectory().getAbsolutePath(), path.substring(1)); - } else { - // we have a relative path: - newFile = mapDir == null ? null : new File(mapDir, path); + try { + final File file = mapModel.getMapFile(MapPathUtils.newMapPath(path)).getFile(); + if (!file.exists() || file.isDirectory()) { + errorCollector.collect(new TilePathsError<G, A, R>(mapModel, directions[direction], path)); + } + } catch (final SameMapException ignored) { + } catch (final UnsavedMapException ignored) { } - if (newFile != null && (!newFile.exists() || newFile.isDirectory())) { - errorCollector.collect(new TilePathsError<G, A, R>(mapModel, directions[direction], path)); - } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 19:01:56
|
Revision: 9571 http://sourceforge.net/p/gridarta/code/9571 Author: akirschbaum Date: 2014-02-16 19:01:53 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Fix incorrect error message. Modified Paths: -------------- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties Modified: trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties =================================================================== --- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties 2014-02-16 18:56:34 UTC (rev 9570) +++ trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties 2014-02-16 19:01:53 UTC (rev 9571) @@ -192,7 +192,7 @@ enterExitRandomDestination.title=Destination invalid enterExitRandomDestination.message=The destination of the exit ''{0}'' is a random map. enterExitNotSaved.title=Map not saved -enterExitNotSaved.message=You must save the map first to follow the relative path {0}. +enterExitNotSaved.message=You must save the map first to follow the path {0}. nextExit.text=Next Exit nextExit.mnemonic=N Modified: trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties =================================================================== --- trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties 2014-02-16 18:56:34 UTC (rev 9570) +++ trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages_de.properties 2014-02-16 19:01:53 UTC (rev 9571) @@ -176,7 +176,7 @@ enterExitRandomDestination.title=Ziel ung\u00fcltig enterExitRandomDestination.message=Der Ausgang ''{0}'' zeigt auf eine zuf\u00e4llig generierte Karte. enterExitNotSaved.title=Karte nicht gesichert -enterExitNotSaved.message=Der Ausgang verwendet einen relativen Dateinamen ''{0}''.\nUm ihm zu folgen m\u00fcssen Sie die Karte vorher sichern. +enterExitNotSaved.message=Sie m\u00fcssen die Karte erst sichern, bevor Sie zum Pfad ''{0}'' wechseln k\u00f6nnen. nextExit.text=N\u00e4chster Ausgang nextExit.mnemonic=N This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 18:56:39
|
Revision: 9570 http://sourceforge.net/p/gridarta/code/9570 Author: akirschbaum Date: 2014-02-16 18:56:34 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Add nullable annotations. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewsManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptUtils.java Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewsManager.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewsManager.java 2014-02-16 18:55:23 UTC (rev 9569) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewsManager.java 2014-02-16 18:56:34 UTC (rev 9570) @@ -87,6 +87,7 @@ * The listener tracking alpha types changes to repaint map views after * changes. */ + @NotNull private final MapViewSettingsListener mapViewSettingsListener = new MapViewSettingsListener() { @Override Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptUtils.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptUtils.java 2014-02-16 18:55:23 UTC (rev 9569) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/scripts/ScriptUtils.java 2014-02-16 18:56:34 UTC (rev 9570) @@ -97,6 +97,7 @@ * @param pathManager the path manager for converting path names * @return a nice default script name without whitespaces */ + @NotNull public static String chooseDefaultScriptName(@NotNull final File baseDir, final String archetypeName, final String scriptEnding, @NotNull final PathManager pathManager) { String defScriptName = archetypeName.trim(); final int i = defScriptName.indexOf(' '); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-16 18:55:35
|
Revision: 9569 http://sourceforge.net/p/gridarta/code/9569 Author: akirschbaum Date: 2014-02-16 18:55:23 +0000 (Sun, 16 Feb 2014) Log Message: ----------- Replace String/File representations of map paths with MapPath/MapFile instances. Modified Paths: -------------- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/mapcontrol/DefaultMapControlFactory.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/mapcontrol/DefaultMapControlFactory.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/mapcontrol/DefaultMapControlFactory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMoveSquareAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/delayedmapmodel/DelayedMapModelListenerManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/bookmarks/MapMenuEntryIcons.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/AttributesPaneBuilder.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gameobjectattributes/GameObjectAttributesDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/goexit/GoExitDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/goexit/GoExitDialogManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/goexit/MapListCellRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gomap/GoMapDialog.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/gomap/MapListCellRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/plugin/parameter/MapParameterView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mainwindow/GameObjectTextEditorTab.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/MapFileActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/EnterMap.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/MapActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/AbstractMapTilePane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/FlatMapTilePane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/IsoMapTilePane.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/DefaultMapView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/ErroneousMapSquares.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapview/MapViewsManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/AbstractIsoMapRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/renderer/ImageCreator2.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapdesktop/WindowAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapimagecache/MapImageCache.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/AbstractMapMenuPreferences.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/BookmarksMapMenuPreferences.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenu.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuEntryMap.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuEntryTreeCellRenderer.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuLoader.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/MapMenuUtils.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapmenu/RecentMapMenuPreferences.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/DefaultFileControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/misc/RecentManager.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/ErrorListView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/gameobjectattributes/GameObjectAttributesControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/selectedsquare/SelectedSquareView.java trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/MainActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/EditorFactory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java trunk/src/gridarta/src/main/resources/net/sf/gridarta/messages.properties trunk/src/gridarta/src/test/java/net/sf/gridarta/action/SelectedSquareActionsTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/actions/ExitConnectorActionsTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/copybuffer/CopyBufferTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/map/test/TestMapControlCreatorUtils.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuManagerTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuPreferencesTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/MapMenuUtilsTest.java trunk/src/gridarta/src/test/java/net/sf/gridarta/gui/mapmenu/TestMapMenuPreferences.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndex.java trunk/src/model/src/main/java/net/sf/gridarta/model/index/MapsIndexer.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapcontrol/DefaultMapControl.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapcontrol/MapControl.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapcontrol/MapControlFactory.java trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/AbstractMapManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/DefaultMapManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/DefaultPickmapManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmanager/MapManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DefaultMapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModel.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapModelListener.java trunk/src/model/src/main/java/net/sf/gridarta/model/mappathnormalizer/MapPathNormalizer.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/ExitChecker.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/NonAbsoluteExitPathError.java trunk/src/model/src/main/java/net/sf/gridarta/model/validation/checks/TilePathsChecker.java trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/index/MapsIndexerTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/io/DefaultMapReaderTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlCreator.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapcontrol/TestMapControlFactory.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmanager/DefaultMapManagerTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/DefaultMapModelTest.java trunk/src/plugin/src/test/java/net/sf/gridarta/plugin/parameter/PluginParameterCodecTest.java trunk/src/project/src/main/java/net/sf/gridarta/project/ProjectModel.java Added Paths: ----------- trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/DifferentMapBaseException.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapFile.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPath.java trunk/src/model/src/main/java/net/sf/gridarta/model/mapmodel/MapPathUtils.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapFileTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathTest.java trunk/src/model/src/test/java/net/sf/gridarta/model/mapmodel/MapPathUtilsTest.java Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -25,7 +25,6 @@ import java.net.Socket; import net.sf.gridarta.actions.AbstractServerActions; import net.sf.gridarta.gui.map.mapview.MapViewManager; -import net.sf.gridarta.model.io.PathManager; import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.var.atrinik.model.archetype.Archetype; import net.sf.gridarta.var.atrinik.model.gameobject.GameObject; @@ -66,10 +65,9 @@ * @param mapViewManager the map view manager for tracking the current map * view * @param fileControl the file control for saving maps - * @param pathManager the path manager for converting path names */ - public AtrinikServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl, @NotNull final PathManager pathManager) { - super(mapViewManager, fileControl, pathManager); + public AtrinikServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { + super(mapViewManager, fileControl); } /** Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -25,7 +25,6 @@ import net.sf.gridarta.gui.dialog.mapproperties.MapPropertiesDialogFactory; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.var.atrinik.model.archetype.Archetype; import net.sf.gridarta.var.atrinik.model.gameobject.GameObject; @@ -52,23 +51,13 @@ private final ProjectSettings projectSettings; /** - * The {@link MapPathNormalizer} for converting map paths to {@link - * java.io.File Files}. - */ - @NotNull - private final MapPathNormalizer mapPathNormalizer; - - /** * Creates a new instance. * @param mapManager the map manager to use * @param projectSettings the project settings instance - * @param mapPathNormalizer the map path normalize for converting map paths - * to files */ - public DefaultMapPropertiesDialogFactory(@NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapPathNormalizer mapPathNormalizer) { + public DefaultMapPropertiesDialogFactory(@NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings) { this.mapManager = mapManager; this.projectSettings = projectSettings; - this.mapPathNormalizer = mapPathNormalizer; } /** @@ -76,7 +65,7 @@ */ @Override public void showDialog(@NotNull final Component parent, @NotNull final Frame helpParent, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter) { - final MapPropertiesDialog pane = new MapPropertiesDialog(helpParent, mapManager, projectSettings, mapModel, mapFileFilter, mapPathNormalizer); + final MapPropertiesDialog pane = new MapPropertiesDialog(helpParent, mapManager, projectSettings, mapModel, mapFileFilter); pane.showDialog(parent); } Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -53,7 +53,6 @@ import net.sf.gridarta.gui.utils.TextComponentUtils; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.utils.ActionBuilderUtils; import net.sf.gridarta.utils.Size2D; @@ -317,10 +316,8 @@ * @param projectSettings the project settings instance * @param mapModel the map model whose properties are shown/edited. * @param mapFileFilter the Swing file filter to use - * @param mapPathNormalizer the map path normalizer for converting map paths - * to files */ - public MapPropertiesDialog(@NotNull final Frame helpParent, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter, @NotNull final MapPathNormalizer mapPathNormalizer) { + public MapPropertiesDialog(@NotNull final Frame helpParent, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter) { okButton.setDefaultCapable(true); final JButton helpButton = new JButton(ACTION_BUILDER.createAction(false, "mapHelp", this)); final JButton restoreButton = new JButton(ACTION_BUILDER.createAction(false, "mapRestore", this)); @@ -336,7 +333,7 @@ final Component mainPanel = createMainPanel(map); tabs.add(ActionBuilderUtils.getString(ACTION_BUILDER, "mapMapTabTitle"), mainPanel); - mapTilePane = new IsoMapTilePane<GameObject, MapArchObject, Archetype>(mapManager, projectSettings, mapModel, mapFileFilter, mapPathNormalizer); + mapTilePane = new IsoMapTilePane<GameObject, MapArchObject, Archetype>(mapManager, projectSettings, mapModel, mapFileFilter); final Component tilePanel = createTilePathPanel(mapTilePane); tabs.add(ActionBuilderUtils.getString(ACTION_BUILDER, "mapTilesTabTitle"), tilePanel); Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -75,7 +75,6 @@ import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModelFactory; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.mapviewsettings.MapViewSettings; import net.sf.gridarta.model.match.GameObjectMatcher; import net.sf.gridarta.model.match.GameObjectMatchers; @@ -413,8 +412,8 @@ */ @NotNull @Override - public MapPropertiesDialogFactory<GameObject, MapArchObject, Archetype> newMapPropertiesDialogFactory(@NotNull final ProjectSettings projectSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final MapPathNormalizer mapPathNormalizer) { - return new DefaultMapPropertiesDialogFactory(mapManager, projectSettings, mapPathNormalizer); + public MapPropertiesDialogFactory<GameObject, MapArchObject, Archetype> newMapPropertiesDialogFactory(@NotNull final ProjectSettings projectSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager) { + return new DefaultMapPropertiesDialogFactory(mapManager, projectSettings); } /** @@ -449,8 +448,8 @@ */ @NotNull @Override - public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl, @NotNull final PathManager pathManager) { - return new AtrinikServerActions(mapViewManager, fileControl, pathManager); + public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { + return new AtrinikServerActions(mapViewManager, fileControl); } /** Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/mapcontrol/DefaultMapControlFactory.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/mapcontrol/DefaultMapControlFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/model/mapcontrol/DefaultMapControlFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -19,12 +19,12 @@ package net.sf.gridarta.var.atrinik.model.mapcontrol; -import java.io.File; import java.util.List; import net.sf.gridarta.model.io.MapWriter; import net.sf.gridarta.model.mapcontrol.DefaultMapControl; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapcontrol.MapControlFactory; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapModelFactory; import net.sf.gridarta.model.settings.ProjectSettings; @@ -76,7 +76,7 @@ */ @NotNull @Override - public MapControl<GameObject, MapArchObject, Archetype> newMapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final File file) { + public MapControl<GameObject, MapArchObject, Archetype> newMapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final MapFile mapFile) { final MapModel<GameObject, MapArchObject, Archetype> mapModel = mapModelFactory.newMapModel(mapArchObject); if (objects != null) { mapModel.beginTransaction("init"); @@ -88,7 +88,7 @@ mapModel.resetModified(); } final MapControl<GameObject, MapArchObject, Archetype> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype>(mapModel, false, mapWriter, projectSettings); - mapControl.getMapModel().setMapFile(file); + mapControl.getMapModel().setMapFile(mapFile); return mapControl; } @@ -97,7 +97,7 @@ */ @NotNull @Override - public MapControl<GameObject, MapArchObject, Archetype> newPickmapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final File file) { + public MapControl<GameObject, MapArchObject, Archetype> newPickmapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final MapFile mapFile) { mapArchObject.setDifficulty(1); final MapModel<GameObject, MapArchObject, Archetype> mapModel = mapModelFactory.newMapModel(mapArchObject); if (objects != null) { @@ -110,7 +110,7 @@ mapModel.resetModified(); } final MapControl<GameObject, MapArchObject, Archetype> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype>(mapModel, true, mapWriter, projectSettings); - mapControl.getMapModel().setMapFile(file); + mapControl.getMapModel().setMapFile(mapFile); mapControl.getMapModel().resetModified(); return mapControl; } Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/map/renderer/AbstractFlatMapRenderer.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -25,7 +25,6 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.image.BufferedImage; -import java.io.File; import java.util.Collection; import java.util.HashSet; import java.util.Set; @@ -35,6 +34,7 @@ import net.sf.gridarta.model.mapgrid.MapGrid; import net.sf.gridarta.model.mapgrid.MapGridEvent; import net.sf.gridarta.model.mapgrid.MapGridListener; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapModelListener; import net.sf.gridarta.model.mapmodel.MapSquare; @@ -241,7 +241,7 @@ } @Override - public void mapFileChanged(@Nullable final File oldMapFile) { + public void mapFileChanged(@Nullable final MapFile oldMapFile) { // ignore } Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -25,7 +25,6 @@ import net.sf.gridarta.gui.dialog.mapproperties.MapPropertiesDialogFactory; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.var.crossfire.model.archetype.Archetype; import net.sf.gridarta.var.crossfire.model.gameobject.GameObject; @@ -52,23 +51,13 @@ private final ProjectSettings projectSettings; /** - * The {@link MapPathNormalizer} for converting map paths to {@link - * java.io.File Files}. - */ - @NotNull - private final MapPathNormalizer mapPathNormalizer; - - /** * Creates a new instance. * @param mapManager the map manager to use * @param projectSettings the project settings instance - * @param mapPathNormalizer the map path normalizer for converting map paths - * to files */ - public DefaultMapPropertiesDialogFactory(@NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapPathNormalizer mapPathNormalizer) { + public DefaultMapPropertiesDialogFactory(@NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings) { this.mapManager = mapManager; this.projectSettings = projectSettings; - this.mapPathNormalizer = mapPathNormalizer; } /** @@ -76,7 +65,7 @@ */ @Override public void showDialog(@NotNull final Component parent, @NotNull final Frame helpParent, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter) { - final MapPropertiesDialog pane = new MapPropertiesDialog(helpParent, mapManager, projectSettings, mapModel, mapFileFilter, mapPathNormalizer); + final MapPropertiesDialog pane = new MapPropertiesDialog(helpParent, mapManager, projectSettings, mapModel, mapFileFilter); pane.showDialog(parent); } Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -45,7 +45,6 @@ import net.sf.gridarta.gui.utils.TextComponentUtils; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.utils.ActionBuilderUtils; import net.sf.gridarta.utils.Size2D; @@ -360,10 +359,8 @@ * @param projectSettings the project settings instance * @param mapModel the map model whose properties are shown/edited * @param mapFileFilter the Swing file filter to use - * @param mapPathNormalizer the map path normalizer for converting map paths - * to files */ - public MapPropertiesDialog(@NotNull final Frame helpParent, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter, @NotNull final MapPathNormalizer mapPathNormalizer) { + public MapPropertiesDialog(@NotNull final Frame helpParent, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter) { okButton.setDefaultCapable(true); final JButton helpButton = new JButton(ACTION_BUILDER.createAction(false, "mapHelp", this)); final JButton restoreButton = new JButton(ACTION_BUILDER.createAction(false, "mapRestore", this)); @@ -409,7 +406,7 @@ final Component weatherPanel = createWeatherPanel(map); tabs.add(ActionBuilderUtils.getString(ACTION_BUILDER, "mapWeatherTabTitle"), weatherPanel); - mapTilePane = new FlatMapTilePane<GameObject, MapArchObject, Archetype>(mapManager, projectSettings, mapModel, mapFileFilter, mapPathNormalizer); + mapTilePane = new FlatMapTilePane<GameObject, MapArchObject, Archetype>(mapManager, projectSettings, mapModel, mapFileFilter); final Component tilePanel = createTilePathPanel(mapTilePane); tabs.add(ActionBuilderUtils.getString(ACTION_BUILDER, "mapTilesTabTitle"), tilePanel); Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -70,7 +70,6 @@ import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModelFactory; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.mapviewsettings.MapViewSettings; import net.sf.gridarta.model.match.GameObjectMatcher; import net.sf.gridarta.model.match.GameObjectMatchers; @@ -304,8 +303,8 @@ */ @NotNull @Override - public MapPropertiesDialogFactory<GameObject, MapArchObject, Archetype> newMapPropertiesDialogFactory(@NotNull final ProjectSettings projectSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final MapPathNormalizer mapPathNormalizer) { - return new DefaultMapPropertiesDialogFactory(mapManager, projectSettings, mapPathNormalizer); + public MapPropertiesDialogFactory<GameObject, MapArchObject, Archetype> newMapPropertiesDialogFactory(@NotNull final ProjectSettings projectSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager) { + return new DefaultMapPropertiesDialogFactory(mapManager, projectSettings); } /** @@ -340,7 +339,7 @@ */ @Nullable @Override - public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl, @NotNull final PathManager pathManager) { + public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { return null; // action not supported } Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/mapcontrol/DefaultMapControlFactory.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/mapcontrol/DefaultMapControlFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/mapcontrol/DefaultMapControlFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -19,12 +19,12 @@ package net.sf.gridarta.var.crossfire.model.mapcontrol; -import java.io.File; import java.util.List; import net.sf.gridarta.model.io.MapWriter; import net.sf.gridarta.model.mapcontrol.DefaultMapControl; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapcontrol.MapControlFactory; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapModelFactory; import net.sf.gridarta.model.settings.ProjectSettings; @@ -76,7 +76,7 @@ */ @NotNull @Override - public MapControl<GameObject, MapArchObject, Archetype> newMapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final File file) { + public MapControl<GameObject, MapArchObject, Archetype> newMapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final MapFile mapFile) { final MapModel<GameObject, MapArchObject, Archetype> mapModel = mapModelFactory.newMapModel(mapArchObject); if (objects != null) { mapModel.beginTransaction("init"); @@ -88,7 +88,7 @@ mapModel.resetModified(); } final MapControl<GameObject, MapArchObject, Archetype> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype>(mapModel, false, mapWriter, projectSettings); - mapControl.getMapModel().setMapFile(file); + mapControl.getMapModel().setMapFile(mapFile); return mapControl; } @@ -97,7 +97,7 @@ */ @NotNull @Override - public MapControl<GameObject, MapArchObject, Archetype> newPickmapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final File file) { + public MapControl<GameObject, MapArchObject, Archetype> newPickmapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final MapFile mapFile) { final MapModel<GameObject, MapArchObject, Archetype> mapModel = mapModelFactory.newMapModel(mapArchObject); if (objects != null) { mapModel.beginTransaction("init"); @@ -109,7 +109,7 @@ mapModel.resetModified(); } final MapControl<GameObject, MapArchObject, Archetype> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype>(mapModel, true, mapWriter, projectSettings); - mapControl.getMapModel().setMapFile(file); + mapControl.getMapModel().setMapFile(mapFile); mapControl.getMapModel().resetModified(); return mapControl; } Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/model/validation/checks/NonAbsoluteExitPathChecker.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -22,6 +22,7 @@ import net.sf.gridarta.model.maplocation.MapLocation; import net.sf.gridarta.model.maplocation.NoExitPathException; import net.sf.gridarta.model.mapmodel.MapModel; +import net.sf.gridarta.model.mapmodel.MapPath; import net.sf.gridarta.model.mapmodel.MapSquare; import net.sf.gridarta.model.match.GameObjectMatcher; import net.sf.gridarta.model.validation.AbstractValidator; @@ -79,14 +80,14 @@ return; // not on an unique map => skip } - final String exitPath; + final MapPath exitPath; try { exitPath = MapLocation.getMapPath(gameObject, true); } catch (final NoExitPathException ignored) { return; // unset exit path => skip } - if (exitPath.isEmpty() || exitPath.startsWith("/")) { - return; // unset exit path or absolute exit path => ok + if (exitPath.isAbsolute()) { + return; // absolute exit path => ok } errorCollector.collect(new NonAbsoluteExitPathError<GameObject, MapArchObject, Archetype>(gameObject, exitPath)); Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/DefaultMapPropertiesDialogFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -25,7 +25,6 @@ import net.sf.gridarta.gui.dialog.mapproperties.MapPropertiesDialogFactory; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.var.daimonin.model.archetype.Archetype; import net.sf.gridarta.var.daimonin.model.gameobject.GameObject; @@ -52,23 +51,13 @@ private final ProjectSettings projectSettings; /** - * The {@link MapPathNormalizer} for converting map paths to {@link - * java.io.File Files}. - */ - @NotNull - private final MapPathNormalizer mapPathNormalizer; - - /** * Creates a new instance. * @param mapManager the map manager to use * @param projectSettings the project settings instance - * @param mapPathNormalizer the map path normalize for converting map paths - * to files */ - public DefaultMapPropertiesDialogFactory(@NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapPathNormalizer mapPathNormalizer) { + public DefaultMapPropertiesDialogFactory(@NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings) { this.mapManager = mapManager; this.projectSettings = projectSettings; - this.mapPathNormalizer = mapPathNormalizer; } /** @@ -76,7 +65,7 @@ */ @Override public void showDialog(@NotNull final Component parent, @NotNull final Frame helpParent, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter) { - final MapPropertiesDialog pane = new MapPropertiesDialog(helpParent, mapManager, projectSettings, mapModel, mapFileFilter, mapPathNormalizer); + final MapPropertiesDialog pane = new MapPropertiesDialog(helpParent, mapManager, projectSettings, mapModel, mapFileFilter); pane.showDialog(parent); } Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/gui/mappropertiesdialog/MapPropertiesDialog.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -54,7 +54,6 @@ import net.sf.gridarta.gui.utils.TextComponentUtils; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.settings.ProjectSettings; import net.sf.gridarta.utils.ActionBuilderUtils; import net.sf.gridarta.utils.Size2D; @@ -311,10 +310,8 @@ * @param projectSettings the project settings instance * @param mapModel the map model whose properties are shown/edited. * @param mapFileFilter the Swing file filter to use - * @param mapPathNormalizer the map path normalizer for converting map paths - * to files */ - public MapPropertiesDialog(@NotNull final Frame helpParent, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter, @NotNull final MapPathNormalizer mapPathNormalizer) { + public MapPropertiesDialog(@NotNull final Frame helpParent, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final ProjectSettings projectSettings, @NotNull final MapModel<GameObject, MapArchObject, Archetype> mapModel, @NotNull final FileFilter mapFileFilter) { okButton.setDefaultCapable(true); final JButton helpButton = new JButton(ACTION_BUILDER.createAction(false, "mapHelp", this)); final JButton restoreButton = new JButton(ACTION_BUILDER.createAction(false, "mapRestore", this)); @@ -331,7 +328,7 @@ final Component mainPanel = createMainPanel(map); tabs.add(ActionBuilderUtils.getString(ACTION_BUILDER, "mapMapTabTitle"), mainPanel); - mapTilePane = new IsoMapTilePane<GameObject, MapArchObject, Archetype>(mapManager, projectSettings, mapModel, mapFileFilter, mapPathNormalizer); + mapTilePane = new IsoMapTilePane<GameObject, MapArchObject, Archetype>(mapManager, projectSettings, mapModel, mapFileFilter); final Component tilePanel = createTilePathPanel(mapTilePane); tabs.add(ActionBuilderUtils.getString(ACTION_BUILDER, "mapTilesTabTitle"), tilePanel); Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -75,7 +75,6 @@ import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmodel.MapModelFactory; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; import net.sf.gridarta.model.mapviewsettings.MapViewSettings; import net.sf.gridarta.model.match.GameObjectMatcher; import net.sf.gridarta.model.match.GameObjectMatchers; @@ -412,8 +411,8 @@ */ @NotNull @Override - public MapPropertiesDialogFactory<GameObject, MapArchObject, Archetype> newMapPropertiesDialogFactory(@NotNull final ProjectSettings projectSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager, @NotNull final MapPathNormalizer mapPathNormalizer) { - return new DefaultMapPropertiesDialogFactory(mapManager, projectSettings, mapPathNormalizer); + public MapPropertiesDialogFactory<GameObject, MapArchObject, Archetype> newMapPropertiesDialogFactory(@NotNull final ProjectSettings projectSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype> mapManager) { + return new DefaultMapPropertiesDialogFactory(mapManager, projectSettings); } /** @@ -448,7 +447,7 @@ */ @Nullable @Override - public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl, @NotNull final PathManager pathManager) { + public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { return null; // action not supported } Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/mapcontrol/DefaultMapControlFactory.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/mapcontrol/DefaultMapControlFactory.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/model/mapcontrol/DefaultMapControlFactory.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -19,12 +19,12 @@ package net.sf.gridarta.var.daimonin.model.mapcontrol; -import java.io.File; import java.util.List; import net.sf.gridarta.model.io.MapWriter; import net.sf.gridarta.model.mapcontrol.DefaultMapControl; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapcontrol.MapControlFactory; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapModelFactory; import net.sf.gridarta.model.settings.ProjectSettings; @@ -76,7 +76,7 @@ */ @NotNull @Override - public MapControl<GameObject, MapArchObject, Archetype> newMapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final File file) { + public MapControl<GameObject, MapArchObject, Archetype> newMapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final MapFile mapFile) { final MapModel<GameObject, MapArchObject, Archetype> mapModel = mapModelFactory.newMapModel(mapArchObject); if (objects != null) { mapModel.beginTransaction("init"); @@ -88,7 +88,7 @@ mapModel.resetModified(); } final MapControl<GameObject, MapArchObject, Archetype> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype>(mapModel, false, mapWriter, projectSettings); - mapControl.getMapModel().setMapFile(file); + mapControl.getMapModel().setMapFile(mapFile); return mapControl; } @@ -97,7 +97,7 @@ */ @NotNull @Override - public MapControl<GameObject, MapArchObject, Archetype> newPickmapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final File file) { + public MapControl<GameObject, MapArchObject, Archetype> newPickmapControl(@Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @Nullable final MapFile mapFile) { mapArchObject.setDifficulty(1); final MapModel<GameObject, MapArchObject, Archetype> mapModel = mapModelFactory.newMapModel(mapArchObject); if (objects != null) { @@ -110,7 +110,7 @@ mapModel.resetModified(); } final MapControl<GameObject, MapArchObject, Archetype> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype>(mapModel, true, mapWriter, projectSettings); - mapControl.getMapModel().setMapFile(file); + mapControl.getMapModel().setMapFile(mapFile); mapControl.getMapModel().resetModified(); return mapControl; } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMoveSquareAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMoveSquareAction.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMoveSquareAction.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -19,7 +19,6 @@ package net.sf.gridarta.action; -import java.io.File; import java.util.Set; import javax.swing.Action; import net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel; @@ -30,6 +29,7 @@ import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapmanager.MapManager; import net.sf.gridarta.model.mapmanager.MapManagerListener; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapModelListener; import net.sf.gridarta.model.mapmodel.MapSquare; @@ -119,7 +119,7 @@ } @Override - public void mapFileChanged(@Nullable final File oldMapFile) { + public void mapFileChanged(@Nullable final MapFile oldMapFile) { } @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -19,7 +19,6 @@ package net.sf.gridarta.action; -import java.io.File; import javax.swing.Action; import net.sf.gridarta.gui.dialog.bookmarks.EditBookmarkDialog; import net.sf.gridarta.gui.map.mapview.MapView; @@ -31,6 +30,7 @@ import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.mapcontrol.MapControl; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.utils.EditorAction; import net.sf.japi.swing.action.ActionMethod; @@ -131,7 +131,7 @@ final MapControl<G, A, R> mapControl = mapView.getMapControl(); final MapModel<G, A, R> mapModel = mapControl.getMapModel(); - final File mapFile = mapModel.getMapFile(); + final MapFile mapFile = mapModel.getMapFile(); if (mapFile == null) { return false; } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -20,7 +20,6 @@ package net.sf.gridarta.actions; import java.awt.Point; -import java.io.File; import java.io.IOException; import javax.swing.Action; import net.sf.gridarta.gui.map.mapview.MapView; @@ -28,14 +27,12 @@ import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; -import net.sf.gridarta.model.io.PathManager; import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapmanager.FileControl; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.utils.EditorAction; -import net.sf.japi.swing.action.ActionBuilder; -import net.sf.japi.swing.action.ActionBuilderFactory; import net.sf.japi.swing.action.ActionMethod; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -48,12 +45,6 @@ public abstract class AbstractServerActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { /** - * Action Builder to create Actions. - */ - @NotNull - private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta"); - - /** * The currently active map or <code>null</code> if no map is active. */ @Nullable @@ -66,12 +57,6 @@ private final FileControl<G, A, R> fileControl; /** - * The {@link PathManager} for converting path names. - */ - @NotNull - private final PathManager pathManager; - - /** * The action for "open in client". * @noinspection ThisEscapedInObjectConstruction */ @@ -109,11 +94,9 @@ * @param mapViewManager the map view manager for tracking the current map * view * @param fileControl the file control for saving maps - * @param pathManager the path manager for converting path names */ - protected AbstractServerActions(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final FileControl<G, A, R> fileControl, @NotNull final PathManager pathManager) { + protected AbstractServerActions(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final FileControl<G, A, R> fileControl) { this.fileControl = fileControl; - this.pathManager = pathManager; mapViewManager.addMapViewManagerListener(mapViewManagerListener); currentMapView = mapViewManager.getActiveMapView(); } @@ -149,16 +132,11 @@ final MapControl<G, A, R> mapControl = mapView.getMapControl(); final MapModel<G, A, R> mapModel = mapControl.getMapModel(); - final File mapFile = mapModel.getMapFile(); + final MapFile mapFile = mapModel.getMapFile(); if (mapFile == null) { return false; } - final String mapPath = pathManager.getMapPath2(mapFile); - if (mapPath == null) { - return false; - } - if (performAction) { if (mapModel.isModified() && !fileControl.save(mapControl)) { return false; @@ -167,6 +145,7 @@ final Point cursor = mapView.getMapCursor().getLocation(); final int mapX = cursor.x; final int mapY = cursor.y; + final String mapPath = mapFile.getMapPath().toString(); try { teleportCharacterToMap(mapPath, mapX, mapY); } catch (final IOException ex) { Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AttachTiledMaps.java 2014-02-16 18:55:23 UTC (rev 9569) @@ -31,12 +31,9 @@ import net.sf.gridarta.model.maparchobject.MapArchObject; import net.sf.gridarta.model.mapcontrol.MapControl; import net.sf.gridarta.model.mapmanager.MapManager; +import net.sf.gridarta.model.mapmodel.MapFile; import net.sf.gridarta.model.mapmodel.MapModel; -import net.sf.gridarta.model.mappathnormalizer.IOErrorException; -import net.sf.gridarta.model.mappathnormalizer.InvalidPathException; -import net.sf.gridarta.model.mappathnormalizer.MapPathNormalizer; -import net.sf.gridarta.model.mappathnormalizer.RelativePathOnUnsavedMapException; -import net.sf.gridarta.model.mappathnormalizer.SameMapException; +import net.sf.gridarta.model.mapmodel.MapPathUtils; import net.sf.gridarta.model.tiles.MapLink; import net.sf.gridarta.model.tiles.TileLink; import net.sf.gridarta.utils.Size2D; @@ -64,23 +61,13 @@ private final TileLink[] tileLinks; /** - * The {@link MapPathNormalizer} for converting map paths to {@link File - * Files}. - */ - @NotNull - private final MapPathNormalizer mapPathNormalizer; - - /** * Creates a new instance. * @param mapManager the map manager to use * @param tileLinks the tile links to use - * @param mapPathNormalizer the map path normalizer for converting map paths - * the files */ - public AttachTiledMaps(@NotNull final MapManager<G, A, R> mapManager, @NotNull final TileLink[] tileLinks, @NotNull final MapPathNormalizer mapPathNormalizer) { + public AttachTiledMaps(@NotNull final MapManager<G, A, R> mapManager, @NotNull final TileLink[] tileLinks) { this.mapManager = mapManager; this.tileLinks = tileLinks.clone(); - this.mapPathNormalizer = mapPathNormalizer; } /** @@ -167,9 +154,9 @@ mapControl.save(); } } catch (final IOException e) { - final File mapFile = mapControl.getMapModel().getMapFile(); + final MapFile mapFile = mapControl.getMapModel().getMapFile(); assert mapFile != null; - throw new CannotSaveMapFileException(mapFile, e); + throw new CannotSaveMapFileException(mapFile.getFile(), e); } } } @@ -220,10 +207,11 @@ final Size2D mapSize = mapModel.getMapArchObject().getMapSize(); for (final MapControl<G, A, R> mapControl : mapControls) { if (mapControl != null) { - final MapArchObject<A> otherMap = mapControl.getMapModel().getMapArchObject(); + final MapModel<G, A, R> tmpMapModel = mapControl.getMapModel(); + final MapArchObject<A> otherMap = tmpMapModel.getMapArchObject(); final Size2D otherMapSize = otherMap.getMapSize(); if (!mapSize.equals(otherMapSize)) { - throw new MapSizeMismatchException(mapControl.getMapModel().getMapFile(), mapSize, otherMapSize); + throw new MapSizeMismatchException(tmpMapModel.getMapFile().getFile(), mapSize, otherMapSize); } for (int ii = 0; ii < 2; ii++) { // TODO: check links @@ -246,19 +234,19 @@ final MapControl<G, A, R> mapControl = mapControls.get(i); if (mapControl != null) { // generate a valid path relative to both map positions - final File mapFile1 = mapModel.getMapFile(); + final MapFile mapFile1 = mapModel.getMapFile(); final String canonicalMapPath1; try { - canonicalMapPath1 = mapFile1.getCanonicalPath(); + canonicalMapPath1 = mapFile1.getFile().getCanonicalPath(); } catch (final IOException ex) { - throw new InvalidPathNameException(mapFile1, ex); + throw new InvalidPathNameException(mapFile1.getFile(), ex); } - final File mapFile2 = mapControl.getMapModel().getMapFile(); + final MapFile mapFile2 = mapControl.getMapModel().getMapFile(); final String canonicalMapPath2; try { - canonicalMapPath2 = mapFile2.getCanonicalPath(); + canonicalMapPath2 = mapFile2.getFile().getCanonicalPath(); } catch (final IOException ex) { - throw new InvalidPathNameException(mapFile2, ex); + throw new InvalidPathNameException(mapFile2.getFile(), ex); } final String link1 = getTilePath(canonicalMapPath1, canonicalMapPath2, mapsDirectory); // set the link of our source map to the map around @@ -291,19 +279,12 @@ */ @Nullable private MapControl<G, A, R> loadMapControl(@NotNull final MapModel<G, A, R> mapModel, @NotNull final String path) throws IOException { - final File file; - try { - file = mapPathNormalizer.normalizeMapPath(mapModel, path); - } catch (final InvalidPathException ignored) { + final MapFile mapFile = mapModel.getMapFile(); + if (mapFile == null) { + // unsaved map: should not happen => ignore return null; - } catch (final IOErrorException ignored) { - return null; - } catch (final RelativePathOnUnsavedMapException ignored) { - return null; - } catch (final SameMapException ignored) { - return null; } - return mapManager.openMapFile(file, false); + return mapManager.openMapFile(new MapFile(mapFile, MapPathUtils.newMapPath(path)), false); } /** Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorActions.java 2014-02-15 16:33:25 UTC (rev 9568) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/ExitConnectorAction... [truncated message content] |
From: <aki...@us...> - 2014-02-15 16:33:32
|
Revision: 9568 http://sourceforge.net/p/gridarta/code/9568 Author: akirschbaum Date: 2014-02-15 16:33:25 +0000 (Sat, 15 Feb 2014) Log Message: ----------- Rename MapFile to PickmapState, Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFileNameComparator.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolder.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTree.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/DefaultObjectChooser.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModelListener.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java Added Paths: ----------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java Removed Paths: ------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFile.java Deleted: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFile.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFile.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFile.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -1,247 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2011 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.gui.mapfiles; - -import java.io.File; -import java.io.IOException; -import java.util.Collection; -import java.util.regex.Pattern; -import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewsManager; -import net.sf.gridarta.model.archetype.Archetype; -import net.sf.gridarta.model.gameobject.GameObject; -import net.sf.gridarta.model.io.MapReader; -import net.sf.gridarta.model.io.MapReaderFactory; -import net.sf.gridarta.model.maparchobject.MapArchObject; -import net.sf.gridarta.model.mapcontrol.MapControl; -import net.sf.gridarta.model.mapmanager.MapManager; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -/** - * Maintains the state of a pickmap file. A <code>Pickmap</code> is part of a - * {@link MapFolder} which is part of {@link MapFolderTree}. A pickmap has an - * underlying file from which a {@link MapControl} instance may be created. - * @author Andreas Kirschbaum - */ -public class MapFile<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> { - - /** - * The {@link Pattern} that matches valid pickmap names. - */ - @NotNull - private static final Pattern PATTERN_VALID_PICKMAP_NAME = Pattern.compile("[-a-zA-Z_+ 0-9,]+"); - - /** - * The folder this pickmap is part of. - */ - @NotNull - private final MapFolder<G, A, R> mapFolder; - - /** - * The underlying map file name. - */ - @NotNull - private final String name; - - /** - * The {@link MapManager} for creating new pickmaps. - */ - @NotNull - private final MapManager<G, A, R> pickmapManager; - - /** - * The {@link MapReaderFactory} to use. - */ - @NotNull - private final MapReaderFactory<G, A> mapReaderFactory; - - /** - * The {@link MapControl} instance representing the map file, or - * <code>null</code> if the map file is not loaded. - */ - @Nullable - private MapControl<G, A, R> pickmap; - - /** - * The {@link MapView} or {@link #pickmap}, or <code>null</code> if - * <code>pickmap == null</code>. - */ - @Nullable - private MapView<G, A, R> pickmapView; - - /** - * The {@link MapViewsManager}. - */ - @NotNull - private final MapViewsManager<G, A, R> mapViewsManager; - - /** - * The synchronization object for accessed to {@link #pickmap} and {@link - * #pickmapView}. - */ - @NotNull - private final Object sync = new Object(); - - /** - * Creates a new instance. - * @param mapFolder the folder ths pickmap is part of - * @param name the underlying map file name - * @param mapReaderFactory the map reader factory to use - * @param pickmapManager the map manager for creating pickmaps - * @param mapViewsManager the map views - * @throws InvalidNameException if <code>name</code> is not valid - */ - public MapFile(@NotNull final MapFolder<G, A, R> mapFolder, @NotNull final String name, @NotNull final MapReaderFactory<G, A> mapReaderFactory, @NotNull final MapManager<G, A, R> pickmapManager, @NotNull final MapViewsManager<G, A, R> mapViewsManager) throws InvalidNameException { - if (!isValidPickmapName(name)) { - throw new InvalidNameException(name); - } - - this.mapFolder = mapFolder; - this.name = name; - this.pickmapManager = pickmapManager; - this.mapReaderFactory = mapReaderFactory; - this.mapViewsManager = mapViewsManager; - } - - /** - * Returns whether a pickmap name is valid. - * @param name the name to check - * @return whether the name is valid - */ - public static boolean isValidPickmapName(@NotNull final CharSequence name) { - return PATTERN_VALID_PICKMAP_NAME.matcher(name).matches(); - } - - /** - * Returns the underlying map file. - * @return the map file - */ - @NotNull - public File getFile() { - return new File(mapFolder.getDir(), name); - } - - /** - * Returns the {@link MapControl} representing this pickmap. Returns - * <code>null</code> unless {@link #loadPickmap()} was successfully called. - * @return the <code>MapControl</code> instance, or <code>null if the map - * file has not been loaded - */ - @Nullable - public MapControl<G, A, R> getPickmap() { - synchronized (sync) { - return pickmap; - } - } - - /** - * Returns the {@link MapView} instance for this pickmap. Returns - * <code>null</code> unless {@link #loadPickmap()} was successfully called. - * @return the <code>MapView</code> instance, or <code>null if the map file - * has not been loaded - */ - @Nullable - public MapView<G, A, R> getMapView() { - synchronized (sync) { - return pickmapView; - } - } - - /** - * Loads the pickmap from the underlying map file. - * @throws IOException if the map file cannot be loaded - */ - public void loadPickmap() throws IOException { - synchronized (sync) { - if (pickmap != null) { - return; - } - - final File file = getFile(); - final MapReader<G, A> decoder = mapReaderFactory.newMapReader(file); - pickmap = pickmapManager.newMap(decoder.getGameObjects(), decoder.getMapArchObject(), file, true); - pickmapView = mapViewsManager.newMapView(pickmap, null, null); - } - } - - /** - * Unloads the map file. Undoes the effect of {@link #loadPickmap()}. - */ - public void freePickmap() { - synchronized (sync) { - if (pickmap != null) { - assert pickmapView != null; - mapViewsManager.closeView(pickmapView); - assert pickmap != null; - pickmapManager.release(pickmap); - pickmap = null; - } - } - } - - /** - * Returns this pickmap if it has been loaded and is modified. - * @param unsavedPickmaps the collection to add <code>this</code> to if - * modified - */ - public void getUnsavedPickmaps(@NotNull final Collection<MapControl<G, A, R>> unsavedPickmaps) { - synchronized (sync) { - if (pickmap != null && pickmap.getMapModel().isModified()) { - unsavedPickmaps.add(pickmap); - } - } - } - - /** - * Removes this pickmap from its folder. - * @param deleteFile if set, delete the map file as well - */ - public void remove(final boolean deleteFile) { - mapFolder.removePickmap(this, deleteFile); - } - - /** - * Saves this pickmap. Does nothing if the pickmap is not loaded or not - * modified. - * @throws IOException if saving fails - */ - public void save() throws IOException { - final MapControl<G, A, R> oldPickmap = getPickmap(); - if (oldPickmap != null && oldPickmap.getMapModel().isModified()) { - oldPickmap.save(); - } - } - - /** - * Reverts this pickmap to its underlying map file. Does nothing if the - * pickmap is not loaded. - * @throws IOException if the pickmap cannot be loaded - */ - public void revert() throws IOException { - final MapControl<G, A, R> oldPickmap = getPickmap(); - if (oldPickmap != null) { - freePickmap(); - loadPickmap(); - mapFolder.firePickmapReverted(this, oldPickmap); - } - } - -} Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFileNameComparator.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFileNameComparator.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFileNameComparator.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -23,10 +23,10 @@ import java.util.Comparator; /** - * A {@link Comparator} for comparing {@link MapFile MapFiles} by pickmap name. + * A {@link Comparator} for comparing {@link PickmapState MapFiles} by pickmap name. * @author Andreas Kirschbaum */ -public class MapFileNameComparator implements Comparator<MapFile<?, ?, ?>>, Serializable { +public class MapFileNameComparator implements Comparator<PickmapState<?, ?, ?>>, Serializable { /** * The serial version UID. @@ -34,9 +34,9 @@ private static final long serialVersionUID = 1L; /** - * A {@link Comparator} that compares {@link MapFile} instances by name. + * A {@link Comparator} that compares {@link PickmapState} instances by name. */ - public static final Comparator<MapFile<?, ?, ?>> INSTANCE = new MapFileNameComparator(); + public static final Comparator<PickmapState<?, ?, ?>> INSTANCE = new MapFileNameComparator(); /** * Private constructor to prevent instantiation. @@ -48,7 +48,7 @@ * {@inheritDoc} */ @Override - public int compare(final MapFile<?, ?, ?> o1, final MapFile<?, ?, ?> o2) { + public int compare(final PickmapState<?, ?, ?> o1, final PickmapState<?, ?, ?> o2) { return String.CASE_INSENSITIVE_ORDER.compare(o1.getFile().getPath(), o2.getFile().getPath()); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolder.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolder.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolder.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -38,12 +38,12 @@ import org.jetbrains.annotations.Nullable; /** - * Model class representing a folder of {@link MapFile MapFiles}. A folder has a + * Model class representing a folder of {@link PickmapState MapFiles}. A folder has a * name and a base directory. The name is a unique identifier in the model; the * base directory is the directory where all contained pickmaps are stored. * @author Andreas Kirschbaum */ -public class MapFolder<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements Iterable<MapFile<G, A, R>> { +public class MapFolder<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements Iterable<PickmapState<G, A, R>> { /** * The {@link Pattern} that matches valid map folder names. @@ -63,7 +63,7 @@ private final MapFolder<G, A, R> parent; /** - * The synchronization object for accesses to {@link #mapFiles}. + * The synchronization object for accesses to {@link #pickmapStates}. */ @NotNull private final Object sync = new Object(); @@ -89,7 +89,7 @@ /** * The pickmaps of this folder. */ - private final List<MapFile<G, A, R>> mapFiles = new ArrayList<MapFile<G, A, R>>(); + private final List<PickmapState<G, A, R>> pickmapStates = new ArrayList<PickmapState<G, A, R>>(); /** * Creates a new instance. @@ -144,62 +144,62 @@ } /** - * Adds a new {@link MapFile} to this folder. + * Adds a new {@link PickmapState} to this folder. * @param name the map file name * @param mapReaderFactory the map reader factory instance * @param pickmapManager the map manager for loading pickmaps * @return the newly created pickmap * @throws InvalidNameException if the pickmap name is invalid */ - public MapFile<G, A, R> addPickmap(@NotNull final String name, @NotNull final MapReaderFactory<G, A> mapReaderFactory, @NotNull final MapManager<G, A, R> pickmapManager) throws InvalidNameException { - final MapFile<G, A, R> mapFile; + public PickmapState<G, A, R> addPickmap(@NotNull final String name, @NotNull final MapReaderFactory<G, A> mapReaderFactory, @NotNull final MapManager<G, A, R> pickmapManager) throws InvalidNameException { + final PickmapState<G, A, R> pickmapState; synchronized (sync) { - mapFile = new MapFile<G, A, R>(this, name, mapReaderFactory, pickmapManager, mapViewsManager); - mapFiles.add(mapFile); + pickmapState = new PickmapState<G, A, R>(this, name, mapReaderFactory, pickmapManager, mapViewsManager); + pickmapStates.add(pickmapState); } for (final MapFolderListener<G, A, R> listenerMap : listeners.getListeners()) { - listenerMap.pickmapAdded(mapFile); + listenerMap.pickmapAdded(pickmapState); } - return mapFile; + return pickmapState; } /** - * Removes a {@link MapFile} from this folder. - * @param mapFile the pickmap to remove + * Removes a {@link PickmapState} from this folder. + * @param pickmapState the pickmap to remove * @param deleteFile if set, also remove the map files */ - public void removePickmap(@NotNull final MapFile<G, A, R> mapFile, final boolean deleteFile) { + public void removePickmap(@NotNull final PickmapState<G, A, R> pickmapState, final boolean deleteFile) { synchronized (sync) { - final int index = mapFiles.indexOf(mapFile); + final int index = pickmapStates.indexOf(pickmapState); if (index == -1) { throw new IllegalArgumentException(); } if (deleteFile) { - final File file = mapFile.getFile(); + final File file = pickmapState.getFile(); file.delete(); } - mapFiles.remove(index); + pickmapStates.remove(index); } for (final MapFolderListener<G, A, R> listenerMap : listeners.getListeners()) { - listenerMap.pickmapRemoved(mapFile); + listenerMap.pickmapRemoved(pickmapState); } - mapFile.freePickmap(); + pickmapState.freePickmap(); } /** - * Removes all {@link MapFile} from this folder. + * Removes all {@link PickmapState} from this folder. * @param deleteFile if set, also remove the map file */ public void removeAllPickmaps(final boolean deleteFile) { while (true) { - final MapFile<G, A, R> mapFile; + final PickmapState<G, A, R> pickmapState; synchronized (sync) { - if (mapFiles.isEmpty()) { + if (pickmapStates.isEmpty()) { break; } - mapFile = mapFiles.get(mapFiles.size() - 1); + pickmapState = pickmapStates.get(pickmapStates.size() - 1); } - removePickmap(mapFile, deleteFile); + removePickmap(pickmapState, deleteFile); } } @@ -209,8 +209,8 @@ * @return the iterator */ @Override - public Iterator<MapFile<G, A, R>> iterator() { - return Collections.unmodifiableList(mapFiles).iterator(); + public Iterator<PickmapState<G, A, R>> iterator() { + return Collections.unmodifiableList(pickmapStates).iterator(); } /** @@ -218,7 +218,7 @@ * @return the number of pickmaps */ public int getPickmaps() { - return mapFiles.size(); + return pickmapStates.size(); } /** @@ -238,23 +238,23 @@ } /** - * Returns all unsaved {@link MapFile MapFiles} in this folder. + * Returns all unsaved {@link PickmapState MapFiles} in this folder. * @param unsavedPickmaps the collection to add the unsaved pickmaps to */ public void getUnsavedPickmaps(@NotNull final Collection<MapControl<G, A, R>> unsavedPickmaps) { - for (final MapFile<G, A, R> mapFile : mapFiles) { - mapFile.getUnsavedPickmaps(unsavedPickmaps); + for (final PickmapState<G, A, R> pickmapState : pickmapStates) { + pickmapState.getUnsavedPickmaps(unsavedPickmaps); } } /** * Notifies all listeners about a reverted pickmap. - * @param mapFile the pickmap that was reverted + * @param pickmapState the pickmap that was reverted * @param oldPickmap the map control of the pickmap before reverting */ - public void firePickmapReverted(@NotNull final MapFile<G, A, R> mapFile, @NotNull final MapControl<G, A, R> oldPickmap) { + public void firePickmapReverted(@NotNull final PickmapState<G, A, R> pickmapState, @NotNull final MapControl<G, A, R> oldPickmap) { for (final MapFolderListener<G, A, R> listenerMap : listeners.getListeners()) { - listenerMap.pickmapReverted(mapFile, oldPickmap); + listenerMap.pickmapReverted(pickmapState, oldPickmap); } } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderListener.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderListener.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderListener.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -35,23 +35,23 @@ /** * A pickmap has been added to the folder. - * @param mapFile the added pickmap + * @param pickmapState the added pickmap */ - void pickmapAdded(@NotNull MapFile<G, A, R> mapFile); + void pickmapAdded(@NotNull PickmapState<G, A, R> pickmapState); /** * A pickmap has been removed from the folder. The passed * <code>pickmap</code> instance has not been removed from its {@link * MapFolder} but not yet unloaded. - * @param mapFile the removed pickmap + * @param pickmapState the removed pickmap */ - void pickmapRemoved(@NotNull MapFile<G, A, R> mapFile); + void pickmapRemoved(@NotNull PickmapState<G, A, R> pickmapState); /** * A pickmap has been reverted to the contents of its underlying file. - * @param mapFile the reverted pickmap + * @param pickmapState the reverted pickmap * @param oldPickmap the map control of the pickmap before revert */ - void pickmapReverted(@NotNull MapFile<G, A, R> mapFile, @NotNull MapControl<G, A, R> oldPickmap); + void pickmapReverted(@NotNull PickmapState<G, A, R> pickmapState, @NotNull MapControl<G, A, R> oldPickmap); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTree.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTree.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFolderTree.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -34,9 +34,9 @@ import org.jetbrains.annotations.Nullable; /** - * Stores all known {@link MapFile MapFiles}. The map files are grouped into - * {@link MapFolder MapFolders}. One of these folder can be the "active folder"; - * this is the folder the GUI operates on. + * Stores all known {@link PickmapState MapFiles}. The map files are grouped + * into {@link MapFolder MapFolders}. One of these folder can be the "active + * folder"; this is the folder the GUI operates on. * @author Andreas Kirschbaum */ public class MapFolderTree<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements Iterable<MapFolder<G, A, R>> { Copied: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java (from rev 9567, trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/MapFile.java) =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java (rev 0) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -0,0 +1,247 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2011 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.gui.mapfiles; + +import java.io.File; +import java.io.IOException; +import java.util.Collection; +import java.util.regex.Pattern; +import net.sf.gridarta.gui.map.mapview.MapView; +import net.sf.gridarta.gui.map.mapview.MapViewsManager; +import net.sf.gridarta.model.archetype.Archetype; +import net.sf.gridarta.model.gameobject.GameObject; +import net.sf.gridarta.model.io.MapReader; +import net.sf.gridarta.model.io.MapReaderFactory; +import net.sf.gridarta.model.maparchobject.MapArchObject; +import net.sf.gridarta.model.mapcontrol.MapControl; +import net.sf.gridarta.model.mapmanager.MapManager; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Maintains the state of a pickmap file. A <code>Pickmap</code> is part of a + * {@link MapFolder} which is part of {@link MapFolderTree}. A pickmap has an + * underlying file from which a {@link MapControl} instance may be created. + * @author Andreas Kirschbaum + */ +public class PickmapState<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> { + + /** + * The {@link Pattern} that matches valid pickmap names. + */ + @NotNull + private static final Pattern PATTERN_VALID_PICKMAP_NAME = Pattern.compile("[-a-zA-Z_+ 0-9,]+"); + + /** + * The folder this pickmap is part of. + */ + @NotNull + private final MapFolder<G, A, R> mapFolder; + + /** + * The underlying map file name. + */ + @NotNull + private final String name; + + /** + * The {@link MapManager} for creating new pickmaps. + */ + @NotNull + private final MapManager<G, A, R> pickmapManager; + + /** + * The {@link MapReaderFactory} to use. + */ + @NotNull + private final MapReaderFactory<G, A> mapReaderFactory; + + /** + * The {@link MapControl} instance representing the map file, or + * <code>null</code> if the map file is not loaded. + */ + @Nullable + private MapControl<G, A, R> pickmap; + + /** + * The {@link MapView} or {@link #pickmap}, or <code>null</code> if + * <code>pickmap == null</code>. + */ + @Nullable + private MapView<G, A, R> pickmapView; + + /** + * The {@link MapViewsManager}. + */ + @NotNull + private final MapViewsManager<G, A, R> mapViewsManager; + + /** + * The synchronization object for accessed to {@link #pickmap} and {@link + * #pickmapView}. + */ + @NotNull + private final Object sync = new Object(); + + /** + * Creates a new instance. + * @param mapFolder the folder ths pickmap is part of + * @param name the underlying map file name + * @param mapReaderFactory the map reader factory to use + * @param pickmapManager the map manager for creating pickmaps + * @param mapViewsManager the map views + * @throws InvalidNameException if <code>name</code> is not valid + */ + public PickmapState(@NotNull final MapFolder<G, A, R> mapFolder, @NotNull final String name, @NotNull final MapReaderFactory<G, A> mapReaderFactory, @NotNull final MapManager<G, A, R> pickmapManager, @NotNull final MapViewsManager<G, A, R> mapViewsManager) throws InvalidNameException { + if (!isValidPickmapName(name)) { + throw new InvalidNameException(name); + } + + this.mapFolder = mapFolder; + this.name = name; + this.pickmapManager = pickmapManager; + this.mapReaderFactory = mapReaderFactory; + this.mapViewsManager = mapViewsManager; + } + + /** + * Returns whether a pickmap name is valid. + * @param name the name to check + * @return whether the name is valid + */ + public static boolean isValidPickmapName(@NotNull final CharSequence name) { + return PATTERN_VALID_PICKMAP_NAME.matcher(name).matches(); + } + + /** + * Returns the underlying map file. + * @return the map file + */ + @NotNull + public File getFile() { + return new File(mapFolder.getDir(), name); + } + + /** + * Returns the {@link MapControl} representing this pickmap. Returns + * <code>null</code> unless {@link #loadPickmap()} was successfully called. + * @return the <code>MapControl</code> instance, or <code>null if the map + * file has not been loaded + */ + @Nullable + public MapControl<G, A, R> getPickmap() { + synchronized (sync) { + return pickmap; + } + } + + /** + * Returns the {@link MapView} instance for this pickmap. Returns + * <code>null</code> unless {@link #loadPickmap()} was successfully called. + * @return the <code>MapView</code> instance, or <code>null if the map file + * has not been loaded + */ + @Nullable + public MapView<G, A, R> getMapView() { + synchronized (sync) { + return pickmapView; + } + } + + /** + * Loads the pickmap from the underlying map file. + * @throws IOException if the map file cannot be loaded + */ + public void loadPickmap() throws IOException { + synchronized (sync) { + if (pickmap != null) { + return; + } + + final File file = getFile(); + final MapReader<G, A> decoder = mapReaderFactory.newMapReader(file); + pickmap = pickmapManager.newMap(decoder.getGameObjects(), decoder.getMapArchObject(), file, true); + pickmapView = mapViewsManager.newMapView(pickmap, null, null); + } + } + + /** + * Unloads the map file. Undoes the effect of {@link #loadPickmap()}. + */ + public void freePickmap() { + synchronized (sync) { + if (pickmap != null) { + assert pickmapView != null; + mapViewsManager.closeView(pickmapView); + assert pickmap != null; + pickmapManager.release(pickmap); + pickmap = null; + } + } + } + + /** + * Returns this pickmap if it has been loaded and is modified. + * @param unsavedPickmaps the collection to add <code>this</code> to if + * modified + */ + public void getUnsavedPickmaps(@NotNull final Collection<MapControl<G, A, R>> unsavedPickmaps) { + synchronized (sync) { + if (pickmap != null && pickmap.getMapModel().isModified()) { + unsavedPickmaps.add(pickmap); + } + } + } + + /** + * Removes this pickmap from its folder. + * @param deleteFile if set, delete the map file as well + */ + public void remove(final boolean deleteFile) { + mapFolder.removePickmap(this, deleteFile); + } + + /** + * Saves this pickmap. Does nothing if the pickmap is not loaded or not + * modified. + * @throws IOException if saving fails + */ + public void save() throws IOException { + final MapControl<G, A, R> oldPickmap = getPickmap(); + if (oldPickmap != null && oldPickmap.getMapModel().isModified()) { + oldPickmap.save(); + } + } + + /** + * Reverts this pickmap to its underlying map file. Does nothing if the + * pickmap is not loaded. + * @throws IOException if the pickmap cannot be loaded + */ + public void revert() throws IOException { + final MapControl<G, A, R> oldPickmap = getPickmap(); + if (oldPickmap != null) { + freePickmap(); + loadPickmap(); + mapFolder.firePickmapReverted(this, oldPickmap); + } + } + +} Property changes on: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapfiles/PickmapState.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:mergeinfo ## -0,0 +1 ## +/streams/cher-japi-update/src/app/net/sf/gridarta/mapfiles/MapFile.java:5966-5991 \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +LF \ No newline at end of property Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/DefaultObjectChooser.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/DefaultObjectChooser.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/objectchooser/DefaultObjectChooser.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -31,7 +31,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.mapfiles.MapFile; +import net.sf.gridarta.gui.mapfiles.PickmapState; import net.sf.gridarta.gui.panel.objectchoicedisplay.ObjectChoiceDisplay; import net.sf.gridarta.gui.panel.pickmapchooser.PickmapChooserModel; import net.sf.gridarta.gui.panel.pickmapchooser.PickmapChooserModelListener; @@ -104,13 +104,13 @@ private ObjectChooserTab<G, A, R> activeTab; /** - * The last known active {@link MapFile}. + * The last known active {@link PickmapState}. */ @Nullable - private MapFile<G, A, R> activeMapFile; + private PickmapState<G, A, R> activePickmapState; /** - * The {@link MapView} of {@link #activeMapFile}. + * The {@link MapView} of {@link #activePickmapState}. */ @Nullable private MapView<G, A, R> activePickmapView; @@ -222,21 +222,21 @@ final PickmapChooserModelListener<G, A, R> pickmapChooserModelListener = new PickmapChooserModelListener<G, A, R>() { @Override - public void activePickmapChanged(@Nullable final MapFile<G, A, R> mapFile) { - if (activeMapFile != mapFile) { // ignore non-changes + public void activePickmapChanged(@Nullable final PickmapState<G, A, R> mapFile) { + if (activePickmapState != mapFile) { // ignore non-changes updateActivePickmap(mapFile); } } @Override - public void pickmapReverted(@NotNull final MapFile<G, A, R> mapFile) { - if (activeMapFile == mapFile) { // ignore unless active pickmap was reverted + public void pickmapReverted(@NotNull final PickmapState<G, A, R> mapFile) { + if (activePickmapState == mapFile) { // ignore unless active pickmap was reverted updateActivePickmap(mapFile); } } @Override - public void pickmapModifiedChanged(final int index, final MapFile<G, A, R> mapFile) { + public void pickmapModifiedChanged(final int index, final PickmapState<G, A, R> mapFile) { // ignore } @@ -378,13 +378,13 @@ /** * Records an active pickmap. - * @param mapFile the pickmap + * @param pickmapState the pickmap */ - private void updateActivePickmap(@Nullable final MapFile<G, A, R> mapFile) { + private void updateActivePickmap(@Nullable final PickmapState<G, A, R> pickmapState) { if (activePickmapView != null) { activePickmapView.getMapCursor().removeMapCursorListener(mapCursorListener); } - activeMapFile = mapFile; + activePickmapState = pickmapState; updateActivePickmap(); if (activePickmapView != null) { activePickmapView.getMapCursor().addMapCursorListener(mapCursorListener); @@ -392,10 +392,10 @@ } /** - * Updates the display state after {@link #activeMapFile} has changed. + * Updates the display state after {@link #activePickmapState} has changed. */ private void updateActivePickmap() { - activePickmapView = activeMapFile != null ? activeMapFile.getMapView() : null; + activePickmapView = activePickmapState != null ? activePickmapState.getMapView() : null; updatePickmapInfo(activePickmapView == null ? null : activePickmapView.getMapCursor()); } @@ -410,10 +410,10 @@ gameObject = null; } else { final Point location = mapCursor.getLocation(); - if (activeMapFile == null) { + if (activePickmapState == null) { gameObject = null; } else { - final MapControl<G, A, R> pickmap = activeMapFile.getPickmap(); + final MapControl<G, A, R> pickmap = activePickmapState.getPickmap(); if (pickmap == null) { gameObject = null; } else { Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserControl.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -35,7 +35,7 @@ import net.sf.gridarta.gui.dialog.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.map.mapview.MapView; import net.sf.gridarta.gui.map.mapview.MapViewsManager; -import net.sf.gridarta.gui.mapfiles.MapFile; +import net.sf.gridarta.gui.mapfiles.PickmapState; import net.sf.gridarta.gui.mapfiles.MapFolderTree; import net.sf.gridarta.gui.panel.objectchooser.ObjectChooserTab; import net.sf.gridarta.model.archetype.Archetype; @@ -167,7 +167,7 @@ * The current active pickmap on top. */ @Nullable - private MapFile<G, A, R> currentMapFile; + private PickmapState<G, A, R> currentPickmapState; /** * The current active pickmap on top. @@ -243,17 +243,17 @@ private final PickmapChooserModelListener<G, A, R> pickmapChooserModelListener = new PickmapChooserModelListener<G, A, R>() { @Override - public void activePickmapChanged(@Nullable final MapFile<G, A, R> mapFile) { - setCurrentPickmap(mapFile); + public void activePickmapChanged(@Nullable final PickmapState<G, A, R> pickmapState) { + setCurrentPickmap(pickmapState); } @Override - public void pickmapReverted(@NotNull final MapFile<G, A, R> mapFile) { - setCurrentPickmap(mapFile); + public void pickmapReverted(@NotNull final PickmapState<G, A, R> pickmapState) { + setCurrentPickmap(pickmapState); } @Override - public void pickmapModifiedChanged(final int index, final MapFile<G, A, R> mapFile) { + public void pickmapModifiedChanged(final int index, final PickmapState<G, A, R> pickmapState) { // ignore } @@ -267,12 +267,12 @@ @Override public void stateChanged(final ChangeEvent e) { - final MapFile<G, A, R> mapFile = getSelectedPickmap(); - final MapControl<G, A, R> mapControl = mapFile == null ? null : mapFile.getPickmap(); + final PickmapState<G, A, R> pickmapState = getSelectedPickmap(); + final MapControl<G, A, R> mapControl = pickmapState == null ? null : pickmapState.getPickmap(); if (mapControl != null) { mapViewsManager.getMapViewFrame(mapControl).getMapCursor().deactivate(); } - pickmapChooserModel.fireActivePickmapChanged(mapFile); + pickmapChooserModel.fireActivePickmapChanged(pickmapState); } }; @@ -365,12 +365,12 @@ * @param file the file of the pickmap */ private void reloadPickmap(@NotNull final File file) { - final MapFile<G, A, R> mapFile = pickmapChooserModel.getPickmap(file); - if (mapFile != null) { + final PickmapState<G, A, R> pickmapState = pickmapChooserModel.getPickmap(file); + if (pickmapState != null) { try { - mapFile.revert(); + pickmapState.revert(); } catch (final IOException ex) { - log.warn("cannot reload pickmap " + mapFile.getFile() + ": " + ex.getMessage()); + log.warn("cannot reload pickmap " + pickmapState.getFile() + ": " + ex.getMessage()); } } } @@ -430,7 +430,7 @@ * @return the selected pickmap */ @Nullable - public MapFile<G, A, R> getSelectedPickmap() { + public PickmapState<G, A, R> getSelectedPickmap() { final int selectedIndex = view.getSelectedIndex(); if (selectedIndex == -1) { return null; @@ -544,20 +544,20 @@ * as map" is disabled */ @Nullable - private MapFile<G, A, R> getOpenPickmapMap() { + private PickmapState<G, A, R> getOpenPickmapMap() { if (pickmapSettings.isLocked() || !active) { return null; } - return currentMapFile; + return currentPickmapState; } /** * Set the currently active pickmap. - * @param currentMapFile the currently active pickmap + * @param currentPickmapState the currently active pickmap */ - private void setCurrentPickmap(@Nullable final MapFile<G, A, R> currentMapFile) { - final MapControl<G, A, R> pickmapControl = currentMapFile == null ? null : currentMapFile.getPickmap(); - if (this.currentMapFile == currentMapFile && currentPickmapControl == pickmapControl) { + private void setCurrentPickmap(@Nullable final PickmapState<G, A, R> currentPickmapState) { + final MapControl<G, A, R> pickmapControl = currentPickmapState == null ? null : currentPickmapState.getPickmap(); + if (this.currentPickmapState == currentPickmapState && currentPickmapControl == pickmapControl) { return; } @@ -566,7 +566,7 @@ currentPickmapControl.getMapModel().removeMapModelListener(mapModelListener); } - this.currentMapFile = currentMapFile; + this.currentPickmapState = currentPickmapState; currentPickmapControl = pickmapControl; if (currentPickmapControl != null) { @@ -635,13 +635,13 @@ * @return whether the action was or can be performed */ private boolean doOpenPickmapMap(final boolean performAction) { - final MapFile<G, A, R> mapFile = getOpenPickmapMap(); - if (mapFile == null) { + final PickmapState<G, A, R> pickmapState = getOpenPickmapMap(); + if (pickmapState == null) { return false; } if (performAction) { - final File file = mapFile.getFile(); + final File file = pickmapState.getFile(); try { mapViewsManager.openMapFileWithView(file, null, null); } catch (final IOException ex) { @@ -663,17 +663,17 @@ return false; } - final MapFile<G, A, R> mapFile = currentMapFile; - if (mapFile == null) { + final PickmapState<G, A, R> pickmapState = currentPickmapState; + if (pickmapState == null) { return false; } if (performAction) { - if (!ACTION_BUILDER.showQuestionDialog(parent, "confirmDeletePickmap", mapFile.getFile().getName())) { + if (!ACTION_BUILDER.showQuestionDialog(parent, "confirmDeletePickmap", pickmapState.getFile().getName())) { return false; } - mapFile.remove(true); + pickmapState.remove(true); } return true; @@ -689,20 +689,20 @@ return false; } - if (currentMapFile == null || currentPickmapControl == null || !currentPickmapControl.getMapModel().isModified()) { + if (currentPickmapState == null || currentPickmapControl == null || !currentPickmapControl.getMapModel().isModified()) { return false; } - final MapFile<G, A, R> mapFile = currentMapFile; - if (mapFile == null) { + final PickmapState<G, A, R> pickmapState = currentPickmapState; + if (pickmapState == null) { return false; } if (performAction) { try { - mapFile.save(); + pickmapState.save(); } catch (final IOException e) { - ACTION_BUILDER.showMessageDialog(parent, "encodeMapFile", mapFile, e.getMessage()); + ACTION_BUILDER.showMessageDialog(parent, "encodeMapFile", pickmapState, e.getMessage()); return false; } } @@ -720,17 +720,17 @@ return false; } - final MapFile<G, A, R> mapFile = currentMapFile; - if (mapFile == null) { + final PickmapState<G, A, R> pickmapState = currentPickmapState; + if (pickmapState == null) { return false; } - final File mapFileFile = mapFile.getFile(); + final File mapFileFile = pickmapState.getFile(); if (currentPickmapControl == null || !currentPickmapControl.getMapModel().isModified() || !mapFileFile.exists()) { return false; } - final MapControl<G, A, R> mapControl = mapFile.getPickmap(); + final MapControl<G, A, R> mapControl = pickmapState.getPickmap(); if (mapControl == null) { return false; } @@ -752,7 +752,7 @@ } try { - mapFile.revert(); + pickmapState.revert(); } catch (final IOException ex) { ACTION_BUILDER.showMessageDialog(null/*XXX:parent*/, "pickmapIOError", mapFileFile.getName(), ex.getMessage()); return false; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModel.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModel.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModel.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -29,7 +29,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import net.sf.gridarta.gui.mapfiles.MapFile; +import net.sf.gridarta.gui.mapfiles.PickmapState; import net.sf.gridarta.gui.mapfiles.MapFileNameComparator; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; @@ -44,16 +44,16 @@ import org.jetbrains.annotations.Nullable; /** - * Maintains loaded {@link MapFile} instances. + * Maintains loaded {@link PickmapState} instances. * @author Andreas Kirschbaum */ -public class PickmapChooserModel<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements Iterable<MapFile<G, A, R>> { +public class PickmapChooserModel<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements Iterable<PickmapState<G, A, R>> { /** * All open pickmaps. */ @NotNull - private final List<MapFile<G, A, R>> mapFiles = new ArrayList<MapFile<G, A, R>>(); + private final List<PickmapState<G, A, R>> pickmapStates = new ArrayList<PickmapState<G, A, R>>(); /** * The listeners to notify. @@ -69,48 +69,48 @@ /** * Adds a map file. - * @param mapFile the map file to add + * @param pickmapState the map file to add * @return the insertion index */ - public int addMapFile(@NotNull final MapFile<G, A, R> mapFile) { - final int tmp = Collections.binarySearch(mapFiles, mapFile, MapFileNameComparator.INSTANCE); + public int addMapFile(@NotNull final PickmapState<G, A, R> pickmapState) { + final int tmp = Collections.binarySearch(pickmapStates, pickmapState, MapFileNameComparator.INSTANCE); final int index = tmp >= 0 ? tmp : -tmp - 1; - mapFiles.add(index, mapFile); - addMapModelListener(mapFile.getPickmap()); + pickmapStates.add(index, pickmapState); + addMapModelListener(pickmapState.getPickmap()); return index; } /** * Removes a map file. - * @param mapFile the map file to remove + * @param pickmapState the map file to remove * @return the removed index or <code>-1</code> if the map file does not * exist */ - public int removeMapFile(@NotNull final MapFile<G, A, R> mapFile) { - final int index = mapFiles.indexOf(mapFile); + public int removeMapFile(@NotNull final PickmapState<G, A, R> pickmapState) { + final int index = pickmapStates.indexOf(pickmapState); if (index < 0) { return -1; // might have been a pickmap that could not be loaded } - removeMapModelListener(mapFile.getPickmap()); - mapFiles.remove(index); + removeMapModelListener(pickmapState.getPickmap()); + pickmapStates.remove(index); return index; } /** * Reverts a map file. * @param oldPickmap the old pickmap control - * @param mapFile the map file to revert + * @param pickmapState the map file to revert * @return the reverted index or <code>-1</code> if the map file does not * exist */ - public int revertMapFile(@NotNull final MapControl<G, A, R> oldPickmap, @NotNull final MapFile<G, A, R> mapFile) { - final int index = mapFiles.indexOf(mapFile); + public int revertMapFile(@NotNull final MapControl<G, A, R> oldPickmap, @NotNull final PickmapState<G, A, R> pickmapState) { + final int index = pickmapStates.indexOf(pickmapState); if (index < 0) { return -1; // might have been a pickmap that could not be loaded } removeMapModelListener(oldPickmap); - addMapModelListener(mapFile.getPickmap()); - firePickmapReverted(mapFile); + addMapModelListener(pickmapState.getPickmap()); + firePickmapReverted(pickmapState); return index; } @@ -120,10 +120,10 @@ * @return the pickmap, or <code>null</code> if the file is unknown */ @Nullable - public MapFile<G, A, R> getPickmap(@NotNull final File file) { - for (final MapFile<G, A, R> mapFile : mapFiles) { - if (mapFile.getFile().equals(file)) { - return mapFile; + public PickmapState<G, A, R> getPickmap(@NotNull final File file) { + for (final PickmapState<G, A, R> pickmapState : pickmapStates) { + if (pickmapState.getFile().equals(file)) { + return pickmapState; } } return null; @@ -134,16 +134,16 @@ * @return whether no pickmaps exist */ public boolean isEmpty() { - return mapFiles.isEmpty(); + return pickmapStates.isEmpty(); } /** * Returns the index of a map file. - * @param mapFile the map file to search + * @param pickmapState the map file to search * @return the index or <code>-1</code> if the map file does not exist */ - public int indexOf(@NotNull final MapFile<G, A, R> mapFile) { - return mapFiles.indexOf(mapFile); + public int indexOf(@NotNull final PickmapState<G, A, R> pickmapState) { + return pickmapStates.indexOf(pickmapState); } /** @@ -151,8 +151,8 @@ */ @NotNull @Override - public Iterator<MapFile<G, A, R>> iterator() { - return Collections.unmodifiableList(mapFiles).iterator(); + public Iterator<PickmapState<G, A, R>> iterator() { + return Collections.unmodifiableList(pickmapStates).iterator(); } /** @@ -161,18 +161,18 @@ * @return the map file */ @NotNull - public MapFile<G, A, R> get(final int index) { - return mapFiles.get(index); + public PickmapState<G, A, R> get(final int index) { + return pickmapStates.get(index); } /** * Removes all map files. */ public void clear() { - for (final MapFile<G, A, R> mapFile : mapFiles) { - removeMapModelListener(mapFile.getPickmap()); + for (final PickmapState<G, A, R> pickmapState : pickmapStates) { + removeMapModelListener(pickmapState.getPickmap()); } - mapFiles.clear(); + pickmapStates.clear(); } /** @@ -185,32 +185,32 @@ /** * Notifies all listeners that the a pickmap has been reverted. - * @param mapFile the reverted pickmap + * @param pickmapState the reverted pickmap */ - private void firePickmapReverted(@NotNull final MapFile<G, A, R> mapFile) { + private void firePickmapReverted(@NotNull final PickmapState<G, A, R> pickmapState) { for (final PickmapChooserModelListener<G, A, R> listener : listeners) { - listener.pickmapReverted(mapFile); + listener.pickmapReverted(pickmapState); } } /** * Notifies all listeners that the active pickmap has changes. - * @param mapFile the active pickmap + * @param pickmapState the active pickmap */ - public void fireActivePickmapChanged(@Nullable final MapFile<G, A, R> mapFile) { + public void fireActivePickmapChanged(@Nullable final PickmapState<G, A, R> pickmapState) { for (final PickmapChooserModelListener<G, A, R> listener : listeners) { - listener.activePickmapChanged(mapFile); + listener.activePickmapChanged(pickmapState); } } /** * Notifies all listeners that a pickmap has been modified. * @param index the index of the modified pickmap - * @param mapFile the modified pickmap + * @param pickmapState the modified pickmap */ - private void firePickmapModifiedChanged(final int index, @NotNull final MapFile<G, A, R> mapFile) { + private void firePickmapModifiedChanged(final int index, @NotNull final PickmapState<G, A, R> pickmapState) { for (final PickmapChooserModelListener<G, A, R> listener : listeners) { - listener.pickmapModifiedChanged(index, mapFile); + listener.pickmapModifiedChanged(index, pickmapState); } } @@ -284,9 +284,9 @@ @Override public void modifiedChanged() { int index = 0; - for (final MapFile<G, A, R> mapFile : mapFiles) { - if (mapFile.getPickmap().getMapModel() == mapModel) { - firePickmapModifiedChanged(index, mapFile); + for (final PickmapState<G, A, R> pickmapState : pickmapStates) { + if (pickmapState.getPickmap().getMapModel() == mapModel) { + firePickmapModifiedChanged(index, pickmapState); return; } index++; Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModelListener.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModelListener.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserModelListener.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -19,7 +19,7 @@ package net.sf.gridarta.gui.panel.pickmapchooser; -import net.sf.gridarta.gui.mapfiles.MapFile; +import net.sf.gridarta.gui.mapfiles.PickmapState; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -34,22 +34,22 @@ /** * Notifies that the active pickmap has changed. - * @param mapFile the active pickmap or <code>null</code> if no pickmap + * @param pickmapState the active pickmap or <code>null</code> if no pickmap * exists */ - void activePickmapChanged(@Nullable MapFile<G, A, R> mapFile); + void activePickmapChanged(@Nullable PickmapState<G, A, R> pickmapState); /** * Notifies that one pickmap has been reverted. - * @param mapFile the pickmap that has been reverted + * @param pickmapState the pickmap that has been reverted */ - void pickmapReverted(@NotNull MapFile<G, A, R> mapFile); + void pickmapReverted(@NotNull PickmapState<G, A, R> pickmapState); /** * Notifies that one pickmap's modified flag has changed. * @param index the index of the changed pickmap - * @param mapFile the pickmap that has changed + * @param pickmapState the pickmap that has changed */ - void pickmapModifiedChanged(int index, MapFile<G, A, R> mapFile); + void pickmapModifiedChanged(int index, PickmapState<G, A, R> pickmapState); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java 2014-02-15 12:52:58 UTC (rev 9567) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/panel/pickmapchooser/PickmapChooserView.java 2014-02-15 16:33:25 UTC (rev 9568) @@ -30,7 +30,7 @@ import net.sf.gridarta.gui.map.mapview.MapView; import net.sf.gridarta.gui.mapfiles.DuplicatePickmapException; import net.sf.gridarta.gui.mapfiles.InvalidNameException; -import net.sf.gridarta.gui.mapfiles.MapFile; +import net.sf.gridarta.gui.mapfiles.PickmapState; import net.sf.gridarta.gui.mapfiles.MapFolder; import net.sf.gridarta.gui.mapfiles.MapFolderListener; import net.sf.gridarta.gui.mapfiles.MapFolderTree; @@ -123,8 +123,8 @@ pickmapChooserModel.clear(); pickmapPanel.removeAll(); if (activeMapFolder != null) { - for (final MapFile<G, A, R> mapFile : activeMapFolder) { - addPickmap(mapFile); + for (final PickmapState<G, A, R> pickmapState : activeMapFolder) { + addPickmap(pickmapState); } } } @@ -149,18 +149,18 @@ private final MapFolderListener<G, A, R> mapFolderListener = new MapFolderListener<G, A, R>() { @Override - public void pickmapAdded(@NotNull final MapFile<G, A, R> mapFile) { - addPickmap(mapFile); + public void pickmapAdded(@NotNull final PickmapState<G, A, R> pickmapState) { + addPickmap(pickmapState); } @Override - public void pickmapRemoved(@NotNull final MapFile<G, A, R> mapFile) { - removePickmap(mapFile); + public void pickmapRemoved(@NotNull final PickmapState<G, A, R> pickmapState) { + removePickmap(pickmapState); } @Override - public void pickmapReverted(@NotNull final MapFile<G, A, R> mapFile, @NotNull final MapControl<G, A, R> oldPickmap) { - revertPickmap(mapFile, oldPickmap); + public void pickmapReverted(@NotNull final PickmapState<G, A, R> pickmapState, @NotNull final MapControl<G, A, R> oldPickmap) { + revertPickmap(pickmapState, oldPickmap); } }; @@ -173,16 +173,16 @@ private final PickmapChooserModelListener<G, A, R> pickmapChooserModelListener = new PickmapChooserModelListener<G, A, R>() { @Override - public void activePickmapChanged(@Nullable final MapFile<G, A, R> mapFile) { + public void activePickmapChanged(@Nullable final PickmapState<G, A, R> pickmapState) { } @Override - public void pickmapReverted(@NotNull final MapFile<G, A, R> mapFile) { + public void pickmapReverted(@NotNull final PickmapState<G, A, R> pickmapState) { } @Override - public void pickmapModifiedChanged(final int index, final MapFile<G, A, R> mapFile) { - pickmapPanel.setTitleAt(index, getTitle(mapFile)); + public void pickmapModifiedChanged(final int index, final PickmapState<G, A, R> pickmapState) { + pickmapPanel.setTitleAt(index, getTitle(pickmapState)); } }; @@ -229,27 +229,27 @@ /** * Called when a new pickmap has been added to the model. - * @param mapFile the pickmap + * @param pickmapState the pickmap */ - private void addPickmap(@NotNull final MapFile<G, A, R> mapFile) { + private void addPickmap(@NotNull final PickmapState<G, A, R> pickmapState) { try { - mapFile.loadPickmap(); + pickmapState.loadPickmap(); } catch (final IOException ex) { - log.warn("cannot load pickmap " + mapFile.getFile() + ": " + ex.getMessage()); + log.warn("cannot load pickmap " + pickmapState.getFile() + ": " + ex.getMessage()); return; } - final int index = pickmapChooserModel.addMapFile(mapFile); - final MapView<G, A, R> mapView = mapFile.getMapView(); - pickmapPanel.insertTab(getTitle(mapFile), null, mapView == null ? null : mapView.getScrollPane(), null, index); + final int index = pickmapChooserModel.addMapFile(pickmapState); + final MapView<G, A, R> mapView = pickma... [truncated message content] |
From: <aki...@us...> - 2014-02-15 12:53:02
|
Revision: 9567 http://sourceforge.net/p/gridarta/code/9567 Author: akirschbaum Date: 2014-02-15 12:52:58 +0000 (Sat, 15 Feb 2014) Log Message: ----------- Extract PathManagerUtils from PathManager. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/prefs/AppPreferencesModel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/TilePanel.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java Added Paths: ----------- trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManagerUtils.java trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerUtilsTest.java Removed Paths: ------------- trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerTest.java Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/prefs/AppPreferencesModel.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/prefs/AppPreferencesModel.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/dialog/prefs/AppPreferencesModel.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -21,7 +21,7 @@ import java.util.prefs.Preferences; import net.sf.gridarta.MainControl; -import net.sf.gridarta.model.io.PathManager; +import net.sf.gridarta.model.io.PathManagerUtils; import org.jetbrains.annotations.NotNull; /** @@ -85,7 +85,7 @@ * @param server the server setting */ public static void setServer(@NotNull final CharSequence server) { - PREFERENCES.put(PREFERENCES_APP_SERVER, PathManager.path(server)); + PREFERENCES.put(PREFERENCES_APP_SERVER, PathManagerUtils.path(server)); } /** @@ -93,7 +93,7 @@ * @param client the client setting */ public static void setClient(@NotNull final CharSequence client) { - PREFERENCES.put(PREFERENCES_APP_CLIENT, PathManager.path(client)); + PREFERENCES.put(PREFERENCES_APP_CLIENT, PathManagerUtils.path(client)); } /** @@ -101,7 +101,7 @@ * @param editor the editor setting */ public static void setEditor(@NotNull final CharSequence editor) { - PREFERENCES.put(PREFERENCES_APP_EDITOR, PathManager.path(editor)); + PREFERENCES.put(PREFERENCES_APP_EDITOR, PathManagerUtils.path(editor)); } /** Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/TilePanel.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/TilePanel.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/maptilepane/TilePanel.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -34,7 +34,7 @@ import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.filechooser.FileFilter; -import net.sf.gridarta.model.io.PathManager; +import net.sf.gridarta.model.io.PathManagerUtils; import net.sf.gridarta.utils.ActionBuilderUtils; import net.sf.gridarta.utils.FileChooserUtils; import net.sf.japi.swing.action.ActionBuilder; @@ -300,11 +300,11 @@ isRelative = !isRelative; updateText(); } - final String relRef = new StringBuilder().append('/').append(PathManager.absoluteToRelative(absoluteReference.getPath() + '/', tmpRelativeReference.getPath())).toString(); + final String relRef = new StringBuilder().append('/').append(PathManagerUtils.absoluteToRelative(absoluteReference.getPath() + '/', tmpRelativeReference.getPath())).toString(); if (isRelative) { - textField.setText(PathManager.absoluteToRelative(relRef, path)); + textField.setText(PathManagerUtils.absoluteToRelative(relRef, path)); } else { - textField.setText(PathManager.relativeToAbsolute(relRef, path)); + textField.setText(PathManagerUtils.relativeToAbsolute(relRef, path)); } } @@ -313,7 +313,7 @@ */ public void updateRAState() { final String path = getText(); - isRelative = PathManager.isRelative(path); + isRelative = PathManagerUtils.isRelative(path); updateText(); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -28,7 +28,7 @@ import javax.swing.JFileChooser; import javax.swing.JTextField; import javax.swing.event.DocumentListener; -import net.sf.gridarta.model.io.PathManager; +import net.sf.gridarta.model.io.PathManagerUtils; import net.sf.japi.swing.action.ActionBuilder; import net.sf.japi.swing.action.ActionBuilderFactory; import net.sf.japi.swing.action.ActionMethod; @@ -140,7 +140,7 @@ */ @NotNull private String getRelativeFile(final File file) { - return baseDir == null ? file.getPath() : PathManager.getMapPath(file, baseDir); + return baseDir == null ? file.getPath() : PathManagerUtils.getMapPath(file, baseDir); } /** Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/exitconnector/ExitLocation.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -23,6 +23,7 @@ import java.io.File; import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.io.PathManager; +import net.sf.gridarta.model.io.PathManagerUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -103,7 +104,7 @@ final String targetMapComponent = getMapComponent(targetMapPath); if (sourceMapComponent == null ? targetMapComponent == null : sourceMapComponent.equals(targetMapComponent)) { // relative reference - mapPath = PathManager.absoluteToRelative(sourceMapPath, targetMapPath); + mapPath = PathManagerUtils.absoluteToRelative(sourceMapPath, targetMapPath); } else { // absolute reference mapPath = targetMapPath; Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -21,9 +21,7 @@ import java.io.File; import java.io.IOException; -import java.util.regex.Pattern; import net.sf.gridarta.model.settings.ProjectSettings; -import net.sf.gridarta.utils.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -38,21 +36,6 @@ public class PathManager { /** - * A {@link Pattern} that matches redundant directory parts like "dir/../". - */ - @NotNull - private static final Pattern PATTERN_REDUNDANT = Pattern.compile("[^/]+/\\.\\./"); - - /** - * A {@link Pattern} that matches redundant directory separators. - */ - @NotNull - private static final Pattern PATTERN_SLASHES = Pattern.compile("//*"); - - - // NOTE: There are certainly faster algorithms. But these methods are rarely used. - - /** * The {@link ProjectSettings} instance for obtaining folder information. */ @NotNull @@ -74,37 +57,10 @@ */ @NotNull public String getMapPath(@NotNull final File file) { - return getMapPath(file, projectSettings.getMapsDirectory()); + return PathManagerUtils.getMapPath(file, projectSettings.getMapsDirectory()); } /** - * Returns a relative path path for a {@link File}. - * @param file the file - * @param baseDir the base directory to relativize against - * @return the relative path - */ - @NotNull - public static String getMapPath(@NotNull final File file, @NotNull final File baseDir) { - @NotNull final String mapDirName = baseDir.getPath(); - String mapPath = file.getPath().replace('\\', '/'); - if (mapPath.startsWith(mapDirName)) { - mapPath = mapPath.substring(mapDirName.length()); - } - if (mapPath.startsWith(new File(mapDirName).getAbsolutePath())) { - mapPath = mapPath.substring(new File(mapDirName).getAbsolutePath().length()); - } - try { - if (mapPath.startsWith(new File(mapDirName).getCanonicalPath())) { - mapPath = mapPath.substring(new File(mapDirName).getCanonicalPath().length()); - } - } catch (final IOException ignored) { - // ignore - } - mapPath = mapPath.replace('\\', '/'); - return mapPath; - } - - /** * Returns a map path for a {@link File}. * @param file the file * @return the map path or <code>null</code> if the file is not within the @@ -127,149 +83,4 @@ return mapPath.replace('\\', '/'); } - /** - * Check whether a path is absolute. Paths starting with "/" are absolute, - * paths starting with other characters are relative. Empty paths are - * relative. - * @param path the path to check - * @return <code>true</code> if <var>path</var> is absolute, - * <code>false</code> otherwise - * @see #isRelative(String) which nearly is the opposite of this method - */ - public static boolean isAbsolute(@NotNull final String path) { - return path.startsWith("/") || new File(path).isAbsolute(); - } - - /** - * Check whether a path is relative. Paths not starting with "/" are - * relative, paths starting with are absolute. Empty paths are relative. - * @param path the path to check - * @return <code>true</code> if <var>path</var> is relative, - * <code>false</code> otherwise - * @see #isAbsolute(String) which nearly is the opposite of this method - */ - public static boolean isRelative(@NotNull final String path) { - return !path.startsWith("/") && !new File(path).isAbsolute(); - } - - /** - * Converts a relative path to an absolute path. If the path already is - * absolute, this method simply returns the path. If the reference ends on - * "/", it is treated as being a base directory, otherwise a file that's - * directory is taken as base. - * @param reference the reference file the relative path works on - * @param relative destination file with relative path - * @return absolute path from the base directory - */ - @NotNull - public static String relativeToAbsolute(@NotNull final String reference, @NotNull final String relative) { - final String normalizedReference = reference.replace('\\', '/'); - final String normalizedRelative = relative.replace('\\', '/'); - if (isAbsolute(normalizedRelative)) { - return normalizedRelative; - } - String work = normalizedReference.substring(0, normalizedReference.lastIndexOf('/') + 1) + normalizedRelative; // + 1 to include the "/" - String work2; - do { - work2 = work; - work = PATTERN_REDUNDANT.matcher(work2).replaceAll(""); - } while (!work2.equals(work)); - return work; - } - - /** - * Converts an absolute path to a relative path. If the path already is - * relative, this method simply returns the path. If the reference ends on - * "/", it is treated as being a base directory, otherwise a file that's - * directory is taken as base. - * @param reference the reference file the relative path works on - * @param absolute destination file with relative path - * @return absolute path from the base directory - */ - @NotNull - public static String absoluteToRelative(@NotNull final String reference, @NotNull final String absolute) { - final String normalizedReference = reference.replace('\\', '/'); - final String normalizedAbsolute = absolute.replace('\\', '/'); - if (isRelative(normalizedAbsolute)) { - return normalizedAbsolute; - } - //String reference2 = - // First: Strip equal path parts - final int difference = findDifference(normalizedReference, normalizedAbsolute); - final StringBuilder relative = new StringBuilder(normalizedAbsolute.substring(difference)); - final CharSequence referencePath = normalizedReference.substring(difference); - for (int i = 0, l = findOccurrences(referencePath, '/'); i < l; i++) { - relative.insert(0, "../"); - } - return relative.toString(); - } - - /** - * Helper method that returns the first string index at which two strings - * denoting paths aren't identical. That is, the index always points at the - * beginning or a '/'-character. The return value of this method is in every - * case good for a String.substring() invocation start index. - * @param s1 first string to compare - * @param s2 second string to compare - * @return index of first / after which s1 and s2 aren't identical or 0 if - * they differ from start - */ - private static int findDifference(@NotNull final CharSequence s1, @NotNull final CharSequence s2) { - int s1slash = -1; - int s2slash = -1; - char c1 = (char) 0; // initialize for equality for first loop cycle - char c2 = (char) 0; - for (int index = 0, l1 = s1.length(), l2 = s2.length(); index < l1 && index < l2 && c1 == c2; index++) { - c1 = s1.charAt(index); - c2 = s2.charAt(index); - if (c1 == '/') { - s1slash = index; - } - if (c2 == '/') { - s2slash = index; - } - } - return Math.min(s1slash, s2slash) + 1; - } - - /** - * Counts the occurrences of a character within a string. - * @param s the string to count in - * @param c character to count - * @return number of occurrences of <var>c</var> in <var>s</var> - */ - private static int findOccurrences(@NotNull final CharSequence s, final char c) { - int occurrences = 0; - for (int i = 0, l = s.length(); i < l; i++) { - if (s.charAt(i) == c) { - occurrences++; - } - } - return occurrences; - } - - /** - * Create a reasonable path. - * @param str the string to create path from - * @return path - */ - @NotNull - public static String path(@NotNull final CharSequence str) { - String path = StringUtils.PATTERN_BACKSLASH.matcher(str).replaceAll("/"); - path = path.endsWith("/") ? path.substring(0, path.length() - 1) : path; - path = path.startsWith("file:") ? path.substring("file:".length()) : path; - path = PATTERN_SLASHES.matcher(path).replaceAll("/"); - return path; - } - - /** - * Returns the given path in absolute form. - * @param path the path to convert - * @return the absolute path - */ - @NotNull - public static String getAbsolutePath(@NotNull final CharSequence path) { - return relativeToAbsolute(System.getProperty("user.dir") + "/dummy", path(path)); - } - } Added: trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManagerUtils.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManagerUtils.java (rev 0) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManagerUtils.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -0,0 +1,224 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2011 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.io; + +import java.io.File; +import java.io.IOException; +import java.util.regex.Pattern; +import net.sf.gridarta.utils.StringUtils; +import org.jetbrains.annotations.NotNull; + +/** + * Utility class for converting relative map paths to absolute map paths and + * vice versa. + */ +public class PathManagerUtils { + + /** + * A {@link Pattern} that matches redundant directory parts like "dir/../". + */ + @NotNull + private static final Pattern PATTERN_REDUNDANT = Pattern.compile("[^/]+/\\.\\./"); + + /** + * A {@link Pattern} that matches redundant directory separators. + */ + @NotNull + private static final Pattern PATTERN_SLASHES = Pattern.compile("//*"); + + /** + * Private constructor to prevent instantiation. + */ + private PathManagerUtils() { + } + + /** + * Returns a relative path path for a {@link File}. + * @param file the file + * @param baseDir the base directory to relativize against + * @return the relative path + */ + @NotNull + public static String getMapPath(@NotNull final File file, @NotNull final File baseDir) { + @NotNull final String mapDirName = baseDir.getPath(); + String mapPath = file.getPath().replace('\\', '/'); + if (mapPath.startsWith(mapDirName)) { + mapPath = mapPath.substring(mapDirName.length()); + } + if (mapPath.startsWith(new File(mapDirName).getAbsolutePath())) { + mapPath = mapPath.substring(new File(mapDirName).getAbsolutePath().length()); + } + try { + if (mapPath.startsWith(new File(mapDirName).getCanonicalPath())) { + mapPath = mapPath.substring(new File(mapDirName).getCanonicalPath().length()); + } + } catch (final IOException ignored) { + // ignore + } + mapPath = mapPath.replace('\\', '/'); + return mapPath; + } + + /** + * Check whether a path is absolute. Paths starting with "/" are absolute, + * paths starting with other characters are relative. Empty paths are + * relative. + * @param path the path to check + * @return <code>true</code> if <var>path</var> is absolute, + * <code>false</code> otherwise + * @see #isRelative(String) which nearly is the opposite of this method + */ + public static boolean isAbsolute(@NotNull final String path) { + return path.startsWith("/") || new File(path).isAbsolute(); + } + + /** + * Check whether a path is relative. Paths not starting with "/" are + * relative, paths starting with are absolute. Empty paths are relative. + * @param path the path to check + * @return <code>true</code> if <var>path</var> is relative, + * <code>false</code> otherwise + * @see #isAbsolute(String) which nearly is the opposite of this method + */ + public static boolean isRelative(@NotNull final String path) { + return !path.startsWith("/") && !new File(path).isAbsolute(); + } + + /** + * Converts a relative path to an absolute path. If the path already is + * absolute, this method simply returns the path. If the reference ends on + * "/", it is treated as being a base directory, otherwise a file that's + * directory is taken as base. + * @param reference the reference file the relative path works on + * @param relative destination file with relative path + * @return absolute path from the base directory + */ + @NotNull + public static String relativeToAbsolute(@NotNull final String reference, @NotNull final String relative) { + final String normalizedReference = reference.replace('\\', '/'); + final String normalizedRelative = relative.replace('\\', '/'); + if (isAbsolute(normalizedRelative)) { + return normalizedRelative; + } + String work = normalizedReference.substring(0, normalizedReference.lastIndexOf('/') + 1) + normalizedRelative; // + 1 to include the "/" + String work2; + do { + work2 = work; + work = PATTERN_REDUNDANT.matcher(work2).replaceAll(""); + } while (!work2.equals(work)); + return work; + } + + /** + * Converts an absolute path to a relative path. If the path already is + * relative, this method simply returns the path. If the reference ends on + * "/", it is treated as being a base directory, otherwise a file that's + * directory is taken as base. + * @param reference the reference file the relative path works on + * @param absolute destination file with relative path + * @return absolute path from the base directory + */ + @NotNull + public static String absoluteToRelative(@NotNull final String reference, @NotNull final String absolute) { + final String normalizedReference = reference.replace('\\', '/'); + final String normalizedAbsolute = absolute.replace('\\', '/'); + if (isRelative(normalizedAbsolute)) { + return normalizedAbsolute; + } + //String reference2 = + // First: Strip equal path parts + final int difference = findDifference(normalizedReference, normalizedAbsolute); + final StringBuilder relative = new StringBuilder(normalizedAbsolute.substring(difference)); + final CharSequence referencePath = normalizedReference.substring(difference); + for (int i = 0, l = findOccurrences(referencePath, '/'); i < l; i++) { + relative.insert(0, "../"); + } + return relative.toString(); + } + + /** + * Helper method that returns the first string index at which two strings + * denoting paths aren't identical. That is, the index always points at the + * beginning or a '/'-character. The return value of this method is in every + * case good for a String.substring() invocation start index. + * @param s1 first string to compare + * @param s2 second string to compare + * @return index of first / after which s1 and s2 aren't identical or 0 if + * they differ from start + */ + private static int findDifference(@NotNull final CharSequence s1, @NotNull final CharSequence s2) { + int s1slash = -1; + int s2slash = -1; + char c1 = (char) 0; // initialize for equality for first loop cycle + char c2 = (char) 0; + for (int index = 0, l1 = s1.length(), l2 = s2.length(); index < l1 && index < l2 && c1 == c2; index++) { + c1 = s1.charAt(index); + c2 = s2.charAt(index); + if (c1 == '/') { + s1slash = index; + } + if (c2 == '/') { + s2slash = index; + } + } + return Math.min(s1slash, s2slash) + 1; + } + + /** + * Counts the occurrences of a character within a string. + * @param s the string to count in + * @param c character to count + * @return number of occurrences of <var>c</var> in <var>s</var> + */ + private static int findOccurrences(@NotNull final CharSequence s, final char c) { + int occurrences = 0; + for (int i = 0, l = s.length(); i < l; i++) { + if (s.charAt(i) == c) { + occurrences++; + } + } + return occurrences; + } + + /** + * Create a reasonable path. + * @param str the string to create path from + * @return path + */ + @NotNull + public static String path(@NotNull final CharSequence str) { + String path = StringUtils.PATTERN_BACKSLASH.matcher(str).replaceAll("/"); + path = path.endsWith("/") ? path.substring(0, path.length() - 1) : path; + path = path.startsWith("file:") ? path.substring("file:".length()) : path; + path = PATTERN_SLASHES.matcher(path).replaceAll("/"); + return path; + } + + /** + * Returns the given path in absolute form. + * @param path the path to convert + * @return the absolute path + */ + @NotNull + public static String getAbsolutePath(@NotNull final CharSequence path) { + return relativeToAbsolute(System.getProperty("user.dir") + "/dummy", path(path)); + } + +} Property changes on: trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManagerUtils.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/maplocation/MapLocation.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -26,6 +26,7 @@ import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.io.PathManager; +import net.sf.gridarta.model.io.PathManagerUtils; import net.sf.gridarta.model.mapmodel.MapModel; import net.sf.gridarta.model.mapmodel.MapSquare; import net.sf.gridarta.utils.StringUtils; @@ -108,7 +109,7 @@ baseMapPath = pathManager.getMapPath(mapFile); } } - final String canonicalMapPath = PathManager.relativeToAbsolute(baseMapPath, mapPath); + final String canonicalMapPath = PathManagerUtils.relativeToAbsolute(baseMapPath, mapPath); final int mapX = getMapX(gameObject); final int mapY = getMapY(gameObject); return new MapLocation(canonicalMapPath, mapX, mapY); Deleted: trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerTest.java =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerTest.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerTest.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -1,83 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2010 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package net.sf.gridarta.model.io; - -import org.junit.Assert; -import org.junit.Test; - -/** - * Test for {@link PathManager}. - * @author <a href="mailto:ch...@ri...">Christian Hujer</a> - */ -public class PathManagerTest { - - /** - * Test case for {@link PathManager#path(CharSequence)}. - */ - @Test - public void testPath() { - Assert.assertEquals("Expecting trailing slash from directories being removed.", "/foo", PathManager.path("/foo/")); - Assert.assertEquals("Expecting file: URIs being converted to URIs without scheme.", "/foo", PathManager.path("file:/foo/")); - Assert.assertEquals("Expecting multiple // characters to be collapsed.", "/foo/bar", PathManager.path("//foo///bar")); - } - - /** - * Test case for {@link PathManager#absoluteToRelative(String, String)}. - */ - @Test - public void testAbsoluteToRelative() { - Assert.assertEquals("../stoneglow/stoneglow_0000", PathManager.absoluteToRelative("/relic/castle_0000", "/stoneglow/stoneglow_0000")); - Assert.assertEquals("../stoneglow/stoneglow_0000", PathManager.absoluteToRelative("/relic/", "/stoneglow/stoneglow_0000")); - } - - /** - * Test case for {@link PathManager#absoluteToRelative(String, String)}. - */ - @Test - public void testRelativeToAbsolute() { - Assert.assertEquals("/stoneglow/stoneglow_0000", PathManager.relativeToAbsolute("/relic/castle_0000", "../stoneglow/stoneglow_0000")); - Assert.assertEquals("/stoneglow/stoneglow_0000", PathManager.relativeToAbsolute("/relic/", "../stoneglow/stoneglow_0000")); - Assert.assertEquals("/stoneglow/stoneglow_0000", PathManager.relativeToAbsolute("/relic/castle_0000", "/stoneglow/stoneglow_0000")); - Assert.assertEquals("/stoneglow/stoneglow_0000", PathManager.relativeToAbsolute("/relic/", "/stoneglow/stoneglow_0000")); - } - - /** - * Test case for {@link PathManager#isRelative(String)}. - */ - @Test - public void testIsRelative() { - Assert.assertTrue(PathManager.isRelative("../stoneglow/stoneglow_0000")); - Assert.assertTrue(PathManager.isRelative("stoneglow/stoneglow_0000")); - Assert.assertFalse(PathManager.isRelative("/stoneglow/stoneglow_0000")); - Assert.assertTrue(PathManager.isRelative("")); - } - - /** - * Test case for {@link PathManager#isAbsolute(String)}. - */ - @Test - public void testIsAbsolute() { - Assert.assertFalse(PathManager.isAbsolute("../stoneglow/stoneglow_0000")); - Assert.assertFalse(PathManager.isAbsolute("stoneglow/stoneglow_0000")); - Assert.assertTrue(PathManager.isAbsolute("/stoneglow/stoneglow_0000")); - Assert.assertFalse(PathManager.isAbsolute("")); - } - -} Copied: trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerUtilsTest.java (from rev 9564, trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerTest.java) =================================================================== --- trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerUtilsTest.java (rev 0) +++ trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerUtilsTest.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -0,0 +1,83 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2010 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.model.io; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Test for {@link PathManager}. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + */ +public class PathManagerUtilsTest { + + /** + * Test case for {@link PathManagerUtils#path(CharSequence)}. + */ + @Test + public void testPath() { + Assert.assertEquals("Expecting trailing slash from directories being removed.", "/foo", PathManagerUtils.path("/foo/")); + Assert.assertEquals("Expecting file: URIs being converted to URIs without scheme.", "/foo", PathManagerUtils.path("file:/foo/")); + Assert.assertEquals("Expecting multiple // characters to be collapsed.", "/foo/bar", PathManagerUtils.path("//foo///bar")); + } + + /** + * Test case for {@link PathManagerUtils#absoluteToRelative(String, String)}. + */ + @Test + public void testAbsoluteToRelative() { + Assert.assertEquals("../stoneglow/stoneglow_0000", PathManagerUtils.absoluteToRelative("/relic/castle_0000", "/stoneglow/stoneglow_0000")); + Assert.assertEquals("../stoneglow/stoneglow_0000", PathManagerUtils.absoluteToRelative("/relic/", "/stoneglow/stoneglow_0000")); + } + + /** + * Test case for {@link PathManagerUtils#absoluteToRelative(String, String)}. + */ + @Test + public void testRelativeToAbsolute() { + Assert.assertEquals("/stoneglow/stoneglow_0000", PathManagerUtils.relativeToAbsolute("/relic/castle_0000", "../stoneglow/stoneglow_0000")); + Assert.assertEquals("/stoneglow/stoneglow_0000", PathManagerUtils.relativeToAbsolute("/relic/", "../stoneglow/stoneglow_0000")); + Assert.assertEquals("/stoneglow/stoneglow_0000", PathManagerUtils.relativeToAbsolute("/relic/castle_0000", "/stoneglow/stoneglow_0000")); + Assert.assertEquals("/stoneglow/stoneglow_0000", PathManagerUtils.relativeToAbsolute("/relic/", "/stoneglow/stoneglow_0000")); + } + + /** + * Test case for {@link PathManagerUtils#isRelative(String)}. + */ + @Test + public void testIsRelative() { + Assert.assertTrue(PathManagerUtils.isRelative("../stoneglow/stoneglow_0000")); + Assert.assertTrue(PathManagerUtils.isRelative("stoneglow/stoneglow_0000")); + Assert.assertFalse(PathManagerUtils.isRelative("/stoneglow/stoneglow_0000")); + Assert.assertTrue(PathManagerUtils.isRelative("")); + } + + /** + * Test case for {@link PathManagerUtils#isAbsolute(String)}. + */ + @Test + public void testIsAbsolute() { + Assert.assertFalse(PathManagerUtils.isAbsolute("../stoneglow/stoneglow_0000")); + Assert.assertFalse(PathManagerUtils.isAbsolute("stoneglow/stoneglow_0000")); + Assert.assertTrue(PathManagerUtils.isAbsolute("/stoneglow/stoneglow_0000")); + Assert.assertFalse(PathManagerUtils.isAbsolute("")); + } + +} Property changes on: trunk/src/model/src/test/java/net/sf/gridarta/model/io/PathManagerUtilsTest.java ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +LF \ No newline at end of property Modified: trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java =================================================================== --- trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java 2014-02-15 12:44:39 UTC (rev 9566) +++ trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java 2014-02-15 12:52:58 UTC (rev 9567) @@ -22,7 +22,7 @@ import java.io.File; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; -import net.sf.gridarta.model.io.PathManager; +import net.sf.gridarta.model.io.PathManagerUtils; import net.sf.gridarta.model.maparchobject.MapArchObject; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -63,7 +63,7 @@ * @param file the file */ public void setFile(@NotNull final File file) { - setStringValue(PathManager.getMapPath(file, baseDir)); + setStringValue(PathManagerUtils.getMapPath(file, baseDir)); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-15 12:44:43
|
Revision: 9566 http://sourceforge.net/p/gridarta/code/9566 Author: akirschbaum Date: 2014-02-15 12:44:39 +0000 (Sat, 15 Feb 2014) Log Message: ----------- Merge duplicated code. Modified Paths: -------------- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java 2014-02-15 12:39:00 UTC (rev 9565) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/utils/JFileField.java 2014-02-15 12:44:39 UTC (rev 9566) @@ -140,7 +140,7 @@ */ @NotNull private String getRelativeFile(final File file) { - return baseDir == null ? file.getPath() : PathManager.getMapPath(file.getAbsolutePath(), baseDir); + return baseDir == null ? file.getPath() : PathManager.getMapPath(file, baseDir); } /** Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java 2014-02-15 12:39:00 UTC (rev 9565) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java 2014-02-15 12:44:39 UTC (rev 9566) @@ -74,21 +74,19 @@ */ @NotNull public String getMapPath(@NotNull final File file) { - return getMapPath(file.getPath(), projectSettings.getMapsDirectory()); + return getMapPath(file, projectSettings.getMapsDirectory()); } /** - * Create map path. Replaces all occurrences of '\' with '/' and removes the - * path to the map directory (absolute, relative or canonical) from the - * path. - * @param mapDir the map dir - * @param path to create map path from - * @return fixed path + * Returns a relative path path for a {@link File}. + * @param file the file + * @param baseDir the base directory to relativize against + * @return the relative path */ @NotNull - public static String getMapPath(@NotNull final String path, @NotNull final File mapDir) { - @NotNull final String mapDirName = mapDir.getPath(); - String mapPath = path.replace('\\', '/'); + public static String getMapPath(@NotNull final File file, @NotNull final File baseDir) { + @NotNull final String mapDirName = baseDir.getPath(); + String mapPath = file.getPath().replace('\\', '/'); if (mapPath.startsWith(mapDirName)) { mapPath = mapPath.substring(mapDirName.length()); } Modified: trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java =================================================================== --- trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java 2014-02-15 12:39:00 UTC (rev 9565) +++ trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/parameter/AbstractPathParameter.java 2014-02-15 12:44:39 UTC (rev 9566) @@ -63,7 +63,7 @@ * @param file the file */ public void setFile(@NotNull final File file) { - setStringValue(PathManager.getMapPath(file.getAbsolutePath(), baseDir)); + setStringValue(PathManager.getMapPath(file, baseDir)); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-15 12:39:07
|
Revision: 9565 http://sourceforge.net/p/gridarta/code/9565 Author: akirschbaum Date: 2014-02-15 12:39:00 +0000 (Sat, 15 Feb 2014) Log Message: ----------- Inline function. Modified Paths: -------------- trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java 2014-02-15 06:40:31 UTC (rev 9564) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/io/PathManager.java 2014-02-15 12:39:00 UTC (rev 9565) @@ -74,25 +74,13 @@ */ @NotNull public String getMapPath(@NotNull final File file) { - return getMapPath(file.getPath()); + return getMapPath(file.getPath(), projectSettings.getMapsDirectory()); } /** * Create map path. Replaces all occurrences of '\' with '/' and removes the * path to the map directory (absolute, relative or canonical) from the * path. - * @param path to create map path from - * @return fixed path - */ - @NotNull - public String getMapPath(@NotNull final String path) { - return getMapPath(path, projectSettings.getMapsDirectory()); - } - - /** - * Create map path. Replaces all occurrences of '\' with '/' and removes the - * path to the map directory (absolute, relative or canonical) from the - * path. * @param mapDir the map dir * @param path to create map path from * @return fixed path This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-15 06:40:40
|
Revision: 9564 http://sourceforge.net/p/gridarta/code/9564 Author: akirschbaum Date: 2014-02-15 06:40:31 +0000 (Sat, 15 Feb 2014) Log Message: ----------- Add missing dependencies to build file. Modified Paths: -------------- trunk/src/atrinik/build.gradle trunk/src/crossfire/build.gradle trunk/src/daimonin/build.gradle Modified: trunk/src/atrinik/build.gradle =================================================================== --- trunk/src/atrinik/build.gradle 2014-02-15 06:34:30 UTC (rev 9563) +++ trunk/src/atrinik/build.gradle 2014-02-15 06:40:31 UTC (rev 9564) @@ -34,6 +34,7 @@ from new File(rootDir, 'repo/jlfgr/1.0/jlfgr-1.0.jar-LICENSE') from new File(rootDir, 'repo/log4j/1.2.13/log4j-1.2.13.jar-LICENSE') from new File(rootDir, 'repo/rsyntaxtextarea/1.5.1/rsyntaxtextarea-1.5.1.jar-LICENSE') + inputs.files configurations.runtime doFirst { // The following must be executed in doFirst since the configuration // has not been initialized at configuration time. Modified: trunk/src/crossfire/build.gradle =================================================================== --- trunk/src/crossfire/build.gradle 2014-02-15 06:34:30 UTC (rev 9563) +++ trunk/src/crossfire/build.gradle 2014-02-15 06:40:31 UTC (rev 9564) @@ -34,6 +34,7 @@ from new File(rootDir, 'repo/jlfgr/1.0/jlfgr-1.0.jar-LICENSE') from new File(rootDir, 'repo/log4j/1.2.13/log4j-1.2.13.jar-LICENSE') from new File(rootDir, 'repo/rsyntaxtextarea/1.5.1/rsyntaxtextarea-1.5.1.jar-LICENSE') + inputs.files configurations.runtime doFirst { // The following must be executed in doFirst since the configuration // has not been initialized at configuration time. Modified: trunk/src/daimonin/build.gradle =================================================================== --- trunk/src/daimonin/build.gradle 2014-02-15 06:34:30 UTC (rev 9563) +++ trunk/src/daimonin/build.gradle 2014-02-15 06:40:31 UTC (rev 9564) @@ -34,6 +34,7 @@ from new File(rootDir, 'repo/jlfgr/1.0/jlfgr-1.0.jar-LICENSE') from new File(rootDir, 'repo/log4j/1.2.13/log4j-1.2.13.jar-LICENSE') from new File(rootDir, 'repo/rsyntaxtextarea/1.5.1/rsyntaxtextarea-1.5.1.jar-LICENSE') + inputs.files configurations.runtime doFirst { // The following must be executed in doFirst since the configuration // has not been initialized at configuration time. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-15 06:34:37
|
Revision: 9563 http://sourceforge.net/p/gridarta/code/9563 Author: akirschbaum Date: 2014-02-15 06:34:30 +0000 (Sat, 15 Feb 2014) Log Message: ----------- Fix File|Options... to actually show the setting dialog. Modified Paths: -------------- trunk/src/atrinik/ChangeLog trunk/src/crossfire/ChangeLog trunk/src/daimonin/ChangeLog trunk/src/gridarta/build.gradle Modified: trunk/src/atrinik/ChangeLog =================================================================== --- trunk/src/atrinik/ChangeLog 2014-02-14 20:41:51 UTC (rev 9562) +++ trunk/src/atrinik/ChangeLog 2014-02-15 06:34:30 UTC (rev 9563) @@ -1,3 +1,7 @@ +2014-02-15 Andreas Kirschbaum + + * Fix File|Options... to actually show the setting dialog. + 2014-02-14 Andreas Kirschbaum * Show all parameters when editing plugin parameters. Modified: trunk/src/crossfire/ChangeLog =================================================================== --- trunk/src/crossfire/ChangeLog 2014-02-14 20:41:51 UTC (rev 9562) +++ trunk/src/crossfire/ChangeLog 2014-02-15 06:34:30 UTC (rev 9563) @@ -1,3 +1,7 @@ +2014-02-15 Andreas Kirschbaum + + * Fix File|Options... to actually show the setting dialog. + 2014-02-14 Andreas Kirschbaum * Show all parameters when editing plugin parameters. Modified: trunk/src/daimonin/ChangeLog =================================================================== --- trunk/src/daimonin/ChangeLog 2014-02-14 20:41:51 UTC (rev 9562) +++ trunk/src/daimonin/ChangeLog 2014-02-15 06:34:30 UTC (rev 9563) @@ -1,3 +1,7 @@ +2014-02-15 Andreas Kirschbaum + + * Fix File|Options... to actually show the setting dialog. + 2014-02-14 Andreas Kirschbaum * Show all parameters when editing plugin parameters. Modified: trunk/src/gridarta/build.gradle =================================================================== --- trunk/src/gridarta/build.gradle 2014-02-14 20:41:51 UTC (rev 9562) +++ trunk/src/gridarta/build.gradle 2014-02-15 06:34:30 UTC (rev 9563) @@ -19,6 +19,7 @@ compile project(':src:project') compile project(':src:textedit') compile project(':src:utils') + runtime name: 'japi-lib-lang', version: '0.1.0', group: 'japi-lib' testCompile name: 'junit', version: '4.2' testCompile project(':src:model').sourceSets.test.output } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-14 20:41:56
|
Revision: 9562 http://sourceforge.net/p/gridarta/code/9562 Author: akirschbaum Date: 2014-02-14 20:41:51 +0000 (Fri, 14 Feb 2014) Log Message: ----------- Show all parameters when editing plugin parameters. Modified Paths: -------------- trunk/src/atrinik/ChangeLog trunk/src/crossfire/ChangeLog trunk/src/daimonin/ChangeLog trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/Plugin.java Modified: trunk/src/atrinik/ChangeLog =================================================================== --- trunk/src/atrinik/ChangeLog 2014-02-14 19:43:45 UTC (rev 9561) +++ trunk/src/atrinik/ChangeLog 2014-02-14 20:41:51 UTC (rev 9562) @@ -1,5 +1,7 @@ 2014-02-14 Andreas Kirschbaum + * Show all parameters when editing plugin parameters. + * Properly update the selected square view if an object is inserted into an empty map square. Modified: trunk/src/crossfire/ChangeLog =================================================================== --- trunk/src/crossfire/ChangeLog 2014-02-14 19:43:45 UTC (rev 9561) +++ trunk/src/crossfire/ChangeLog 2014-02-14 20:41:51 UTC (rev 9562) @@ -1,5 +1,7 @@ 2014-02-14 Andreas Kirschbaum + * Show all parameters when editing plugin parameters. + * Properly update the selected square view if an object is inserted into an empty map square. Modified: trunk/src/daimonin/ChangeLog =================================================================== --- trunk/src/daimonin/ChangeLog 2014-02-14 19:43:45 UTC (rev 9561) +++ trunk/src/daimonin/ChangeLog 2014-02-14 20:41:51 UTC (rev 9562) @@ -1,5 +1,7 @@ 2014-02-14 Andreas Kirschbaum + * Show all parameters when editing plugin parameters. + * Properly update the selected square view if an object is inserted into an empty map square. Modified: trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/Plugin.java =================================================================== --- trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/Plugin.java 2014-02-14 19:43:45 UTC (rev 9561) +++ trunk/src/plugin/src/main/java/net/sf/gridarta/plugin/Plugin.java 2014-02-14 20:41:51 UTC (rev 9562) @@ -429,6 +429,9 @@ * Marks this plugin a modified since last save. */ private void setModified() { + if (modified) { + return; + } modified = true; notifyListeners(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2014-02-14 19:43:51
|
Revision: 9561 http://sourceforge.net/p/gridarta/code/9561 Author: akirschbaum Date: 2014-02-14 19:43:45 +0000 (Fri, 14 Feb 2014) Log Message: ----------- Properly update the selected square view if an object is inserted into an empty map square. Modified Paths: -------------- trunk/src/atrinik/ChangeLog trunk/src/crossfire/ChangeLog trunk/src/daimonin/ChangeLog trunk/src/model/src/main/java/net/sf/gridarta/model/mapcursor/MapCursor.java Modified: trunk/src/atrinik/ChangeLog =================================================================== --- trunk/src/atrinik/ChangeLog 2014-02-13 21:18:00 UTC (rev 9560) +++ trunk/src/atrinik/ChangeLog 2014-02-14 19:43:45 UTC (rev 9561) @@ -1,3 +1,8 @@ +2014-02-14 Andreas Kirschbaum + + * Properly update the selected square view if an object is + inserted into an empty map square. + 2014-01-26 Andreas Kirschbaum * Save modified plugin scripts. Modified: trunk/src/crossfire/ChangeLog =================================================================== --- trunk/src/crossfire/ChangeLog 2014-02-13 21:18:00 UTC (rev 9560) +++ trunk/src/crossfire/ChangeLog 2014-02-14 19:43:45 UTC (rev 9561) @@ -1,3 +1,8 @@ +2014-02-14 Andreas Kirschbaum + + * Properly update the selected square view if an object is + inserted into an empty map square. + 2014-01-26 Andreas Kirschbaum * Save modified plugin scripts. Modified: trunk/src/daimonin/ChangeLog =================================================================== --- trunk/src/daimonin/ChangeLog 2014-02-13 21:18:00 UTC (rev 9560) +++ trunk/src/daimonin/ChangeLog 2014-02-14 19:43:45 UTC (rev 9561) @@ -1,3 +1,8 @@ +2014-02-14 Andreas Kirschbaum + + * Properly update the selected square view if an object is + inserted into an empty map square. + 2014-01-26 Andreas Kirschbaum * Save modified plugin scripts. Modified: trunk/src/model/src/main/java/net/sf/gridarta/model/mapcursor/MapCursor.java =================================================================== --- trunk/src/model/src/main/java/net/sf/gridarta/model/mapcursor/MapCursor.java 2014-02-13 21:18:00 UTC (rev 9560) +++ trunk/src/model/src/main/java/net/sf/gridarta/model/mapcursor/MapCursor.java 2014-02-14 19:43:45 UTC (rev 9561) @@ -495,7 +495,7 @@ if (transactionDepth == 0) { final boolean changedPos = !pos.equals(transactionPos) || mapSquare != transactionMapSquare; final boolean changedMode = dragging != transactionDragging; - final boolean changedGameObject = gameObject != transactionGameObject; + final boolean changedGameObject = mapSquare != transactionMapSquare || gameObject != transactionGameObject; final boolean changedSize = !mapRec.equals(transactionMapRec); if (!pos.equals(transactionPos)) { mapGrid.unSetCursor(transactionPos); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |