Go to the documentation of this file.
20 package net.sf.gridarta.model.mapcontrol;
23 import java.io.IOException;
60 import org.jetbrains.annotations.NotNull;
61 import org.jetbrains.annotations.Nullable;
62 import org.junit.Assert;
180 return mapManager.newMap(
null, mapArchObject, mapFile,
true);
315 @Nullable File directoryToDelete = mapsDirectory;
318 directoryToDelete =
null;
320 if (directoryToDelete !=
null) {
324 return mapsDirectory;
332 private void createMaps(@NotNull
final String @NotNull [] specs)
throws IOException {
333 for (
final String spec : specs) {
335 if (tmp.length != 2) {
336 throw new IllegalArgumentException(
"syntax error: " + spec);
340 final String mapName = tmp[1];
342 final File file = mapFile.
getFile();
343 if (!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {
344 throw new IOException(
"cannot create directory: " + file.getParentFile());
350 mapControl.
saveAs(mapFile);
363 private static File
createTempDir(@NotNull
final String prefix)
throws IOException {
364 final String tmpDir = System.getProperty(
"java.io.tmpdir");
365 if (tmpDir ==
null) {
366 throw new IOException(
"the system property 'java.io.tmpdir' does not exist");
369 final File tmpFile =
new File(tmpDir);
370 if (!tmpFile.exists() && !tmpFile.mkdirs()) {
371 throw new IOException(
"cannot create temporary directory " + tmpFile);
374 final File result = File.createTempFile(prefix,
null);
375 if (!result.delete()) {
376 throw new IOException(
"cannot delete temporary file " + result);
378 if (!result.mkdir()) {
379 throw new IOException(
"cannot create temporary directory " + result);
390 final File[] files = dir.listFiles();
392 for (
final File file : files) {
393 if (file.isDirectory()) {
395 }
else if (!file.delete()) {
396 Assert.fail(
"cannot delete file " + file);
401 Assert.fail(
"cannot delete directory " + dir);
InsertionModeSet< TestGameObject, TestMapArchObject, TestArchetype > getInsertionModeSet()
File createMapsDirectory(@NotNull final String... specs)
MapManager< TestGameObject, TestMapArchObject, TestArchetype > getMapManager()
final PathManager pathManager
void saveAs(@NotNull MapFile mapFile)
final MapArchObjectParserFactory< TestMapArchObject > mapArchObjectParserFactory
TestMapModelHelper newTestMapModelHelper()
static final Pattern PATTERN_COLON
void setFileControl(@NotNull final FileControl< G, A, R > fileControl)
InsertionModeSet< TestGameObject, TestMapArchObject, TestArchetype > getInsertionModeSet()
final MapArchObjectFactory< TestMapArchObject > mapArchObjectFactory
final MapManager< TestGameObject, TestMapArchObject, TestArchetype > mapManager
void setMapName(@NotNull final String name)
static void deleteTempDir(@NotNull final File dir)
final MapModelFactory< TestGameObject, TestMapArchObject, TestArchetype > mapModelFactory
MapModelFactory< TestGameObject, TestMapArchObject, TestArchetype > getMapModelFactory()
PathManager getPathManager()
void createMaps(@NotNull final String @NotNull[] specs)
AutojoinLists< TestGameObject, TestMapArchObject, TestArchetype > getAutojoinLists()
void setMapSize(@NotNull final Size2D mapSize)
MapArchObjectFactory< TestMapArchObject > getMapArchObjectFactory()
static File createTempDir(@NotNull final String prefix)
ArchetypeSet< TestGameObject, TestMapArchObject, TestArchetype > getArchetypeSet()
final MapManager< TestGameObject, TestMapArchObject, TestArchetype > pickmapManager
MapModel< TestGameObject, TestMapArchObject, TestArchetype > newMapModel(final int w, final int h)
FaceObjectProviders getFaceObjectProviders()
GameObjectFactory< TestGameObject, TestMapArchObject, TestArchetype > getGameObjectFactory()
TestMapModelHelper newMapModelCreator()
ArchetypeSet< TestGameObject, TestMapArchObject, TestArchetype > getArchetypeSet()
MapFile getMapFile(@NotNull final AbsoluteMapPath mapPath)
MapWriter< TestGameObject, TestMapArchObject, TestArchetype > getMapWriter()
MapManager< TestGameObject, TestMapArchObject, TestArchetype > getPickmapManager()
void setMapsDirectory(@NotNull File mapsDirectory)
DefaultMapReader< TestGameObject, TestMapArchObject, TestArchetype > newMapReader(@NotNull final File mapFile)
GameObjectMatchers getGameObjectMatchers()
InsertionMode getTopmostInsertionMode()
ProjectSettings getProjectSettings()
static final int EXIT_TYPE
final ExitMatcher< TestGameObject, TestMapArchObject, TestArchetype > exitMatcher
MapControl< TestGameObject, TestMapArchObject, TestArchetype > newMapControl(@Nullable final MapFile mapFile, @NotNull final String mapName, @NotNull final Size2D mapSize)
TestMapModelCreator getMapModelCreator()
MapModel< G, A, R > getMapModel()
ExitMatcher< TestGameObject, TestMapArchObject, TestArchetype > getExitMatcher()
final MapWriter< TestGameObject, TestMapArchObject, TestArchetype > mapWriter
A newMapArchObject(boolean addDefaultAttributes)
final GameObjectParser< TestGameObject, TestMapArchObject, TestArchetype > gameObjectParser
final ProjectSettings projectSettings
GameObjectParser< TestGameObject, TestMapArchObject, TestArchetype > newGameObjectParser()
AutojoinListsHelper newAutojoinListsHelper()
final TestMapModelCreator mapModelCreator