[mapguide-commits] r7229 - in sandbox/jng/swig-java/UnitTest/Common: . JavaApiExTest JavaApiExTest/.idea JavaApiExTest/.idea/copyright JavaApiExTest/.idea/inspectionProfiles JavaApiExTest/.idea/scopes JavaApiExTest/src
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Nov 26 08:16:52 PST 2012
Author: jng
Date: 2012-11-26 08:16:51 -0800 (Mon, 26 Nov 2012)
New Revision: 7229
Added:
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/.name
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/ant.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/compiler.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/copyright/
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/copyright/profiles_settings.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/encodings.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/inspectionProfiles/
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/misc.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/modules.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/scopes/
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/scopes/scope_settings.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/uiDesigner.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/vcs.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/workspace.xml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/MapGuideApiExTest.iml
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/AssertException.java
sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/MapGuideApiTest.java
Log:
#9, #2114: Add a test console java application (IntelliJ IDEA format) to exercise the collection implementation of the enhanced java wrapper api. This requires resolution of #2189, #2190 for all of its tests to pass (the collection bugs were discovered running this test suite)
Property changes on: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest
___________________________________________________________________
Added: svn:ignore
+ out
Added: bugtraq:number
+ true
Property changes on: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea
___________________________________________________________________
Added: bugtraq:number
+ true
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/.name
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/.name (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/.name 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1 @@
+MapGuideApiExTest
\ No newline at end of file
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/ant.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/ant.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/ant.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="AntConfiguration">
+ <defaultAnt bundledAnt="true" />
+ </component>
+</project>
+
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/compiler.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/compiler.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/compiler.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <resourceExtensions />
+ <wildcardResourcePatterns>
+ <entry name="?*.properties" />
+ <entry name="?*.xml" />
+ <entry name="?*.gif" />
+ <entry name="?*.png" />
+ <entry name="?*.jpeg" />
+ <entry name="?*.jpg" />
+ <entry name="?*.html" />
+ <entry name="?*.dtd" />
+ <entry name="?*.tld" />
+ <entry name="?*.ftl" />
+ </wildcardResourcePatterns>
+ <annotationProcessing enabled="false" useClasspath="true" />
+ </component>
+</project>
+
Property changes on: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/copyright
___________________________________________________________________
Added: bugtraq:number
+ true
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/copyright/profiles_settings.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/copyright/profiles_settings.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/copyright/profiles_settings.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,5 @@
+<component name="CopyrightManager">
+ <settings default="">
+ <module2copyright />
+ </settings>
+</component>
\ No newline at end of file
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/encodings.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/encodings.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/encodings.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+</project>
+
Property changes on: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/inspectionProfiles
___________________________________________________________________
Added: bugtraq:number
+ true
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/misc.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/misc.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/misc.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="EntryPointsManager">
+ <entry_points version="2.0" />
+ </component>
+ <component name="ProjectResources">
+ <default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/out" />
+ </component>
+ <component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false">
+ <option name="USER" value="" />
+ <option name="PASSWORD" value="" />
+ <option name="mySSHConnectionTimeout" value="30000" />
+ <option name="mySSHReadTimeout" value="30000" />
+ <option name="LAST_MERGED_REVISION" />
+ <option name="MERGE_DRY_RUN" value="false" />
+ <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
+ <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
+ <option name="IGNORE_SPACES_IN_MERGE" value="false" />
+ <option name="DETECT_NESTED_COPIES" value="true" />
+ <option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
+ <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
+ <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
+ <option name="FORCE_UPDATE" value="false" />
+ <option name="IGNORE_EXTERNALS" value="false" />
+ <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
+ </component>
+</project>
+
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/modules.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/modules.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/modules.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/MapGuideApiExTest.iml" filepath="$PROJECT_DIR$/MapGuideApiExTest.iml" />
+ </modules>
+ </component>
+</project>
+
Property changes on: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/scopes
___________________________________________________________________
Added: bugtraq:number
+ true
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/scopes/scope_settings.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/scopes/scope_settings.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/scopes/scope_settings.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,5 @@
+<component name="DependencyValidationManager">
+ <state>
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </state>
+</component>
\ No newline at end of file
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/uiDesigner.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/uiDesigner.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/uiDesigner.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+</project>
+
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/vcs.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/vcs.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/vcs.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="" />
+ </component>
+</project>
+
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/workspace.xml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/workspace.xml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/.idea/workspace.xml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,645 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="f24f429b-81bb-475f-9057-46f372ac8279" name="Default" comment="" />
+ <ignored path="MapGuideApiExTest.iws" />
+ <ignored path=".idea/workspace.xml" />
+ <option name="TRACKING_ENABLED" value="true" />
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
+ <component name="CreatePatchCommitExecutor">
+ <option name="PATCH_PATH" value="" />
+ </component>
+ <component name="DaemonCodeAnalyzer">
+ <disable_hints />
+ </component>
+ <component name="DebuggerManager">
+ <line_breakpoints>
+ <breakpoint url="file://$PROJECT_DIR$/src/MapGuideApiTest.java" line="1026" class="MapGuideApiTest" package="">
+ <option name="ENABLED" value="true" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ </line_breakpoints>
+ <breakpoint_any>
+ <breakpoint>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="ENABLED" value="false" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="ENABLED" value="false" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ </breakpoint_any>
+ <breakpoint_rules />
+ <ui_properties />
+ </component>
+ <component name="FavoritesManager">
+ <favorites_list name="MapGuideApiExTest" />
+ </component>
+ <component name="FileEditorManager">
+ <leaf>
+ <file leaf-file-name="MapGuideApiTest.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/MapGuideApiTest.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="1227" column="57" selection-start="58790" selection-end="58790" vertical-scroll-proportion="0.9583333">
+ <folding>
+ <element signature="method#testReadOnlyLayerCollection#0;class#MapGuideApiTest#0" expanded="false" />
+ <element signature="method#testStringCollection#0;class#MapGuideApiTest#0" expanded="false" />
+ <element signature="method#testPropertyCollection#0;class#MapGuideApiTest#0" expanded="false" />
+ <element signature="method#testClassDefinitionCollection#0;class#MapGuideApiTest#0" expanded="false" />
+ <element signature="e#54940#54954#0" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ </leaf>
+ </component>
+ <component name="FindManager">
+ <FindUsagesManager>
+ <setting name="OPEN_NEW_TAB" value="false" />
+ </FindUsagesManager>
+ </component>
+ <component name="IdeDocumentHistory">
+ <option name="changedFiles">
+ <list>
+ <option value="$PROJECT_DIR$/src/AssertException.java" />
+ <option value="$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgFeatureSchemaCollection.java" />
+ <option value="$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgPropertyDefinitionCollection.java" />
+ <option value="$PROJECT_DIR$/src/MapGuideApiTest.java" />
+ </list>
+ </option>
+ </component>
+ <component name="ProjectFrameBounds">
+ <option name="x" value="1721" />
+ <option name="y" value="53" />
+ <option name="width" value="1218" />
+ <option name="height" value="928" />
+ </component>
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
+ <OptionsSetting value="true" id="Add" />
+ <OptionsSetting value="true" id="Remove" />
+ <OptionsSetting value="true" id="Checkout" />
+ <OptionsSetting value="true" id="Update" />
+ <OptionsSetting value="true" id="Status" />
+ <OptionsSetting value="true" id="Edit" />
+ <ConfirmationsSetting value="0" id="Add" />
+ <ConfirmationsSetting value="0" id="Remove" />
+ </component>
+ <component name="ProjectReloadState">
+ <option name="STATE" value="0" />
+ </component>
+ <component name="ProjectView">
+ <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
+ <flattenPackages />
+ <showMembers />
+ <showModules />
+ <showLibraryContents />
+ <hideEmptyPackages />
+ <abbreviatePackageNames />
+ <autoscrollToSource />
+ <autoscrollFromSource />
+ <sortByType />
+ </navigator>
+ <panes>
+ <pane id="Scope">
+ <subPane subId="Project Files">
+ <PATH>
+ <PATH_ELEMENT USER_OBJECT="Root">
+ <option name="myItemId" value="" />
+ <option name="myItemType" value="" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ <pane id="PackagesPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiExTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiExTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ <pane id="ProjectPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiExTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="External Libraries" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiExTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="External Libraries" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiEx.jar" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="mapguide" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiExTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="External Libraries" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiEx.jar" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="MapGuideApiExTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ </panes>
+ </component>
+ <component name="PropertiesComponent">
+ <property name="GoToFile.includeJavaFiles" value="false" />
+ <property name="project.structure.last.edited" value="Modules" />
+ <property name="project.structure.proportion" value="0.15" />
+ <property name="options.splitter.main.proportions" value="0.3" />
+ <property name="MemberChooser.sorted" value="false" />
+ <property name="recentsLimit" value="5" />
+ <property name="options.lastSelected" value="reference.projectsettings.compiler.javacompiler" />
+ <property name="project.structure.side.proportion" value="0.2" />
+ <property name="MemberChooser.copyJavadoc" value="false" />
+ <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+ <property name="MemberChooser.showClasses" value="true" />
+ <property name="GoToClass.includeLibraries" value="false" />
+ <property name="dynamic.classpath" value="false" />
+ <property name="options.searchVisible" value="true" />
+ <property name="options.splitter.details.proportions" value="0.2" />
+ </component>
+ <component name="RunManager" selected="Application.Console">
+ <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
+ <module name="" />
+ <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" />
+ <option name="PROGRAM_PARAMETERS" />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="5005" />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="Applet" factoryName="Applet">
+ <module name="" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="HTML_FILE_NAME" />
+ <option name="HTML_USED" value="false" />
+ <option name="WIDTH" value="400" />
+ <option name="HEIGHT" value="300" />
+ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+ <option name="VM_PARAMETERS" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="TestNG" factoryName="TestNG">
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="SUITE_NAME" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="GROUP_NAME" />
+ <option name="TEST_OBJECT" value="CLASS" />
+ <option name="VM_PARAMETERS" value="-ea" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="ANNOTATION_TYPE" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="moduleWithDependencies" />
+ </option>
+ <option name="USE_DEFAULT_REPORTERS" value="false" />
+ <option name="PROPERTIES_FILE" />
+ <envs />
+ <properties />
+ <listeners />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="Application" factoryName="Application">
+ <option name="MAIN_CLASS_NAME" value="MapGuideApiTest" />
+ <option name="VM_PARAMETERS" value="" />
+ <option name="PROGRAM_PARAMETERS" value="" />
+ <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/../../../Web/bin/release" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" value="" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="" />
+ <envs />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="JUnit" factoryName="JUnit">
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="TEST_OBJECT" value="class" />
+ <option name="VM_PARAMETERS" value="-ea" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="moduleWithDependencies" />
+ </option>
+ <envs />
+ <patterns />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="false" name="Console" type="Application" factoryName="Application">
+ <option name="MAIN_CLASS_NAME" value="MapGuideApiTest" />
+ <option name="VM_PARAMETERS" value="" />
+ <option name="PROGRAM_PARAMETERS" value="" />
+ <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/../../../Web/bin/release" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" value="" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="MapGuideApiExTest" />
+ <envs />
+ <RunnerSettings RunnerId="Debug">
+ <option name="DEBUG_PORT" value="" />
+ <option name="TRANSPORT" value="0" />
+ <option name="LOCAL" value="true" />
+ </RunnerSettings>
+ <RunnerSettings RunnerId="Run" />
+ <ConfigurationWrapper RunnerId="Debug" />
+ <ConfigurationWrapper RunnerId="Run" />
+ <method />
+ </configuration>
+ <list size="1">
+ <item index="0" class="java.lang.String" itemvalue="Application.Console" />
+ </list>
+ <configuration name="<template>" type="WebApp" default="true" selected="false">
+ <Host>localhost</Host>
+ <Port>5050</Port>
+ </configuration>
+ </component>
+ <component name="ShelveChangesManager" show_recycled="false" />
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="f24f429b-81bb-475f-9057-46f372ac8279" name="Default" comment="" />
+ <created>1353932158797</created>
+ <updated>1353932158797</updated>
+ </task>
+ <servers />
+ </component>
+ <component name="ToolWindowManager">
+ <frame x="1721" y="53" width="1218" height="928" extended-state="0" />
+ <editor active="false" />
+ <layout>
+ <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="JetGradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3484163" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
+ <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.23243712" sideWeight="0.6049223" order="1" side_tool="true" content_ui="tabs" />
+ <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.23243712" sideWeight="0.059585493" order="0" side_tool="false" content_ui="combo" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32642487" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+ <window_info id="Documentation" active="false" anchor="right" auto_hide="true" internal_type="DOCKED" type="FLOATING" visible="false" weight="0.32928944" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" x="839" y="583" width="636" height="307" />
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+ </layout>
+ </component>
+ <component name="VcsContentAnnotationSettings">
+ <option name="myLimit" value="2678400000" />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+ <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
+ <option name="CHECK_NEW_TODO" value="true" />
+ <option name="myTodoPanelSettings">
+ <value>
+ <are-packages-shown value="false" />
+ <are-modules-shown value="false" />
+ <flatten-packages value="false" />
+ <is-autoscroll-to-source value="false" />
+ </value>
+ </option>
+ <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
+ <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
+ <option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
+ <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
+ <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
+ <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
+ <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
+ <option name="SHORT_DIFF_HORISONTALLY" value="true" />
+ <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
+ <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
+ <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
+ <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
+ <option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
+ <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
+ <option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+ <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
+ <option name="LAST_COMMIT_MESSAGE" />
+ <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+ <option name="ACTIVE_VCS_NAME" />
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+ <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+ </component>
+ <component name="XDebuggerManager">
+ <breakpoint-manager />
+ </component>
+ <component name="antWorkspaceConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+ <option name="FILTER_TARGETS" value="false" />
+ </component>
+ <component name="editorHistoryManager">
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MapGuideJavaApiExJNI.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="2904" column="0" selection-start="270715" selection-end="270715" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/AssertException.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="12" column="54" selection-start="284" selection-end="284" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgSerializable.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="22" column="67" selection-start="712" selection-end="712" vertical-scroll-proportion="0.32258064" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgNamedSerializable.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="16" column="50" selection-start="516" selection-end="516" vertical-scroll-proportion="0.32258064" />
+ </provider>
+ </entry>
+ <entry file="jar://C:/Program Files (x86)/Java/jdk1.6.0_33/src.zip!/java/lang/String.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="1004" column="0" selection-start="38011" selection-end="38011" vertical-scroll-proportion="0.03307393" />
+ </provider>
+ </entry>
+ <entry file="jar://C:/Program Files (x86)/Java/jdk1.6.0_33/src.zip!/java/lang/StringBuilder.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="429" column="0" selection-start="12939" selection-end="12939" vertical-scroll-proportion="0.032258064" />
+ </provider>
+ </entry>
+ <entry file="jar://C:/Program Files (x86)/Java/jdk1.6.0_33/src.zip!/java/lang/ClassLoader.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="322" column="0" selection-start="11967" selection-end="11967" vertical-scroll-proportion="0.24408014" />
+ </provider>
+ </entry>
+ <entry file="jar://C:/Program Files (x86)/Java/jdk1.6.0_33/src.zip!/java/lang/Object.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="133" column="0" selection-start="6113" selection-end="6113" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="jar://C:/Program Files (x86)/Java/jdk1.6.0_33/src.zip!/java/util/ArrayList.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="215" column="0" selection-start="8342" selection-end="8342" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgFeatureSchemaCollection.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="210" column="26" selection-start="6412" selection-end="6412" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgFeatureSchema.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="79" column="51" selection-start="2059" selection-end="2059" vertical-scroll-proportion="0.60830325" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgByteProperty.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="16" column="14" selection-start="491" selection-end="491" vertical-scroll-proportion="-0.6895943" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgBatchPropertyCollection.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="116" column="0" selection-start="3461" selection-end="3461" vertical-scroll-proportion="0.33212996" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgPropertyDefinitionCollection.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="248" column="13" selection-start="7649" selection-end="7649" vertical-scroll-proportion="0.33212996" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/org/osgeo/mapguide/MgLayerCollection.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="172" column="71" selection-start="4032" selection-end="4922" vertical-scroll-proportion="0.6502732" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/MapGuideApiTest.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="1227" column="57" selection-start="58790" selection-end="58790" vertical-scroll-proportion="0.9583333" />
+ </provider>
+ </entry>
+ </component>
+ <component name="masterDetails">
+ <states>
+ <state key="ArtifactsStructureConfigurable.UI">
+ <settings>
+ <artifact-editor />
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="FacetStructureConfigurable.UI">
+ <settings>
+ <last-edited>No facets are configured</last-edited>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="GlobalLibrariesConfigurable.UI">
+ <settings>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="JdkListConfigurable.UI">
+ <settings>
+ <last-edited>1.6</last-edited>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="ModuleStructureConfigurable.UI">
+ <settings>
+ <last-edited>MapGuideApiExTest</last-edited>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="ProjectJDKs.UI">
+ <settings>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ <state key="ProjectLibrariesConfigurable.UI">
+ <settings>
+ <splitter-proportions>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </splitter-proportions>
+ </settings>
+ </state>
+ </states>
+ </component>
+</project>
+
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/MapGuideApiExTest.iml
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/MapGuideApiExTest.iml (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/MapGuideApiExTest.iml 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+ </content>
+ <orderEntry type="jdk" jdkName="1.6" jdkType="JavaSDK" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module-library" exported="">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../Web/src/WEB-INF/lib/MapGuideApiEx-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ </component>
+</module>
+
Property changes on: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src
___________________________________________________________________
Added: bugtraq:number
+ true
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/AssertException.java
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/AssertException.java (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/AssertException.java 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,12 @@
+/**
+ * Created with IntelliJ IDEA.
+ * User: Jackie Ng
+ * Date: 26/11/12
+ * Time: 11:46 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class AssertException extends RuntimeException {
+ public AssertException(String msg) {
+ super(msg);
+ }
+}
Added: sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/MapGuideApiTest.java
===================================================================
--- sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/MapGuideApiTest.java (rev 0)
+++ sandbox/jng/swig-java/UnitTest/Common/JavaApiExTest/src/MapGuideApiTest.java 2012-11-26 16:16:51 UTC (rev 7229)
@@ -0,0 +1,1237 @@
+/**
+ * Created with IntelliJ IDEA.
+ * User: Jackie Ng
+ * Date: 26/11/12
+ * Time: 11:37 PM
+ * To change this template use File | Settings | File Templates.
+ */
+import org.osgeo.mapguide.*;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This test harness is to exercise the java.util.Collection implementation of the MapGuide proxy classes that implement it
+ * and the common usage scenarios involving them
+ */
+public class MapGuideApiTest {
+
+ static List<AssertException> assertFailures;
+ static String sessionId;
+ static String mapName;
+
+ public static void main(String [] args) {
+ assertFailures = new ArrayList<AssertException>();
+ MapGuideJavaApiEx.MgInitializeWebTier("C:\\Program Files\\OSGeo\\MapGuide\\Web\\www\\webconfig.ini");
+
+ MgUserInformation userInfo = new MgUserInformation("Administrator", "admin");
+ MgSiteConnection siteConn = new MgSiteConnection();
+ siteConn.open(userInfo);
+
+ MgSite site = siteConn.getSite();
+ sessionId = site.createSession();
+ userInfo.setMgSessionId(sessionId);
+
+ MgMap map = new MgMap(siteConn);
+ MgResourceService resSvc = (MgResourceService)siteConn.createService(MgServiceType.ResourceService);
+ MgResourceIdentifier mdfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition");
+ mapName = mdfId.getName();
+ map.create(mdfId, mapName);
+
+ MgSelection sel = new MgSelection(map);
+ sel.save(resSvc, mapName);
+
+ MgResourceIdentifier mapStateId = new MgResourceIdentifier("Session:" + sessionId + "//" + mapName + "." + MgResourceType.Map);
+ map.save(resSvc, mapStateId);
+
+ System.out.println("Running tests");
+ runTests(siteConn, map);
+ System.exit(assertFailures.size());
+ }
+
+ private static void assertCondition(boolean condition, String failureMsg) {
+ if (!condition)
+ throw new AssertException(failureMsg);
+ }
+
+ private static void runTests(MgSiteConnection siteConn, MgMap map) {
+ System.out.print(testFeatureSchemaCollection() ? "." : "F");
+ System.out.print(testClassDefinitionCollection() ? "." : "F");
+ System.out.print(testPropertyDefinitionCollection() ? "." : "F");
+ System.out.print(testPropertyCollection() ? "." : "F");
+ System.out.print(testStringCollection() ? "." : "F");
+ System.out.print(testReadOnlyLayerCollection(siteConn, map) ? "." : "F");
+ System.out.print(testLayerCollection(siteConn, map) ? "." : "F");
+ System.out.print(testLayerGroupCollection(siteConn, map) ? "." : "F");
+ System.out.println();
+ if (assertFailures.size() > 0) {
+ int i = 1;
+ for (AssertException ex : assertFailures) {
+ System.out.println("Assertion Failure: " + i);
+ ex.printStackTrace(System.out);
+ i++;
+ }
+ }
+ }
+
+ private static boolean testReadOnlyLayerCollection(MgSiteConnection siteConn, MgMap map) {
+ try {
+
+ MgFeatureQueryOptions query1 = new MgFeatureQueryOptions();
+ query1.setFilter("Autogenerated_SDF_ID < 4");
+
+ MgFeatureQueryOptions query2 = new MgFeatureQueryOptions();
+ query2.setFilter("Autogenerated_SDF_ID < 4");
+
+ MgLayerCollection layers = map.getLayers();
+ MgLayerBase item1 = layers.getItem("Parcels");
+ MgLayerBase item2 = layers.getItem("Buildings");
+
+ MgFeatureReader fr1 = item1.selectFeatures(query1);
+ MgFeatureReader fr2 = item2.selectFeatures(query2);
+
+ MgResourceService resSvc = (MgResourceService)siteConn.createService(MgServiceType.ResourceService);
+ MgSelection sel = new MgSelection(map);
+ sel.open(resSvc, map.getName());
+ sel.fromXml(""); //Clear
+ try {
+ sel.addFeatures(item1, fr1, 0);
+ sel.addFeatures(item2, fr2, 0);
+ } finally{
+ fr1.close();
+ fr2.close();
+ }
+
+ sel.save(resSvc);
+
+ //Now we can test the collection
+ MgReadOnlyLayerCollection items = sel.getLayers();
+
+ assertCondition(items.getCount() == 2, "Expected 2 items");
+
+ //NOTE: Possible bug in ordering of MgReadOnlyLayerCollection here (I had to reverse the order of layers
+ //being tested) Nevertheless, were testing that the ordering (whether correct or not) is the same when iterated
+ //in both the classical and iterative methods
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Buildings"), "Expected item #" + (i+1) + " to be Buildings");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Parcels"), "Expected item #" + (i+1) + " to be Parcels");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgLayerBase item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Buildings"), "Expected item #" + (i+1) + " to be Buildings");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Parcels"), "Expected item #" + (i+1) + " to be Parcels");
+ break;
+ }
+ i++;
+ }
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testStringCollection() {
+ try {
+ MgStringCollection items = new MgStringCollection();
+ String item1 = "Item1";
+ String item2 = "Item2";
+ String item3 = "Item3";
+ String item4 = "Item4";
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (String item : items) {
+ String itemName = item;
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<String> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<String> testCollection = new ArrayList<String>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgClassDefinition()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ for (Object o : itemArray) {
+ assertCondition(o instanceof String, "Expected item to be String");
+ }
+ String[] fitems = facade.toArray(new String[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new String[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new String[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testPropertyCollection() {
+ try {
+ MgPropertyCollection items = new MgPropertyCollection();
+ MgProperty item1 = new MgStringProperty("Item1", "Hello World");
+ MgProperty item2 = new MgInt32Property("Item2", 42);
+ MgProperty item3 = new MgBooleanProperty("Item3", false);
+ MgProperty item4 = new MgByteProperty("Item4", (short)4);
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgProperty item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<MgProperty> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<MgProperty> testCollection = new ArrayList<MgProperty>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgClassDefinition()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ i = 0;
+ for (Object o : itemArray) {
+ assertCondition(o instanceof MgProperty, "Expected item to be MgProperty");
+ switch(i) {
+ case 0:
+ assertCondition(o instanceof MgStringProperty, "Expected item to be MgStringProperty");
+ break;
+ case 1:
+ assertCondition(o instanceof MgBooleanProperty, "Expected item to be MgBooleanProperty");
+ break;
+ }
+ i++;
+ }
+
+ MgProperty[] fitems = facade.toArray(new MgProperty[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgProperty[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgProperty[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testClassDefinitionCollection() {
+ try {
+ MgFeatureSchema parent = new MgFeatureSchema("Parent", "");
+ MgClassDefinitionCollection items = parent.getClasses();
+ MgClassDefinition item1 = new MgClassDefinition(); item1.setName("Item1");
+ MgClassDefinition item2 = new MgClassDefinition(); item2.setName("Item2");
+ MgClassDefinition item3 = new MgClassDefinition(); item3.setName("Item3");
+ MgClassDefinition item4 = new MgClassDefinition(); item4.setName("Item4");
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgClassDefinition item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<MgClassDefinition> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<MgClassDefinition> testCollection = new ArrayList<MgClassDefinition>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgFeatureSchema()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ for (Object o : itemArray) {
+ assertCondition(o instanceof MgClassDefinition, "Expected item to be MgClassDefinition");
+ }
+ MgClassDefinition[] fitems = facade.toArray(new MgClassDefinition[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgClassDefinition[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgClassDefinition[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testFeatureSchemaCollection() {
+ try {
+ MgFeatureSchemaCollection items = new MgFeatureSchemaCollection();
+ MgFeatureSchema item1 = new MgFeatureSchema("Item1", "");
+ MgFeatureSchema item2 = new MgFeatureSchema("Item2", "");
+ MgFeatureSchema item3 = new MgFeatureSchema("Item3", "");
+ MgFeatureSchema item4 = new MgFeatureSchema("Item4", "");
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgFeatureSchema item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<MgFeatureSchema> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<MgFeatureSchema> testCollection = new ArrayList<MgFeatureSchema>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgClassDefinition()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ for (Object o : itemArray) {
+ assertCondition(o instanceof MgFeatureSchema, "Expected item to be MgFeatureSchema");
+ }
+ MgFeatureSchema[] fitems = facade.toArray(new MgFeatureSchema[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgFeatureSchema[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgFeatureSchema[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testPropertyDefinitionCollection() {
+ try {
+ MgClassDefinition parent = new MgClassDefinition();
+ parent.setName("Parent");
+ MgPropertyDefinitionCollection items = parent.getProperties();
+ MgPropertyDefinition item1 = new MgDataPropertyDefinition("Item1");
+ MgPropertyDefinition item2 = new MgDataPropertyDefinition("Item2");
+ MgPropertyDefinition item3 = new MgDataPropertyDefinition("Item3");
+ MgPropertyDefinition item4 = new MgDataPropertyDefinition("Item4");
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgPropertyDefinition item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<MgPropertyDefinition> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<MgPropertyDefinition> testCollection = new ArrayList<MgPropertyDefinition>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgFeatureSchema()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ for (Object o : itemArray) {
+ assertCondition(o instanceof MgPropertyDefinition, "Expected item to be MgPropertyDefinition");
+ }
+ MgPropertyDefinition[] fitems = facade.toArray(new MgPropertyDefinition[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgPropertyDefinition[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgPropertyDefinition[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testLayerCollection(MgSiteConnection siteConn, MgMap map) {
+ try {
+ map.open(mapName);
+ MgResourceService resSvc = (MgResourceService)siteConn.createService(MgServiceType.ResourceService);
+ MgLayerCollection items = map.getLayers();
+ items.clear();
+ MgResourceIdentifier ldfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition");
+ MgLayerBase item1 = new MgLayer(ldfId, resSvc);
+ item1.setName("Item1");
+ MgLayerBase item2 = new MgLayer(ldfId, resSvc);
+ item2.setName("Item2");
+ MgLayerBase item3 = new MgLayer(ldfId, resSvc);
+ item3.setName("Item3");
+ MgLayerBase item4 = new MgLayer(ldfId, resSvc);
+ item4.setName("Item4");
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgLayerBase item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<MgLayerBase> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<MgLayerBase> testCollection = new ArrayList<MgLayerBase>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgFeatureSchema()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ for (Object o : itemArray) {
+ assertCondition(o instanceof MgLayerBase, "Expected item to be MgLayerBase");
+ }
+ MgLayerBase[] fitems = facade.toArray(new MgLayerBase[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgLayerBase[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgLayerBase[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+
+ private static boolean testLayerGroupCollection(MgSiteConnection siteConn, MgMap map) {
+ try {
+ map.open(mapName);
+ MgResourceService resSvc = (MgResourceService)siteConn.createService(MgServiceType.ResourceService);
+ MgLayerGroupCollection items = map.getLayerGroups();
+ items.clear();
+ MgResourceIdentifier ldfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Layers/Parcels.LayerDefinition");
+ MgLayerGroup item1 = new MgLayerGroup("Item1");
+ MgLayerGroup item2 = new MgLayerGroup("Item2");
+ MgLayerGroup item3 = new MgLayerGroup("Item3");
+ MgLayerGroup item4 = new MgLayerGroup("Item4");
+
+ //Items inserted the MapGuide API way
+ items.addItem(item1);
+ items.addItem(item2);
+ items.addItem(item3);
+
+ assertCondition(items.getCount() == 3, "Expected 3 items");
+ assertCondition(!items.isEmpty(), "Expected non-empty item collection");
+
+ int i = 0;
+ //Looping the classic way
+ for (i = 0; i < items.getCount(); i++) {
+ switch (i){
+ case 0:
+ assertCondition(items.getItem(i).getName().equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(items.getItem(i).getName().equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(items.getItem(i).getName().equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ }
+
+ //Looping the iterative way
+ i = 0;
+ for (MgLayerGroup item : items) {
+ String itemName = item.getName();
+ switch (i){
+ case 0:
+ assertCondition(itemName.equals("Item1"), "Expected item #" + (i+1) + " to be Item1");
+ break;
+ case 1:
+ assertCondition(itemName.equals("Item2"), "Expected item #" + (i+1) + " to be Item2");
+ break;
+ case 2:
+ assertCondition(itemName.equals("Item3"), "Expected item #" + (i+1) + " to be Item3");
+ break;
+ }
+ i++;
+ }
+
+ items.clear();
+ assertCondition(items.getCount() == 0, "Expected empty item collection");
+ assertCondition(items.isEmpty(), "Expected empty item collection");
+
+ //Now test through java.util.Collection facade
+ Collection<MgLayerGroup> facade = items;
+ //add()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //contains()
+ assertCondition(facade.contains(item1), "item1 should exist");
+ assertCondition(facade.contains(item2), "item2 should exist");
+ assertCondition(facade.contains(item3), "item3 should exist");
+
+ ArrayList<MgLayerGroup> testCollection = new ArrayList<MgLayerGroup>();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+
+ //containsAll()
+ assertCondition(facade.containsAll(testCollection), "All items in test collection should match");
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item4);
+ assertCondition(!facade.containsAll(testCollection), "Should not have matched test collection");
+
+ facade.clear();
+ assertCondition(facade.size() == 0, "Expected 0 items");
+ assertCondition(facade.isEmpty(), "Expected empty item collection");
+
+ //addAll()
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item2);
+ testCollection.add(item3);
+ assertCondition(facade.addAll(testCollection), "Expected addAll() success");
+ assertCondition(facade.size() == 3, "Expected 3 items");
+ assertCondition(!facade.isEmpty(), "Expected non-empty item collection");
+
+ //remove()
+ assertCondition(!facade.remove(item4), "Expected remove() of non-existent item to return false");
+ assertCondition(!facade.remove(new MgFeatureSchema()), "Expected remove() of different type to return false");
+ assertCondition(facade.remove(item2), "Expected remove() of item2 to return true");
+
+ //removeAll()
+ testCollection.remove(item2);
+ assertCondition(facade.removeAll(testCollection), "Expected removeAll() to succeed");
+
+ //retainAll()
+ assertCondition(facade.add(item1), "Could not add item1 the java.util.Collection way");
+ assertCondition(facade.add(item2), "Could not add item2 the java.util.Collection way");
+ assertCondition(facade.add(item3), "Could not add item3 the java.util.Collection way");
+ assertCondition(facade.size() == 3, "Expected 3 schemas");
+ assertCondition(!facade.isEmpty(), "Expected non-empty schema collection");
+
+ testCollection.clear();
+ testCollection.add(item1);
+ testCollection.add(item3);
+ assertCondition(facade.retainAll(testCollection), "Expected retainAll() to succeed");
+ assertCondition(facade.contains(item1), "Expected item1 to exist");
+ assertCondition(!facade.contains(item2), "Expected item2 to not exist");
+ assertCondition(facade.contains(item3), "Expected item3 to exist");
+
+ //toArray()
+ Object[] itemArray = facade.toArray();
+ assertCondition(itemArray != null, "Expected non-null item array");
+ assertCondition(itemArray.length == 2, "Expected 2 item array");
+ for (Object o : itemArray) {
+ assertCondition(o instanceof MgLayerGroup, "Expected item to be MgLayerBase");
+ }
+ MgLayerGroup[] fitems = facade.toArray(new MgLayerGroup[0]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgLayerGroup[1]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 2, "Expected 2 item array");
+
+ fitems = facade.toArray(new MgLayerGroup[3]);
+ assertCondition(fitems != null, "Expected non-null item array");
+ assertCondition(fitems.length == 3, "Expected 3 item array");
+ assertCondition(fitems[0] != null, "Expected non-null item #1");
+ assertCondition(fitems[1] != null, "Expected non-null item #2");
+ assertCondition(fitems[2] == null, "Expected null item #3");
+
+ return true;
+ }
+ catch (MgException ex) {
+ assertCondition(false, ex.getMessage());
+ }
+ catch (AssertException ex) {
+ assertFailures.add(ex);
+ }
+ return false;
+ }
+}
More information about the mapguide-commits
mailing list