You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2015/07/06 23:47:43 UTC
[18/18] incubator-geode git commit: GEODE-80: Imported databrowser
from geode-1.0.0-SNAPSHOT-2.src.tar
GEODE-80: Imported databrowser from geode-1.0.0-SNAPSHOT-2.src.tar
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/e2ccf3da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/e2ccf3da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/e2ccf3da
Branch: refs/heads/feature/GEODE-80
Commit: e2ccf3da720a1c01e41ea8787261667be588e65b
Parents: 11d0367
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Mon Jul 6 10:49:01 2015 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Mon Jul 6 10:49:01 2015 -0700
----------------------------------------------------------------------
databrowser/META-INF/MANIFEST.MF | 4 +
databrowser/build.sh | 71 ++
databrowser/build.xml | 68 ++
databrowser/buildfiles/.eclipseproduct | 5 +
databrowser/buildfiles/config.properties | 72 ++
databrowser/buildfiles/dependencies.xml | 9 +
databrowser/buildfiles/generic.xml | 736 +++++++++++++++
databrowser/buildfiles/impl.xml | 267 ++++++
databrowser/buildfiles/utilities.xml | 33 +
databrowser/qa/DataBrowser Test Spec.xls | Bin 0 -> 55808 bytes
.../release/3rdparty_licenses/ICU4J_license.txt | 21 +
.../3rdparty_licenses/apache20_license.txt | 209 +++++
.../eclipse_public_license_v10.txt | 131 +++
...VMware_vFabric_GemFire_GFDataBrowser_1.2.txt | 297 ++++++
...VMware_vFabric_GemFire_GFDataBrowser_1.3.txt | 297 ++++++
...VMware_vFabric_GemFire_GFDataBrowser_1.4.txt | 321 +++++++
...VMware_vFabric_GemFire_DataBrowser_7.0.1.txt | 316 +++++++
...s-VMware_vFabric_GemFire_DataBrowser_7.0.txt | 316 +++++++
...ses-vFabric_GemFire_DataBrowser_7.0.Beta.txt | 316 +++++++
.../3rdparty_licenses/pixman-licenses.txt | 559 +++++++++++
.../release/3rdparty_licenses/third-party-list | 41 +
.../docfiles/DataBrowserReleaseNotes.odt | Bin 0 -> 19282 bytes
.../docfiles/DataBrowserReleaseNotes.pdf | Bin 0 -> 147262 bytes
.../release/docfiles/DataBrowserUserManual.odt | Bin 0 -> 576007 bytes
.../release/docfiles/DataBrowserUserManual.pdf | Bin 0 -> 732369 bytes
databrowser/release/docfiles/VMwareLogo.png | Bin 0 -> 3151 bytes
databrowser/release/docfiles/index.html | 20 +
databrowser/release/installer/EULA.txt | 250 +++++
databrowser/release/installer/INSTALL.txt | 60 ++
.../release/installer/ZipSelfExtractor.java | 627 +++++++++++++
databrowser/release/installer/i18n.properties | 24 +
.../vFabric_GFDataBrowserZipSelfExtractor.java | 32 +
databrowser/release/scripts/databrowser | 61 ++
databrowser/release/scripts/databrowser.bat | 66 ++
databrowser/resources/icons/CacheServer.ico | Bin 0 -> 1078 bytes
databrowser/resources/icons/DSMember.ico | Bin 0 -> 1406 bytes
databrowser/resources/icons/DSMember01.ico | Bin 0 -> 1406 bytes
databrowser/resources/icons/DSMember02.ico | Bin 0 -> 1406 bytes
databrowser/resources/icons/DSMember03.ico | Bin 0 -> 1078 bytes
databrowser/resources/icons/DSMember2.png | Bin 0 -> 672 bytes
.../resources/icons/ExecutionPlanTabIcon.ico | Bin 0 -> 1406 bytes
databrowser/resources/icons/Messages.ico | Bin 0 -> 10134 bytes
.../icons/MiscellaneousPrefsPageIcon.png | Bin 0 -> 497 bytes
.../resources/icons/PartitionedRegion.ico | Bin 0 -> 2478 bytes
.../resources/icons/QueryPrefsPageIcon.png | Bin 0 -> 497 bytes
.../resources/icons/QueryResultsTablIcon.ico | Bin 0 -> 1406 bytes
databrowser/resources/icons/Region.ico | Bin 0 -> 1406 bytes
databrowser/resources/icons/Results.ico | Bin 0 -> 2478 bytes
.../resources/icons/SecurityPrefsPageIcon.png | Bin 0 -> 497 bytes
databrowser/resources/icons/ServerGroup01.ico | Bin 0 -> 1078 bytes
databrowser/resources/icons/Statistics.ico | Bin 0 -> 2478 bytes
databrowser/resources/icons/Trace.ico | Bin 0 -> 10134 bytes
databrowser/resources/icons/splash.bmp | Bin 0 -> 539958 bytes
.../resources/icons/text-document-16x16.png | Bin 0 -> 497 bytes
.../mgmt/DataBrowser/app/AboutAttributes.java | 65 ++
.../mgmt/DataBrowser/app/DataBrowserApp.java | 107 +++
.../gemfire/mgmt/DataBrowser/app/Messages.java | 25 +
.../gemfire/mgmt/DataBrowser/app/State.java | 177 ++++
.../mgmt/DataBrowser/app/VersionInfo.java | 98 ++
.../mgmt/DataBrowser/app/messages.properties | 0
.../connection/ClientConfiguration.java | 85 ++
.../connection/ConnectionClosedException.java | 25 +
.../connection/ConnectionFactory.java | 122 +++
.../connection/ConnectionFailureException.java | 56 ++
.../connection/ConnectionTerminatedEvent.java | 10 +
.../DataBrowser/connection/DSConfiguration.java | 91 ++
.../mgmt/DataBrowser/connection/EndPoint.java | 54 ++
.../connection/GFMemberDiscovery.java | 65 ++
.../connection/GFQueryExecution.java | 69 ++
.../connection/GemFireConnection.java | 24 +
.../connection/GemFireConnectionListener.java | 12 +
.../connection/GemFireMemberListener.java | 25 +
.../connection/IConnectionEvent.java | 10 +
.../JMXOperationFailureException.java | 47 +
.../connection/SecurityAttributes.java | 69 ++
.../connection/VersionMismatchException.java | 35 +
.../internal/DummyMemberDiscoveryImpl.java | 107 +++
.../internal/GemFireClientConnectionImpl.java | 293 ++++++
.../connection/internal/JMXCallExecutor.java | 125 +++
.../connection/internal/JMXDiscoveryImpl.java | 916 +++++++++++++++++++
.../internal/JMXNotificationListener.java | 196 ++++
.../controller/CQConfiguarationPrms.java | 44 +
.../mgmt/DataBrowser/controller/DSSnapShot.java | 51 ++
.../controller/DataBrowserController.java | 404 ++++++++
.../controller/ICQueryEventListener.java | 17 +
.../controller/IQueryExecutedEvent.java | 30 +
.../controller/IQueryExecutionListener.java | 28 +
.../InvalidConfigurationException.java | 34 +
.../InvalidSecurityPluginException.java | 34 +
.../MissingSecuritiesPropException.java | 34 +
.../controller/QueryConfigurationPrms.java | 79 ++
.../internal/DataBrowserCustomClassLoader.java | 156 ++++
.../controller/internal/QueryExecutedEvent.java | 56 ++
.../internal/QueryExecutionHelper.java | 292 ++++++
.../internal/SWTAppAdapter_Controller.java | 130 +++
.../DataBrowser/model/DistributedSystem.java | 96 ++
.../model/IDistributedSystemEvent.java | 12 +
.../mgmt/DataBrowser/model/IMemberEvent.java | 23 +
.../mgmt/DataBrowser/model/IQueryEvent.java | 12 +
.../mgmt/DataBrowser/model/ServerGroup.java | 59 ++
.../model/member/CacheServerInfo.java | 88 ++
.../DataBrowser/model/member/GemFireMember.java | 199 ++++
.../model/member/MemberConfigurationPrms.java | 52 ++
.../model/member/MemberCrashedEvent.java | 60 ++
.../DataBrowser/model/member/MemberFactory.java | 176 ++++
.../model/member/MemberJoinedEvent.java | 60 ++
.../model/member/MemberLeftEvent.java | 62 ++
.../DataBrowser/model/member/MemberStatus.java | 37 +
.../model/member/MemberUpdatedEvent.java | 62 ++
.../mgmt/DataBrowser/model/member/Messages.java | 22 +
.../model/member/messages.properties | 0
.../DataBrowser/model/region/GemFireRegion.java | 138 +++
.../DataBrowser/model/region/RegionFactory.java | 113 +++
.../prefs/DataBrowserPreferences.java | 473 ++++++++++
.../DataBrowser/prefs/DefaultPreferences.java | 109 +++
.../DataBrowser/prefs/PreferencesAdapter.java | 180 ++++
.../query/ColumnNotFoundException.java | 31 +
.../query/ColumnValueNotAvailableException.java | 30 +
.../query/IntrospectionException.java | 31 +
.../query/IntrospectionRepository.java | 179 ++++
.../DataBrowser/query/IntrospectionResult.java | 104 +++
.../gemfire/mgmt/DataBrowser/query/Query.java | 118 +++
.../query/QueryExecutionException.java | 97 ++
.../mgmt/DataBrowser/query/QueryResult.java | 92 ++
.../mgmt/DataBrowser/query/QueryStatistics.java | 19 +
.../mgmt/DataBrowser/query/QueryUtil.java | 407 ++++++++
.../mgmt/DataBrowser/query/ResultSet.java | 48 +
.../DataBrowser/query/cq/CQEventListener.java | 24 +
.../mgmt/DataBrowser/query/cq/CQException.java | 28 +
.../mgmt/DataBrowser/query/cq/CQQuery.java | 110 +++
.../mgmt/DataBrowser/query/cq/CQQueryImpl.java | 88 ++
.../mgmt/DataBrowser/query/cq/CQResult.java | 235 +++++
.../mgmt/DataBrowser/query/cq/EventData.java | 22 +
.../DataBrowser/query/cq/EventDataImpl.java | 84 ++
.../mgmt/DataBrowser/query/cq/TypeListener.java | 20 +
.../DataBrowser/query/cq/event/ErrorEvent.java | 20 +
.../DataBrowser/query/cq/event/ICQEvent.java | 17 +
.../DataBrowser/query/cq/event/RowAdded.java | 22 +
.../DataBrowser/query/cq/event/RowDeleted.java | 21 +
.../DataBrowser/query/cq/event/RowUpdated.java | 21 +
.../query/export/QueryDataExportHandler.java | 66 ++
.../query/export/QueryResultExporter.java | 528 +++++++++++
.../query/export/QuerySchemaExportHandler.java | 40 +
.../query/export/QuerySchemaExporter.java | 66 ++
.../query/export/xml/TypeConversion.java | 48 +
.../query/export/xml/XMLDocExportHandler.java | 120 +++
.../export/xml/XMLSchemaExportHandler.java | 183 ++++
.../internal/CollectionTypeResultImpl.java | 104 +++
.../query/internal/FieldTypeAccessor.java | 158 ++++
.../query/internal/MapTypeResultImpl.java | 97 ++
.../query/internal/ObjectColumn.java | 30 +
.../query/internal/ObjectFieldImpl.java | 76 ++
.../query/internal/ObjectIntrospector.java | 195 ++++
.../query/internal/ObjectPropertyImpl.java | 76 ++
.../query/internal/ObjectTypeResultImpl.java | 264 ++++++
.../internal/PdxEnumIntrospectionResult.java | 154 ++++
.../DataBrowser/query/internal/PdxHelper.java | 261 ++++++
.../DataBrowser/query/internal/PdxInfoType.java | 102 +++
.../internal/PdxIntrospectionException.java | 34 +
.../query/internal/PdxIntrospectionResult.java | 272 ++++++
.../internal/PdxTypesIntrospectionResult.java | 207 +++++
.../query/internal/PrimitiveTypeResultImpl.java | 81 ++
.../query/internal/ResultSetImpl.java | 114 +++
.../query/internal/StructTypeResultImpl.java | 213 +++++
.../resources/databrowser.properties | 1 +
.../DataBrowser/resources/icons/CacheServer.ico | Bin 0 -> 1078 bytes
.../resources/icons/ConnectToDSDisabled.PNG | Bin 0 -> 374 bytes
.../resources/icons/ConnectToDSEnabled.PNG | Bin 0 -> 341 bytes
.../DataBrowser/resources/icons/DSMember.ico | Bin 0 -> 1406 bytes
.../DataBrowser/resources/icons/DSMember01.ico | Bin 0 -> 1406 bytes
.../DataBrowser/resources/icons/DSMember02.ico | Bin 0 -> 1406 bytes
.../DataBrowser/resources/icons/DSMember03.ico | Bin 0 -> 1078 bytes
.../DataBrowser/resources/icons/DSMember2.png | Bin 0 -> 672 bytes
.../icons/DisconnectFromDSDisabled.PNG | Bin 0 -> 490 bytes
.../resources/icons/DisconnectFromDSEnabled.PNG | Bin 0 -> 490 bytes
.../resources/icons/ExecuteQueryDisabled.PNG | Bin 0 -> 326 bytes
.../resources/icons/ExecuteQueryEnabled.PNG | Bin 0 -> 326 bytes
.../resources/icons/ExecutionPlanTab.ico | Bin 0 -> 1406 bytes
.../resources/icons/ExecutionPlanTabIcon.ico | Bin 0 -> 1406 bytes
.../DataBrowser/resources/icons/Messages.ico | Bin 0 -> 10134 bytes
.../icons/MiscellaneousPrefsPageIcon.png | Bin 0 -> 497 bytes
.../resources/icons/PartitionedRegion.ico | Bin 0 -> 2478 bytes
.../resources/icons/QueryPrefsPageIcon.png | Bin 0 -> 497 bytes
.../resources/icons/QueryResultsTablIcon.ico | Bin 0 -> 1406 bytes
.../mgmt/DataBrowser/resources/icons/Region.ico | Bin 0 -> 1406 bytes
.../DataBrowser/resources/icons/Results.ico | Bin 0 -> 2478 bytes
.../resources/icons/SecurityDisabled.PNG | Bin 0 -> 342 bytes
.../resources/icons/SecurityEnabled.PNG | Bin 0 -> 402 bytes
.../resources/icons/SecurityPrefsPageIcon.png | Bin 0 -> 497 bytes
.../resources/icons/ServerGroup01.ico | Bin 0 -> 1078 bytes
.../DataBrowser/resources/icons/Statistics.ico | Bin 0 -> 2478 bytes
.../mgmt/DataBrowser/resources/icons/Trace.ico | Bin 0 -> 10134 bytes
.../mgmt/DataBrowser/resources/icons/splash.bmp | Bin 0 -> 539958 bytes
.../resources/icons/text-document-16x16.png | Bin 0 -> 497 bytes
.../gemfire/mgmt/DataBrowser/ui/AboutDlg.java | 70 ++
.../mgmt/DataBrowser/ui/CQResultsPanel.java | 546 +++++++++++
.../DataBrowser/ui/CQWindowCoolBarManager.java | 52 ++
.../DataBrowser/ui/CQWindowToolBarManager.java | 81 ++
.../gemfire/mgmt/DataBrowser/ui/CQueryView.java | 210 +++++
.../DataBrowser/ui/ClientAreaComposite.java | 24 +
.../mgmt/DataBrowser/ui/ConnectToDSDlg.java | 387 ++++++++
.../DataBrowser/ui/ConnectionPrefsPage.java | 539 +++++++++++
.../mgmt/DataBrowser/ui/CqAppWindow.java | 180 ++++
.../DataBrowser/ui/CustomMsgDispatcher.java | 79 ++
.../mgmt/DataBrowser/ui/CustomUIMessages.java | 85 ++
.../gemfire/mgmt/DataBrowser/ui/DSView.java | 794 ++++++++++++++++
.../mgmt/DataBrowser/ui/ExecutionPlanPanel.java | 38 +
.../DataBrowser/ui/IDataBrowserPrefsPage.java | 16 +
.../mgmt/DataBrowser/ui/MainAppWindow.java | 422 +++++++++
.../ui/MainWindowCoolBarManager.java | 149 +++
.../DataBrowser/ui/MainWindowMenuManager.java | 161 ++++
.../ui/MainWindowMenuManager.properties | 21 +
.../ui/MainWindowStatusLineManager.java | 21 +
.../ui/MainWindowToolBarManager.java | 216 +++++
.../ui/MainWndGlobalXptnHandler.java | 31 +
.../mgmt/DataBrowser/ui/MessagePanel.java | 63 ++
.../gemfire/mgmt/DataBrowser/ui/Messages.java | 22 +
.../DataBrowser/ui/MiscellaneousPrefsPage.java | 634 +++++++++++++
.../mgmt/DataBrowser/ui/PatternFilter.java | 310 +++++++
.../DataBrowser/ui/PortCellEditorListener.java | 45 +
.../ui/PrefModifyListenerAdapter.java | 20 +
.../mgmt/DataBrowser/ui/PreferencesDlg.java | 47 +
.../mgmt/DataBrowser/ui/QueryPrefsPage.java | 368 ++++++++
.../gemfire/mgmt/DataBrowser/ui/QueryView.java | 579 ++++++++++++
.../mgmt/DataBrowser/ui/ResultsPanel.java | 407 ++++++++
.../mgmt/DataBrowser/ui/SecurityPrefsPage.java | 202 ++++
.../DataBrowser/ui/SecurityPropComposite.java | 884 ++++++++++++++++++
.../DataBrowser/ui/SpecifySecuritiesDlg.java | 127 +++
.../mgmt/DataBrowser/ui/SplashScreen.java | 146 +++
.../ui/SplashScreenProgressCallback.java | 36 +
.../mgmt/DataBrowser/ui/StatisticsPanel.java | 201 ++++
.../gemfire/mgmt/DataBrowser/ui/TracePanel.java | 24 +
.../ui/actions/AboutDataBrowser.java | 200 ++++
.../ui/actions/AbstractDataBrowserAction.java | 203 ++++
.../ui/actions/ActionVisualSeparator.java | 64 ++
.../ui/actions/CascadeQueryWindows.java | 138 +++
.../ui/actions/CloseAllQueryWindows.java | 140 +++
.../ui/actions/CloseQueryWindow.java | 137 +++
.../DataBrowser/ui/actions/ConnectToDS.java | 378 ++++++++
.../mgmt/DataBrowser/ui/actions/Copy.java | 137 +++
.../mgmt/DataBrowser/ui/actions/Cut.java | 138 +++
.../ui/actions/DisconnectFromDS.java | 169 ++++
.../DataBrowser/ui/actions/ExecuteCQuery.java | 460 ++++++++++
.../DataBrowser/ui/actions/ExecuteQuery.java | 713 +++++++++++++++
.../mgmt/DataBrowser/ui/actions/Exit.java | 94 ++
.../ui/actions/ExportQueryResults.java | 366 ++++++++
.../DataBrowser/ui/actions/HelpContents.java | 205 +++++
.../ui/actions/IDataBrowserAction.java | 16 +
.../mgmt/DataBrowser/ui/actions/Messages.java | 22 +
.../DataBrowser/ui/actions/NewCQWindow.java | 135 +++
.../DataBrowser/ui/actions/NewQueryWindow.java | 139 +++
.../mgmt/DataBrowser/ui/actions/ParseQuery.java | 58 ++
.../mgmt/DataBrowser/ui/actions/Paste.java | 138 +++
.../DataBrowser/ui/actions/Preferences.java | 160 ++++
.../mgmt/DataBrowser/ui/actions/Redo.java | 139 +++
.../mgmt/DataBrowser/ui/actions/SelectAll.java | 137 +++
.../DataBrowser/ui/actions/ShowMessagesTab.java | 136 +++
.../ui/actions/ShowStatisticsTab.java | 152 +++
.../DataBrowser/ui/actions/ShowTraceTab.java | 146 +++
.../DataBrowser/ui/actions/SpecifySecurity.java | 222 +++++
.../ui/actions/TileQueryWindows.java | 139 +++
.../mgmt/DataBrowser/ui/actions/Undo.java | 139 +++
.../DataBrowser/ui/actions/messages.properties | 0
.../mgmt/DataBrowser/ui/internal/PrefsMgr.java | 130 +++
.../mgmt/DataBrowser/ui/messages.properties | 0
.../ui/model/CQueryResultsInput.java | 142 +++
.../DataBrowser/ui/model/QueryResultsInput.java | 56 ++
.../mgmt/DataBrowser/ui/model/ResultsInput.java | 10 +
.../mgmt/DataBrowser/ui/tree/ExploreAction.java | 53 ++
.../mgmt/DataBrowser/ui/tree/Messages.java | 22 +
.../ui/tree/ObjectContentProvider.java | 58 ++
.../DataBrowser/ui/tree/ObjectExplorer.java | 83 ++
.../mgmt/DataBrowser/ui/tree/ObjectImage.java | 57 ++
.../ui/tree/ObjectLabelProvider.java | 61 ++
.../ui/tree/ObjectTreeModelImpl.java | 128 +++
.../DataBrowser/ui/tree/messages.properties | 5 +
.../mgmt/DataBrowser/utils/DataValidator.java | 44 +
.../gemfire/mgmt/DataBrowser/utils/JVMArch.java | 32 +
.../gemfire/mgmt/DataBrowser/utils/LogUtil.java | 186 ++++
.../mgmt/DataBrowser/utils/NetHostInf.java | 62 ++
.../mgmt/DataBrowser/utils/StringMatcher.java | 427 +++++++++
.../mgmt/DataBrowser/utils/ToolsFormater.java | 61 ++
.../templates/security/DataBrowserAuthInit.java | 73 ++
.../security/DataBrowserAuthenticator.java | 69 ++
.../security/DataBrowserPrincipal.java | 33 +
.../security/NoOperationAuthorization.java | 59 ++
.../templates/security/QueryAuthorization.java | 77 ++
.../databrowser/CustomDataGenerator.java | 240 +++++
.../MultipleRegionsDataGenerator.java | 259 ++++++
.../com/gemstone/databrowser/Testutil.java | 37 +
.../gemstone/databrowser/objects/Address.java | 73 ++
.../gemstone/databrowser/objects/Customer.java | 76 ++
.../databrowser/objects/CustomerInvoice.java | 68 ++
.../objects/CustomerInvoiceHelper.java | 105 +++
.../gemstone/databrowser/objects/Employee.java | 94 ++
.../databrowser/objects/GemStoneCustomer.java | 52 ++
.../objects/InternationalAddress.java | 64 ++
.../com/gemstone/databrowser/objects/Order.java | 58 ++
.../gemstone/databrowser/objects/Portfolio.java | 213 +++++
.../gemstone/databrowser/objects/Shipment.java | 93 ++
.../databrowser/objects/SubEmployee.java | 53 ++
.../databrowser/objects/TestConfig.properties | 25 +
.../com/gemstone/databrowser/objects/Work.java | 61 ++
.../gemstone/databrowser/objects/positions.java | 405 ++++++++
.../tests/battery/conf/populateRandomRegions.bt | 4 +
.../battery/conf/populateRandomRegions.conf | 94 ++
.../tests/battery/conf/prRegionPopulateTest.bt | 4 +
.../battery/conf/prRegionPopulateTest.conf | 136 +++
.../tests/battery/conf/serverRegionsPopulate.bt | 4 +
.../battery/conf/serverRegionsPopulate.conf | 118 +++
databrowser/tests/battery/conf/serverTest.conf | 244 +++++
.../tests/battery/conf/startserverTest.bt | 5 +
.../gemfire/tools/databrowser/data/Address.java | 55 ++
.../databrowser/data/ConfigurableObject.java | 48 +
.../tools/databrowser/data/Customer.java | 75 ++
.../databrowser/data/GemStoneCustomer.java | 65 ++
.../data/ObjectCreationException.java | 27 +
.../tools/databrowser/data/ObjectHelper.java | 84 ++
.../tools/databrowser/data/Portfolio.java | 80 ++
.../tools/databrowser/data/Position.java | 66 ++
.../gemfire/tools/databrowser/data/Product.java | 51 ++
.../dunit/CompositeObjectDUnitTest.java | 300 ++++++
.../dunit/CustomerQueryDUnitTest.java | 74 ++
.../dunit/DataBrowserDUnitTestCase.java | 277 ++++++
.../dunit/MultipleTypeResultDUnitTest.java | 109 +++
.../dunit/ObjectTypeQueryResultDUnitTest.java | 192 ++++
.../databrowser/dunit/TestMapTypeDUnitTest.java | 312 +++++++
.../GemFireClientServerTopologyDUnitTest.java | 141 +++
databrowser/tests/dunit/config/databrowser.inc | 30 +
.../query/internal/FieldTypeAccessorTest.java | 130 +++
330 files changed, 37203 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/databrowser/META-INF/MANIFEST.MF b/databrowser/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f0f5484
--- /dev/null
+++ b/databrowser/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Main-Class: com.gemstone.gemfire.mgmt.DataBrowser.app.DataBrowserApp
+
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/build.sh
----------------------------------------------------------------------
diff --git a/databrowser/build.sh b/databrowser/build.sh
new file mode 100755
index 0000000..52d8d8e
--- /dev/null
+++ b/databrowser/build.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+# Set BASEDIR to be the toplevel checkout directory.
+# We do this so that BASEDIR can be used elsewhere if needed
+#set -xv
+
+BASEDIR=`/usr/bin/dirname $0`
+OLDPWD=$PWD
+cd $BASEDIR
+export BASEDIR=`/usr/bin/dirname $PWD`
+cd $OLDPWD
+
+unset GEMFIRE
+export GEMFIRE
+
+export GCMDIR=${GCMDIR:-"/gcm"}
+
+if [ `uname` = "SunOS" ]; then
+ export JAVA_HOME=${ALT_JAVA_HOME:-$GCMDIR/where/jdk/1.6.0_26/sparc.Solaris}
+ logfile=buildSol.log
+elif [ `uname` = "Darwin" ]; then
+ export JAVA_HOME=${ALT_JAVA_HOME:-/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home}
+ logfile=buildMac.log
+elif [ `uname` = "Linux" ]; then
+ export JAVA_HOME=${ALT_JAVA_HOME:-$GCMDIR/where/jdk/1.6.0_26/x86.linux}
+ logfile=buildLinux.log
+else
+ echo "Defaulting to Windows build"
+ export GCMDIR=${GCMDIR:-"J:\\"}
+ export JAVA_HOME=${ALT_JAVA_HOME:-$GCMDIR/where/jdk/1.6.0_26/x86.Windows_NT}
+ logfile=buildWin.log
+ if [ ! -d "$GCMDIR" ]; then
+ echo "ERROR: unable to locate GCMDIR "$GCMDIR" maybe you forgot to map the J: network drive to //samba/gcm"
+ exit 1
+ fi
+# NO_BUILD_LOG=1
+fi
+
+export ANT_HOME=${ALT_ANT_HOME:-$GCMDIR/where/java/ant/apache-ant-1.8.2}
+export PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
+export CLASSPATH=${TASKDEFS:-$GCMDIR/where/java/ant/gemstoneExtensions/lib/ant-contrib-1.0b3.jar}
+
+
+export ANT_OPTS="-Xmx384m"
+
+function logant {
+# if [[ `uname` == "SunOS" || `uname` == "Linux" ]]; then
+ rm -f .xbuildfailure
+ ( $ANT_HOME/bin/ant --noconfig "$@" || echo "$?" > .xbuildfailure ) 2>&1 | tee $logfile
+ if [ -r .xbuildfailure ]; then
+ read stat <.xbuildfailure
+ rm -f .xbuildfailure
+ exit $stat
+ fi
+#
+ # cygwin tee causes hang on windows
+# $ANT_HOME/bin/ant --noconfig -DuseSSH=false "$@"
+# fi
+}
+
+echo "JAVA_HOME = $JAVA_HOME"
+echo "ANT_HOME = $ANT_HOME"
+date
+
+# ant likes to be in the directory that build.xml is in
+if [[ "x$NO_BUILD_LOG" = "x" ]]; then
+ logant "$@"
+else
+ echo "running $ANT_HOME/bin/ant "
+ $ANT_HOME/bin/ant --noconfig "$@"
+fi
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/build.xml
----------------------------------------------------------------------
diff --git a/databrowser/build.xml b/databrowser/build.xml
new file mode 100644
index 0000000..9f8622d
--- /dev/null
+++ b/databrowser/build.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="main-build" default="usage">
+
+ <taskdef resource="com/gemstone/tools/ant/taskdefs/buildtasks.properties"
+ classpath="${basedir}/buildfiles/taskdefsV10.jar"/>
+ <property environment="myenv"/> <!-- Get environment variables -->
+ <property name="gcm.dir" value="${myenv.GCMDIR}"/>
+
+ <!-- include external xml files here -->
+ <import file="buildfiles/dependencies.xml"/>
+ <import file="buildfiles/utilities.xml"/>
+ <import file="buildfiles/generic.xml"/>
+ <import file="buildfiles/impl.xml"/>
+ <!-- end of include section -->
+
+ <target name="build-all"
+ depends="build-all-impl"
+ description="Build the product and test code"/>
+ <target name="build-installer"
+ depends="build-installer-impl"
+ description="Builds a self extracting jar installer"/>
+ <target name="build-product"
+ depends="build-product-impl"
+ description="Build product tree into {osbuild.dir}"/>
+ <target name="clean"
+ depends="clean-impl"
+ description="Cleans all byproducts of building"/>
+ <target name="clean-tests"
+ depends=""
+ description="Clears all output from compile-tests"/>
+ <target name="compile-tests"
+ depends="compile-tests-impl"
+ description="Compiles all test code"/>
+ <target name="execute-battery"
+ depends="execute-battery-impl"
+ description="Compiles test code then runs a Hydra test
+ -Dbt.file=[bt to run] (required)
+ -Dbt.result.dir=[dir] (optional)
+ -Dlocal.conf=[file] (optional)
+ -DmergeLogFiles=[boolean] (default=false)
+ -DNukeHungTests=[boolean] (default=false)
+ -DlogLevel=[log level] (default=fine)"/>
+ <target name="execute-battery-nobuild"
+ depends="execute-battery-nobuild-impl"
+ description="Run bt without compiling tests"/>
+ <target name="update-svn"
+ depends="update-svn-impl"
+ description="Updates this SVN checkout"/>
+ <target name="precheckin"
+ depends="precheckin-impl"
+ description="svn update, build, and run unit tests"/>
+ <target name="run-all-tests"
+ depends="run-all-tests-impl"
+ description="Run all of the unit tests"/>
+ <target name="run-dunit-tests"
+ depends="run-dunit-tests-impl"
+ description="Runs the Distributed unit tests
+ -Ddunit.testcase=tClass (optional)
+ -Ddunit.testcase=pattern (optional)"/>
+ <target name="run-junit-tests"
+ depends="run-junit-tests-impl"
+ description="Runs the Java unit tests
+ -Djunit.testcase=tClass (optional)
+ -Djunit.excludes=pattern (optional)"/>
+ <target name="usage"
+ depends="usage-impl"
+ description="Display all public ant targets"/>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/buildfiles/.eclipseproduct
----------------------------------------------------------------------
diff --git a/databrowser/buildfiles/.eclipseproduct b/databrowser/buildfiles/.eclipseproduct
new file mode 100644
index 0000000..1b715bf
--- /dev/null
+++ b/databrowser/buildfiles/.eclipseproduct
@@ -0,0 +1,5 @@
+#Eclipse Product File
+#Thu Apr 24 19:59:14 GMT+05:30 2008
+version=1.0.0
+name=Data Browser
+id=com.gemstone.gemfire.tools.product
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/buildfiles/config.properties
----------------------------------------------------------------------
diff --git a/databrowser/buildfiles/config.properties b/databrowser/buildfiles/config.properties
new file mode 100644
index 0000000..b521f73
--- /dev/null
+++ b/databrowser/buildfiles/config.properties
@@ -0,0 +1,72 @@
+#product specific
+product.short.name=vFabric_GFDataBrowser
+product.short.name.lowercase=databrowser
+product.long.name=vFabric GemFire DataBrowser
+product.manifest=${osbuild.dir}/Manifest.mf
+product.main-class=com.gemstone.gemfire.mgmt.DataBrowser.app.DataBrowserApp
+product.jvmarch-class=com.gemstone.gemfire.mgmt.DataBrowser.utils.JVMArch
+script.name=${product.short.name.lowercase}
+product.version=7.0.1
+product.about.resource=about${product.short.name}.txt
+product.jar.name=${product.short.name.lowercase}_${product.version}.jar
+installer.classname=${product.short.name}ZipSelfExtractor
+product.version.filename=${product.short.name}Version.properties
+
+#javac/java options
+jdk.dir=where/jdk
+javac.primary.version=1.6.0_26
+javac.secondary.version=1.6.0_26
+java.test.version=1.6.0_26
+javac.deprecation=off
+javac.debug=true
+javac.mmx=160m
+javac.target=5
+
+#common
+build.dir=${basedir}/build-artifacts
+osbuild.dir=${build.dir}/${gf.os}
+last.update.file=${build.dir}/lastUpdate.txt
+svn.logfile=update-svn.log
+svn.hist.logfile=.svn-history.log
+hidden.dir=${osbuild.dir}/hidden
+hiddenlib.dir=${hidden.dir}/lib
+product.dir=${osbuild.dir}/product
+external.dir=${osbuild.dir}/dependencies
+hydra.dir=${gemfire.dir}/tests
+junit.dir=${osbuild.dir}/dependencies/classes
+
+eclipse.root=${gcm.dir}/where/eclipse/3.4.1
+eclipse.dir.x86.linux=${eclipse.root}/x86.linux
+eclipse.dir.x86_64.linux=${eclipse.root}/x86_64.linux
+eclipse.dir.x86.Windows_NT=${eclipse.root}/x86.Windows_NT
+eclipse.dir.x86_64.Windows_NT=${eclipse.root}/x86_64.Windows_NT
+
+#src
+scripts.dir=${basedir}/release/scripts
+src.dir=${basedir}/src
+classes.dir=${osbuild.dir}/classes
+
+#installer
+installer.dir=${osbuild.dir}/installer
+installer.tmp=${osbuild.dir}/installer_tmp
+installer.src.dir=${basedir}/release/installer
+installer.classes.dir=${installer.tmp}
+installer.vernum=${installer.tmp}/vernum.properties
+installer.oss.jar=oss.jar
+
+
+#tests
+tests.src.dir=${basedir}/tests
+tests.out.dir=${osbuild.dir}/tests
+tests.junit.classes.dir=${tests.out.dir}/junit/classes
+tests.dunit.classes.dir=${tests.out.dir}/dunit/classes
+tests.battery.classes.dir=${tests.out.dir}/battery/classes
+tests.results.dir=${tests.out.dir}/results
+dunit.inc.file=${tests.src.dir}/dunit/config/databrowser.inc
+logLevel=fine
+haltOnFailure=true
+NukeHungTests=false
+useSSH=true
+junit.timeout=600
+dunitSites=1
+dunit-jvm-args=-Ddummy=true
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/buildfiles/dependencies.xml
----------------------------------------------------------------------
diff --git a/databrowser/buildfiles/dependencies.xml b/databrowser/buildfiles/dependencies.xml
new file mode 100644
index 0000000..1258fb4
--- /dev/null
+++ b/databrowser/buildfiles/dependencies.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="dependencies">
+
+ <dependency property="svnant.dir" artifact="where/java/svnant/svnant-1.4.dev"/>
+ <dependency property="ant-contrib.jar" artifact="where/java/ant/ant-contrib/ant-contrib-1.0b3/ant-contrib-1.0b3.jar"/>
+ <dependency property="antelopeTasks.dir" artifact="where/java/AntelopeTasks_3.5.1"/>
+
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/buildfiles/generic.xml
----------------------------------------------------------------------
diff --git a/databrowser/buildfiles/generic.xml b/databrowser/buildfiles/generic.xml
new file mode 100644
index 0000000..db8d807
--- /dev/null
+++ b/databrowser/buildfiles/generic.xml
@@ -0,0 +1,736 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="generic-build-targets">
+
+ <!-- determine OS -->
+ <condition property="gf.os" value="sol">
+ <os name="SunOs"/>
+ </condition>
+ <condition property="gf.os" value="linux">
+ <os name="Linux"/>
+ </condition>
+ <condition property="gf.os" value="mac">
+ <os family="mac"/>
+ </condition>
+ <condition property="gf.os" value="win">
+ <os family="windows"/>
+ </condition>
+ <condition property="gf.os" value="aix">
+ <os name="AIX"/>
+ </condition>
+
+ <property file="${basedir}/build${gf.os}.properties"/>
+ <available file="${basedir}/build${gf.os}.properties"
+ property="build.os.exists"/>
+ <conditional if="build.os.exists">
+ <echo message="Loading properties from ${basedir}/build${gf.os}.properties:" level="info"/>
+ <concat>
+ <filelist dir="${basedir}" files="build${gf.os}.properties"/>
+ </concat>
+ </conditional>
+
+ <property file="${basedir}/build.properties"/>
+ <available file="${basedir}/build.properties" property="build.props.exists"/>
+ <conditional if="build.props.exists">
+ <echo message="Loading properties from ${basedir}/build.properties:"
+ level="info"/>
+ <concat>
+ <filelist dir="${basedir}" files="build.properties"/>
+ </concat>
+ </conditional>
+ <property file="${basedir}/buildfiles/config.properties"/>
+
+ <dependency property="javac.primary"
+ jdkVersion="${javac.primary.version}"
+ is64Bit="false" artifact="where/jdk"/>
+ <dependency property="javac.secondary"
+ jdkVersion="${javac.secondary.version}"
+ is64Bit="false" artifact="where/jdk"/>
+ <dependency property="default.testVM"
+ jdkVersion="${java.test.version}"
+ is64Bit="false" artifact="where/jdk"/>
+ <dependency property="default.testVM64"
+ jdkVersion="${java.test.version}"
+ is64Bit="true" artifact="where/jdk"/>
+
+ <target name="build-all-impl" depends="build-product, compile-tests"/>
+ <target name="build-installer-impl" depends="props, define-classpath-refids">
+ <property file="${build.dir}/build.number" prefix="installer."/>
+ <!-- basic clean up and setup -->
+ <delete dir="${installer.dir}" quiet="true"/>
+ <delete dir="${installer.tmp}" quiet="true"/>
+ <mkdir dir="${installer.dir}"/>
+ <mkdir dir="${installer.tmp}"/>
+ <copy todir="${installer.tmp}">
+ <fileset dir="${basedir}/release/installer">
+ <include name="i18n*.properties"/>
+ <include name="EULA.txt"/>
+ <include name="INSTALL.txt"/>
+ <include name="build.xml"/>
+ </fileset>
+ </copy>
+ <touch file="${installer.vernum}"/>
+ <echo file="${installer.vernum}" level="info">installer_vernum=${product.short.name}${product.version}
+ </echo>
+ <replace file="${installer.vernum}" token="." value=""/>
+ <replace file="${installer.vernum}" token=" " value=""/>
+
+ <property file="${installer.vernum}"/>
+ <property name="installer.name" value="${installer_vernum}_Installer"/>
+ <property name="installer.jar" value="${installer.name}.jar"/>
+
+ <!-- Build and copy the INSTALL.txt into place -->
+ <copy todir="${installer.tmp}">
+ <fileset dir="${basedir}/release/installer">
+ <include name="INSTALL.txt"/>
+ </fileset>
+ </copy>
+
+ <replace file="${installer.tmp}/INSTALL.txt" token="__JAR_NAME__"
+ value="${installer.jar}" summary="yes"/>
+ <replace file="${installer.tmp}/INSTALL.txt" token="__VERSION__"
+ value="${product.version} build ${installer.build.number}" summary="yes"/>
+ <replace file="${installer.tmp}/INSTALL.txt" token="__SIZE__"
+ value="10" summary="yes"/>
+ <replace file="${installer.tmp}/INSTALL.txt" token="__PRODUCT_DIR__"
+ value="${installer_vernum}" summary="yes"/>
+ <replace file="${installer.tmp}/i18n.properties" token="__PRODUCT_DIR__"
+ value="${installer_vernum}" summary="yes"/>
+ <replace file="${installer.tmp}/i18n.properties" token="__PRODUCT_NAME__"
+ value="${product.short.name.lowercase}" summary="yes"/>
+
+ <copy file="${installer.tmp}/INSTALL.txt" tofile="${product.dir}/docs/${installer_vernum}_INSTALL.txt"/>
+ <copy file="${installer.tmp}/INSTALL.txt" tofile="${installer.dir}/${installer_vernum}_INSTALL.txt"/>
+
+ <compile-java src.dir="${installer.src.dir}"
+ output.dir="${installer.classes.dir}"
+ classpath.refid="empty.classpath"/>
+ <mkdir dir="${installer.tmp}/${installer_vernum}/opensource"/>
+ <jar destfile="${installer.tmp}/${installer_vernum}/opensource/${installer.oss.jar}">
+ <manifest/>
+ </jar>
+
+ <jar destfile="${installer.dir}/${installer.jar}">
+ <manifest>
+ <attribute name="Main-Class" value="${installer.classname}"/>
+ </manifest>
+ <zipfileset dir="${product.dir}" prefix="${installer_vernum}"/>
+ <fileset dir="${installer.tmp}">
+ <include name="**.class"/>
+ <include name="${installer_vernum}/opensource/${installer.oss.jar}"/>
+ <include name="i18n*.properties"/>
+ <include name="EULA.txt"/>
+ </fileset>
+ </jar>
+ </target>
+ <target name="build-product-impl"
+ depends="jar-product, pack-core"/>
+ <target name="clean-impl" depends="props">
+ <echo message="Cleaning osbuild.dir excludes=saved-results" level="info"/>
+
+ <!-- Remove osbuild.dir now with exclude -->
+ <delete includeEmptyDirs="true">
+ <fileset dir="${osbuild.dir}"
+ defaultexcludes="false"
+ excludes="**/saved-results/**"/>
+ </delete>
+ </target>
+ <target name="clean-tests-impl" depends="props">
+ <delete dir="${tests.junit.classes.dir}"/>
+ <delete dir="${tests.dunit.classes.dir}"/>
+ <delete dir="${tests.battery.classes.dir}"/>
+ </target>
+ <target name="compile-tests-impl" depends="define-classpath-refids">
+ <compile-java src.dir="${tests.src.dir}/junit"
+ output.dir="${tests.junit.classes.dir}"
+ classpath.refid="tests.classpath"/>
+ <compile-java src.dir="${tests.src.dir}/dunit"
+ output.dir="${tests.dunit.classes.dir}"
+ classpath.refid="tests.classpath"/>
+ <compile-java src.dir="${tests.src.dir}/battery"
+ output.dir="${tests.battery.classes.dir}"
+ classpath.refid="tests.classpath"/>
+ <!-- Copy all bt, conf, inc, and props into osbuild.dir -->
+ <copy todir="${tests.battery.classes.dir}">
+ <fileset dir="${tests.src.dir}/battery">
+ <include name="**/*.bt"/>
+ <include name="**/*.conf"/>
+ <include name="**/*.inc"/>
+ <include name="**/*.properties"/>
+ <include name="**/*.props"/>
+ </fileset>
+ </copy>
+ </target>
+ <target name="execute-battery-impl"
+ depends="compile-tests, execute-battery-nobuild"/>
+ <target name="execute-battery-nobuild-impl"
+ depends="props, define-classpath-refids, clean-hydra-results">
+ <mkdir dir="${bt.result.dir}"/>
+
+ <!-- Execute a hydra test (single .conf file) -->
+ <conditional if="hydra.conf">
+ <property name="bt.file" location="${bt.result.dir}/exec_hydra.bt"/>
+ <echo file="${bt.file}" message="${hydra.conf}" level="info"/>
+ </conditional>
+
+ <echo message="Executing .bt file ${bt.file}" level="info"/>
+
+ <conditional if="local.conf">
+ <copy file="${local.conf}" tofile="${bt.result.dir}/local.conf"/>
+ </conditional>
+ <conditional if="mergeLogFiles">
+ <echo append="true"
+ file="${bt.result.dir}/local.conf"
+ message="hydra.log.LogPrms-mergeLogFiles = true;"
+ level="info"/>
+ </conditional>
+ <conditional unless="mergeLogFiles">
+ <conditional unless="local.conf">
+ <echo file="${bt.result.dir}/local.conf"
+ message="hydra.log.LogPrms-mergeLogFiles = onFailure;"
+ level="info"/>
+ </conditional>
+ </conditional>
+ <conditional if="bt.args">
+ <property name="extra.bt.args" value="${bt.args}"/>
+ </conditional>
+ <conditional unless="bt.args">
+ <property name="extra.bt.args" value=""/>
+ </conditional>
+ <conditional if="myenv.JPROBE_HOME">
+ <property name="jprobe.home" value="${myenv.JPROBE_HOME}"/>
+ </conditional>
+ <conditional unless="jprobe.home">
+ <property name="jprobe.home" value="/dummyjprobedir"/>
+ </conditional>
+ <property name="bt.log" location="${bt.result.dir}/batterytest.log"/>
+ <property name="oneliner.txt" location="${bt.result.dir}/oneliner.txt"/>
+ <property name="bt.nukeHungTest" value="${NukeHungTests}"/>
+ <property name="bt.numTimesToRun" value="1"/>
+
+ <parallel>
+ <sequential>
+ <java classname="batterytest.BatteryTest"
+ jvm="${testJVM}" fork="true"
+ dir="${bt.result.dir}" failonerror="false">
+ <classpath>
+ <pathelement location="${classes.dir}"/>
+ <pathelement location="${external.dir}/classes"/>
+ <pathelement location="${tests.battery.classes.dir}"/>
+ <pathelement location="${junit.dir}/junit.jar"/>
+ <path refid="src.classpath"/>
+ </classpath>
+
+ <env key="GEMFIRE" value="${external.dir}/product"/>
+ <env key="${library.path}" value="${hiddenlib.dir}"/>
+ <env key="PATH"
+ path="${product.dir}/bin;${hiddenlib.dir};${myenv.PATH}"/>
+ <sysproperty key="GEMFIRE" value="${external.dir}/product"/>
+ <sysproperty key="JPROBE" value="${jprobe.home}"/>
+
+ <sysproperty key="JTESTS" value="${external.dir}/classes"/>
+ <sysproperty key="EXTRA_JTESTS" value="${tests.battery.classes.dir}"/>
+ <sysproperty key="testFileName" value="${bt.file}"/>
+ <sysproperty key="resultDir" value="${bt.result.dir}"/>
+ <sysproperty key="numTimesToRun" value="${bt.numTimesToRun}"/>
+
+ <sysproperty key="nukeHungTest" value="${bt.nukeHungTest}"/>
+ <sysproperty key="useSSH" value="${useSSH}"/>
+
+ <arg line="${extra.bt.args}"/>
+ </java>
+ <!-- find the output and determine if we failed. -->
+ <loadfile property="bt.log.content" srcFile="${bt.log}"/>
+ <condition property="bt.test.failed">
+ <contains string="${bt.log.content}" substring="runbattery() returned false"/>
+ </condition>
+ <loadfile property="oneliner.txt.content" srcFile="${oneliner.txt}"/>
+ <echo message="${oneliner.txt.content}" level="info"/>
+ <if>
+ <istrue value="${bt.isdunit}"/>
+ <then>
+ <conditional if="bt.test.failed">
+ <property name="dunit.tests.failed" value="${bt.test.failed}"/>
+ <antcall target="dunit-list-failures"/>
+ </conditional>
+ </then>
+ <else>
+ <fail if="bt.test.failed"/>
+ </else>
+ </if>
+ </sequential>
+ <sequential>
+ <waitfor maxwait="30" maxwaitunit="second">
+ <available file="${bt.log}"/>
+ </waitfor>
+ <echo message="Started batterytest, see log ${bt.log}" level="info"/>
+ </sequential>
+ </parallel>
+ </target>
+ <target name="precheckin-impl"
+ depends="update-svn, clean, build-all, run-all-tests"/>
+ <target name="run-all-tests-impl"
+ depends="run-junit-tests, run-dunit-tests"/>
+ <target name="run-junit-tests-impl"
+ depends="props, -keep-going, define-test-groups">
+ <run-junit results="${tests.results.dir}/junit"/>
+ </target>
+ <target name="run-dunit-tests-impl"
+ depends="props, -keep-going,
+ define-classpath-refids, define-test-groups">
+ <delete dir="${tests.results.dir}/dunit"/>
+ <dunit-generate-config/>
+ <unitTest-battery type="dunit"
+ bt.file="${tests.results.dir}/dunit/dunit-tests.bt"
+ resultsDir="${tests.results.dir}"
+ skipHydraClean="true"/>
+ </target>
+ <target name="update-svn-impl" depends="props">
+ <delete file="${svn.logfile}" quiet="true"/>
+
+ <!-- failonerror set to false for svn update because it may actually
+ perform a lot of updates before failing, and we need to capture
+ those in .svn-history.log -->
+ <exec executable="svn" failonerror="false" output="${svn.logfile}">
+ <arg value="update"/>
+ </exec>
+
+ <exec executable="svn" append="true" output="${svn.logfile}">
+ <arg value="status"/>
+ </exec>
+
+ <antcall inheritAll="true" target="make-last-update"/>
+
+ <concat append="true" fixlastline="true" destfile="${svn.hist.logfile}" >
+==============================
+</concat> <!-- Leave the two lines above as is so they concat properly -->
+
+ <concat append="true" fixlastline="true" destfile="${svn.hist.logfile}">
+ <filelist dir="${basedir}" files="build-artifacts/build.number"/>
+ <filelist dir="${basedir}" files="${svn.logfile}"/>
+ </concat>
+
+ <echo message="Checking for update conflicts in ${svn.logfile}" level="info"/>
+
+ <exec executable="grep" resultproperty="grepExitStatus">
+ <arg value="^C "/>
+ <arg value="${svn.logfile}"/>
+ </exec>
+ <condition property="grepFailed">
+ <equals arg1="${grepExitStatus}" arg2="0"/>
+ </condition>
+
+ <fail if="grepFailed" message="SVN update conflicts detected."/>
+ </target>
+ <target name="usage-impl">
+ <java classname="org.apache.tools.ant.Main">
+ <arg value="-projecthelp"/>
+ <classpath>
+ <fileset dir="${ant.library.dir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </classpath>
+ </java>
+ </target>
+
+ <!-- Begin support target definitions -->
+ <target name="-keep-going" depends="props">
+ <keepgoing haltOnFailure="${haltOnFailure}"/>
+ </target>
+ <target depends="props" name="clean-hydra-results">
+ <if>
+ <istrue value="${skip.hydra.clean}"/>
+ <then>
+ </then>
+ <else>
+ <property location="${tests.results.dir}/battery" name="bt.result.dir"/>
+ <delete dir="${bt.result.dir}"/>
+ </else>
+ </if>
+ </target>
+ <target name="check-gemfire-dir"
+ depends="props, gemfire-dir-exists"
+ unless="gemfire.dir.exists">
+ <fail message="Directory "${gemfire.dir}" does not exist. Check your ${gemfire.dir} setting."/>
+ </target>
+ <target name="gemfire-dir-exists">
+ <available file="${gemfire.dir}"
+ property="gemfire.dir.exists"/>
+ </target>
+ <target name="fetch-dependencies" depends="props,check-gemfire-dir">
+ <copy todir="${hidden.dir}">
+ <fileset dir="${hydra.dir}/../hidden">
+ <include name="gemfireLicense.zip"/>
+ </fileset>
+ </copy>
+ <copy todir="${external.dir}">
+ <!-- Gemfire and license -->
+ <fileset dir="${gemfire.dir}">
+ <include name="product/lib/*.jar"/>
+ <include name="product/lib/*.properties"/>
+ <include name="hidden/**"/>
+ </fileset>
+
+ <!-- Hydra -->
+ <fileset dir="${hydra.dir}">
+ <include name="classes/com/**"/>
+ <include name="classes/admin/jmx/**"/>
+ <include name="classes/bsh/**"/>
+ <include name="classes/batterytest/**"/>
+ <include name="classes/bt/**"/>
+ <include name="classes/hydra*/**"/>
+ <include name="classes/lib/*.dll"/>
+ <include name="classes/util/**"/>
+ <include name="classes/perffmwk/**"/>
+ <include name="classes/junit.jar"/>
+ <include name="classes/diskReg/**"/>
+ <include name="classes/objects/**"/>
+ <include name="classes/query/**"/>
+ <include name="classes/resultsUtil/**"/>
+ <include name="classes/swarm/**"/>
+ </fileset>
+
+ <!-- DUnit -->
+ <fileset dir="${hydra.dir}">
+ <include name="classes/dunit/*.class"/>
+ <include name="classes/dunit/impl/*.class"/>
+ <include name="classes/dunit/impl/dunit.inc"/>
+ <include name="classes/dunit/impl/dunitN.inc"/>
+ <include name="classes/dunit/eclipse/*.class"/>
+ </fileset>
+ </copy>
+ </target>
+ <target name="make-last-update" unless="skipLastUpdate">
+ <property name="build.dir" value="${basedir}/build-artifacts"/>
+ <property name="last.update.file" value="${build.dir}/lastUpdate.txt"/>
+ <mkdir dir="${build.dir}"/>
+ <echo message="Creating new lastUpdate.txt file..." level="info"/>
+ <delete file="${last.update.file}" quiet="true"/>
+ <!-- Make Last Update File with SVN workspace -->
+ <if>
+ <available file=".svn" type="dir"/>
+ <then>
+ <echo level="info" message="Querying SVN Workspace Information" />
+ <svnSetting client="cli" dateformatter="MM/dd/yyyy HH:mm:ss z" id="svn.settings"/>
+ <!-- Get svn info of the SVN workspace -->
+ <svn refid="svn.settings">
+ <info target="${basedir}"/>
+ </svn>
+ <propertyregex property="source.branch"
+ input="${svn.info.url}"
+ regexp="^https\:\/\/svn\.gemstone\.com\/repos\/"
+ replace=""
+ casesensitive="false" />
+
+ <!-- Create LastUpdate Property File -->
+ <propertyfile comment="Information about an SVN Checkout" file="${last.update.file}">
+ <entry key="source.branch" value="${source.branch}"/>
+ <entry key="source.date" value="${svn.info.lastDate}"/>
+ <entry key="source.revision" value="${svn.info.lastRev}"/>
+ </propertyfile>
+ </then>
+ <else>
+ <property name="source.branch" value="UNKNOWN"/>
+ <property name="source.date" value="UNKNOWN"/>
+ <property name="source.revision" value="UNKNOWN"/>
+ <property name="build.number" value="DEV"/>
+ </else>
+ </if>
+
+ <!-- The svn revision number now becomes the build.number -->
+ <property file="${last.update.file}"/>
+ <propertyfile comment="Build Number File" file="${build.dir}/build.number">
+ <entry key="build.number" value="${source.revision}"/>
+ </propertyfile>
+
+ <property file="${build.dir}/build.number"/>
+ <echo message=""/>
+ <echo message="========================================="/>
+ <echo message="Version: ${product.version} ${user.name} ${build.number}"/>
+ <echo message="Source-branch: ${source.branch}"/>
+ <echo message="Source-Date: ${source.date}"/>
+ <echo message="Source-Svn-Revision: ${source.revision}"/>
+ <echo message="========================================="/>
+ </target>
+
+ <target name="props" unless="props.already.done">
+ <property name="props.already.done" value="flag to prevent repetition"/>
+
+ <property name="testJVM" value="${default.testVM}/bin/java"/>
+
+ <condition property="library.path" value="DYLD_LIBRARY_PATH">
+ <os family="mac"/>
+ </condition>
+
+ <condition property="library.path" value="LD_LIBRARY_PATH">
+ <not><os family="mac"/></not>
+ </condition>
+
+ <exec executable="bash" outputproperty="host.name" failonerror="true" failifexecutionfails="true">
+ <arg line="-c hostname"/>
+ </exec>
+
+ <echo message="osbuild.dir is ${osbuild.dir}" level="info"/>
+ <echo message="Running on ${host.name}" level="info"/>
+
+ <!-- Do not allow build artifacts to be place on the filer -->
+ <fail message="Build artifacts cannot reside on the filer (${osbuild.dir}). Please use a build properties file">
+ <condition>
+ <contains string="${osbuild.dir}" substring="shared_build"
+ casesensitive="false"/>
+ </condition>
+ </fail>
+
+ <mkdir dir="${osbuild.dir}"/>
+
+ <!-- If a "last update" file doesn't exist, then create one -->
+ <available file="${build.dir}/${last.update.file}"
+ property="last.update.exists"/>
+
+ <conditional unless="last.update.exists">
+ <echo message="Updating lastUpdate.txt as it doesn't exist..."
+ level="info"/>
+ <antcall target="make-last-update"/>
+ <property name="skipLastUpdate" value="true"/>
+ </conditional>
+
+ <!-- If svn was manually run then update lastUpdate.txt and build.number -->
+ <uptodate property="makelastupdate.Required"
+ srcfile="${last.update.file}"
+ targetfile="${basedir}/.svn/entries"/>
+
+ <conditional if="makelastupdate.Required">
+ <antcall target="make-last-update"/>
+ <property name="skipLastUpdate" value="true"/>
+ </conditional>
+ </target>
+
+ <!-- Begin macrodef definitions -->
+ <macrodef name="compile-java">
+ <attribute name="src.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="classpath.refid"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <javac executable="${javac.primary}/bin/javac"
+ fork="yes"
+ memoryMaximumSize="${javac.mmx}"
+ debug="${javac.debug}"
+ deprecation="${javac.deprecation}"
+ destdir="@{output.dir}"
+ includeAntRuntime="false"
+ nowarn="off" optimize="off" encoding="UTF-8" target="${javac.target}">
+ <src path="@{src.dir}"/>
+ <include name="**/*.java"/>
+ <classpath>
+ <path refid="@{classpath.refid}"/>
+ </classpath>
+ </javac>
+ </sequential>
+ </macrodef>
+ <macrodef name="dunit-generate-config">
+ <attribute name="dunitOutDir" default="${tests.results.dir}/dunit"/>
+ <attribute name="dunit.testlist" default="${dunit.testlist}"/>
+ <attribute name="dunit.classes.dir" default="${tests.dunit.classes.dir}"/>
+ <attribute name="extra-classpath-ref" default="empty.classpath"/>
+ <sequential>
+ <mkdir dir="@{dunitOutDir}"/>
+
+ <conditional if="myenv.JPROBE_HOME">
+ <property name="jprobe.home" value="${myenv.JPROBE_HOME}"/>
+ </conditional>
+ <conditional unless="jprobe.home">
+ <property name="jprobe.home" value="/dummyjprobedir"/>
+ </conditional>
+
+ <echo message="Running dunit tests in @{dunitOutDir}..." level="info"/>
+
+ <!-- Load the DUnit config task. -->
+ <taskdef classname="dunit.impl.DUnitConfigAntTask" name="dunitconfig">
+ <classpath>
+ <pathelement location="${external.dir}/product/lib/gemfire.jar"/>
+ <pathelement location="${external.dir}/classes"/>
+ </classpath>
+
+ </taskdef>
+
+ <property name="dunitconfig.classes.dir" value="@{dunit.classes.dir}"/>
+ <property name="dunit.extra.product.jar" value=""/>
+
+ <dunitconfig btFile="@{dunitOutDir}/dunit-tests.bt"
+ confFile="@{dunitOutDir}/dunit-tests.conf" debugJavaGroups="false"
+ includeFile="${dunit.inc.file}"
+ logLevel="${logLevel}"
+ dunitSites="${dunitSites}"
+ systemCount="2"
+ verbose="true"
+ useIPv6="${useIPv6}"
+ extraVMArgs="-ea -Xms125m -Xmx250m ${dunit-jvm-args} -Dgemfire.DEFAULT_MAX_OPLOG_SIZE=10000000 -Dp2p.defaultConcurrencyLevel=6 -DBridgeServer.SELECTOR=false -DBridgeServer.SELECTOR_POOL_SIZE=10 -DDUNIT.MAX_PUTTERS=100 -DDUNIT.MAX_PUT_OPS=50000 -DDUNIT.PUT_SIZE=1 -DDUNIT.PUT_TIMEOUT=10000 -DBridgeServer.MAX_INCOMING_DATA=-1 -DBridgeServer.MAX_INCOMING_MSGS=-1 -Dgemfire.disable-event-old-value=false -Dgemfire.enable-time-statistics=true -Dgemfire.ack-wait-threshold=60 -DJUnitTestSuite.maxRunSecs=${junit.timeout} -Dack-threshold-exception=false -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y -DBridgeServer.handShakeTimeout=3000 -Dgemfire.statsDisabled=false
+ -DDistributionManager.DISCONNECT_WAIT=20000 -Dgemfire.disallowMcastDefaults=true -Dgf.ldap.server=ldap -Dgf.ldap.basedn=ou=ldapTesting,dc=pune,dc=gemstone,dc=com" >
+
+ <extraClientClassPath>
+ <pathelement location="${classes.dir}"/>
+ <pathelement location="${tests.dunit.classes.dir}"/>
+ <pathelement location="${external.dir}/classes"/>
+ <pathelement location="${ant.home}/lib/ant.jar"/>
+ <pathelement location="${ant.home}/lib/ant-junit.jar"/>
+ <pathelement location="${junit.dir}/junit.jar"/>
+ <path refid="src.classpath"/>
+ <path refid="@{extra-classpath-ref}"/>
+ </extraClientClassPath>
+
+ <tests dir="${dunitconfig.classes.dir}">
+ <patternset refid="@{dunit.testlist}"/>
+ </tests>
+ </dunitconfig>
+ </sequential>
+ </macrodef>
+ <macrodef name="run-junit">
+ <attribute name="testGroup" default="${junit.testlist}"/>
+ <attribute name="results" default="NOT_SET"/>
+ <attribute name="extra-classpath-ref" default="empty.classpath"/>
+ <attribute name="suite" default="junit"/>
+
+ <attribute name="jvm" default="${testJVM}"/>
+ <attribute name="junitTestsDir" default="${tests.junit.classes.dir}"/>
+ <attribute name="dprop" default="${d32prop}"/>
+ <attribute name="ld.library.dir"
+ default="${product.library.dir}${path.separator}${hiddenlib.dir}"/>
+ <attribute name="extra.jtests.dir" default="NOT_SET"/>
+
+ <sequential>
+ <delete dir="@{results}" quiet="true"/>
+ <mkdir dir="@{results}/failures"/>
+ <mkdir dir="@{results}/xml-reports"/>
+ <!-- check for empty fileset -->
+ <fileset dir="@{junitTestsDir}" id="@{suite}.fileset">
+ <patternset refid="@{testGroup}"/>
+ </fileset>
+ <pathconvert targetos="unix" refid="@{suite}.fileset"
+ property="@{suite}.fileset.notempty" setonempty="false"/>
+ <fail message="Empty testGroup for @{suite}, @{testgroup}. You may have mistyped your testcase."
+ unless="@{suite}.fileset.notempty"/>
+ <taskdef classname="com.gemstone.gemfire.internal.AvailablePortTask"
+ classpath="${product.dir}/lib/gemfire.jar"
+ name="available-port"/>
+ <available-port portProperty="jg.port" protocol="socket"/>
+
+ <echo file="@{results}/gemfire.properties" level="info">
+ mcast-port=${jg.port}
+ log-level=${logLevel}
+ </echo>
+
+ <echo message="Running @{suite} tests ... " level="info"/>
+ <junit dir="@{results}"
+ failureProperty="@{suite}.unit.tests.failed"
+ haltOnFailure="false" jvm="bash"
+ includeantruntime="false" tempdir="@{results}">
+ <jvmarg value="--norc"/>
+ <assertions> <enable/> </assertions>
+ <jvmarg value="${tests.bin.dir}/runtest.sh"/>
+ <jvmarg value="${product.dir}"/>
+ <jvmarg value="@{results}/failures"/>
+ <jvmarg value="@{jvm}"/>
+ <classpath>
+ <pathelement location="${tests.out.dir}/classes/junit.jar"/>
+ <pathelement location="${product.dir}/lib/gemfire.jar"/>
+ <pathelement location="${product.dir}/lib/mail.jar"/>
+ <pathelement location="${product.dir}/lib/gfSecurityImpl.jar"/>
+ <pathelement location="${ant.home}/lib/ant-junit.jar"/>
+ <pathelement location="${ant.home}/lib/ant.jar"/>
+ <pathelement location="${tests.lib.dir}/XMLJUnitFormatterTerse.jar"/>
+ <pathelement location="${tests.lib.dir}/derby.jar"/>
+ <pathelement location="${tests.lib.dir}/cache.xml"/>
+ <pathelement location="${hiddenlib.dir}/license.jar"/>
+ <pathelement location="${tests.out.dir}/classes"/>
+ <pathelement location="${product.dir}/examples/dist/classes"/>
+ <pathelement location="${product.dir}/lib/antlr.jar"/>
+ <pathelement location="@{results}"/>
+ <path refid="@{extra-classpath-ref}"/>
+ </classpath>
+ <env key="GEMFIRE" value="${product.dir}"/>
+ <env key="QUERYXMLFILE" value="${tests.lib.dir}/cachequery.xml"/>
+ <env key="JTAXMLFILE" value="${tests.lib.dir}/cachejta.xml"/>
+ <env key="${library.path}" value="@{ld.library.dir}"/>
+ <env key="PATH" value="${product.dir}/bin${path.separator}${myenv.PATH}"/>
+ <sysproperty key="GEMFIRE" value="${product.dir}"/>
+ <sysproperty key="QUERYXMLFILE" value="${tests.lib.dir}/cachequery.xml"/>
+ <sysproperty key="JTAXMLFILE" value="${tests.lib.dir}/cachejta.xml"/>
+ <sysproperty key="EXTRA_JTESTS" value="@{extra.jtests.dir}"/>
+ <sysproperty key="TESTDIR" value="${tests.src.dir}"/>
+ <sysproperty key="DistributionManager.VERBOSE" value="true"/>
+ <sysproperty key="gemfire.DEFAULT_MAX_OPLOG_SIZE" value="10000000"/>
+ <sysproperty key="gemfire.disallowMcastDefaults" value="true"/>
+ <sysproperty key="gemfire.debug" value="${gemfire.debug}"/>
+ <sysproperty key="java.library.path" value="${product.library.dir}${path.separator}${hiddenlib.dir}${path.separator}${java.library.path}"/>
+
+ <jvmarg value="-Xmx256M"/>
+ <jvmarg value="@{dprop}"/>
+ <jvmarg line="${dunit-extra-jvm-args}"/>
+
+ <!-- we set usefile to false because the runtest.sh takes care of
+ creating the output file -->
+ <formatter type="plain" usefile="false"/>
+ <formatter classname="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatterTerse" extension=".xml"/>
+ <!-- Use the above batchtest if the 'testcase' system property is defined, otherwise use the batchtest below. -->
+ <batchtest fork="yes" todir="@{results}/xml-reports">
+ <fileset dir="@{junitTestsDir}">
+ <patternset refid="@{testGroup}"/>
+ </fileset>
+ </batchtest>
+ </junit>
+
+ <available file="@{results}/com.gemstone.gemfire.admin.internal.BindDistributedSystemTest.txt" property="@{suite}.txtFile.exists"/>
+ <conditional if="@{suite}.txtFile.exists">
+ <move file="@{results}/com.gemstone.gemfire.admin.internal.BindDistributedSystemTest.txt" tofile="@{results}/com.gemstone.gemfire.admin.internal.BindDistributedSystemTest" failonerror="false"/>
+ </conditional>
+
+ <conditional if="@{suite}.unit.tests.failed">
+ <echo message="FAILED: @{suite} tests failures in @{results}/failures" level="error"/>
+ <echo append="true" file="@{results}/TestFailures" message="FAILED: @{suite} tests failures in @{results}/failures" level="error"/>
+ <fail message="FAILED: One or more @{suite} tests failed"/>
+ </conditional>
+ <conditional unless="@{suite}.unit.tests.failed">
+ <echo level="info" message="Info: all @{suite} tests ran successfully."/>
+ <delete dir="@{results}/failures" quiet="true"/>
+ </conditional>
+ </sequential>
+ </macrodef>
+ <macrodef name="unitTest-battery">
+ <attribute name="resultsDir"/>
+ <attribute name="jvm" default="${testJVM}"/>
+ <attribute name="bt.file"/>
+ <attribute name="type"/>
+ <attribute name="dprop" default="${d32prop}"/>
+ <!-- Needed because dunit-tests.bt is generated within the results directory -->
+ <attribute name="skipHydraClean" default=""/>
+ <attribute name="extra.dtests.dir" default=""/>
+ <attribute name="threshold.dunit" default="${default.threshold}"/>
+ <sequential>
+ <if>
+ <and>
+ <equals arg1="${os.name}" arg2="SunOS"/>
+ <equals arg1="@{dprop}" arg2="${d64prop}"/>
+ </and>
+ <then>
+ <!--touch the file so the append succeeds.-->
+ <mkdir dir="@{resultsDir}/@{type}"/>
+ <touch file="@{resultsDir}/@{type}/local.conf"/>
+ <echo append="true"
+ file="@{resultsDir}/@{type}/local.conf" level="info">
+hydra.VmPrms-type = d64;
+ </echo>
+ </then>
+ </if>
+ <antcall target="execute-battery-nobuild">
+ <param name="skip.hydra.clean" value="@{skipHydraClean}"/>
+ <param name="testJVM" value="@{jvm}"/>
+ <param name="bt.file" value="@{bt.file}"/>
+ <param name="bt.result.dir" value="@{resultsDir}/@{type}"/>
+ <param name="bt.nukeHungTest" value="${NukeHungTests}"/>
+ <param name="unittest.type" value="@{type}"/>
+ <param name="extra.jtests.dir" value="@{extra.dtests.dir}"/>
+ <param name="threshold.dunit" value="@{threshold.dunit}"/>
+ </antcall>
+ </sequential>
+ </macrodef>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/buildfiles/impl.xml
----------------------------------------------------------------------
diff --git a/databrowser/buildfiles/impl.xml b/databrowser/buildfiles/impl.xml
new file mode 100644
index 0000000..db4069f
--- /dev/null
+++ b/databrowser/buildfiles/impl.xml
@@ -0,0 +1,267 @@
+<project name="impl">
+ <target name="compile-src"
+ depends="define-classpath-refids, fetch-dependencies, pack-lib">
+ <compile-java src.dir="${src.dir}"
+ output.dir="${classes.dir}"
+ classpath.refid="src.classpath"/>
+ </target>
+ <target name="create-version-file" depends="props">
+ <tstamp>
+ <format pattern="yyyy-MM-dd-hh-mm-ss-SSS" property="sys.build.time"/>
+ <format pattern="MM/dd/yyyy HH:mm:ss z" property="build.time"/>
+ </tstamp>
+
+ <!-- load property file to define source.date property -->
+ <property file="${last.update.file}" prefix="version."/>
+ <property file="${build.dir}/build.number" prefix="version."/>
+ <property file="${external.dir}/product/lib/GemFireVersion.properties" prefix="version."/>
+ <mkdir dir="${classes.dir}/com/gemstone/gemfire/tools/utilities"/>
+ <property name="version.resource.file" value="${classes.dir}/com/gemstone/gemfire/tools/utilities/${product.version.filename}"/>
+ <delete file="${version.resource.file}" quiet="true"/>
+ <propertyfile file="${version.resource.file}" comment="Properties that report the ${product.short.name} version. Do not modify these properties.">
+ <entry key="Product-Name" value="${product.long.name}"/>
+ <entry key="${product.short.name}-Product-Version"
+ value="${product.version}"/>
+ <entry key="Gemfire-Jar-Version" value="${version.gemfire.jar}"/>
+ <entry key="Build-Id" value="${user.name} ${version.build.number}"/>
+ <entry key="Build-Date" value="${build.time}"/>
+ <entry key="Build-Platform" value="${gf.os}"/>
+ <entry key="Build-Java-Version" value="${javac.primary.version}"/>
+ <entry key="Source-Date" value="${version.source.date}"/>
+ <entry key="Source-Revision" value="${version.source.revision}"/>
+ <entry key="Source-Repository" value="${version.source.branch}"/>
+ </propertyfile>
+ </target>
+ <target name="define-test-groups">
+ <conditional if="dunit.testcase">
+ <property name="dunit.testlist" value="dunit-custom-tests"/>
+ </conditional>
+ <conditional unless="dunit.testcase">
+ <property name="dunit.testlist" value="dunit-default-tests"/>
+ </conditional>
+ <conditional if="junit.testcase">
+ <property name="junit.testlist" value="junit-custom-tests"/>
+ </conditional>
+ <conditional unless="junit.testcase">
+ <property name="junit.testlist" value="junit-default-tests"/>
+ </conditional>
+ <!-- custom junit -->
+ <patternset id="junit-custom-tests">
+ <include name="${junit.testcase}"/>
+ <exclude name="${junit.excludes}" if="junit.excludes"/>
+ </patternset>
+
+ <!-- standard junit -->
+ <patternset id="junit-default-tests">
+ <include name="**/*Test.class"/>
+ </patternset>
+
+ <!-- custom dunit -->
+ <patternset id="dunit-custom-tests">
+ <include name="${dunit.testcase}"/>
+ <exclude name="${dunit.excludes}" if="dunit.excludes"/>
+ </patternset>
+
+ <!-- standard dunit -->
+ <patternset id="dunit-default-tests">
+ <include name="**/*Test.class"/>
+ </patternset>
+
+ </target>
+ <target name="define-classpath-refids" depends="props">
+ <path id="empty.classpath"/>
+ <path id="gemfire.lib.jars">
+ <pathelement location="${external.dir}/product/lib/gemfire.jar"/>
+ <pathelement location="${external.dir}/product/lib/mx4j.jar"/>
+ <pathelement location="${external.dir}/product/lib/mx4j-remote.jar"/>
+ <pathelement location="${external.dir}/product/lib/mx4j-tools.jar"/>
+ <pathelement location="${external.dir}/product/lib/antlr.jar"/>
+ <pathelement location="${external.dir}/product/lib/commons-logging.jar"/>
+ <pathelement location="${external.dir}/product/lib/commons-modeler-2.0.jar"/>
+ <pathelement location="${external.dir}/product/lib/gfSecurityImpl.jar"/>
+ <pathelement location="${external.dir}/product/lib/log4j.jar"/>
+ </path>
+ <!-- use Linux as the base copy -->
+ <path id="eclipse.plugins.general">
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/org.eclipse.swt_3.4.1.v3449c.jar"/>
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/org.eclipse.jface_3.4.1.M20080827-2000.jar"/>
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/org.eclipse.core.commands_3.4.0.I20080509-2000.jar"/>
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/org.eclipse.core.jobs_3.4.0.v20080512.jar"/>
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar"/>
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar"/>
+ </path>
+ <property name="swt.x86.Windows_NT.jar"
+ value="org.eclipse.swt.win32.win32.x86_3.4.1.v3449c.jar"/>
+ <property name="swt.x86_64.Windows_NT.jar"
+ value="org.eclipse.swt.win32.win32.x86_64_3.4.1.v3449c.jar"/>
+ <property name="swt.x86.linux.jar"
+ value="org.eclipse.swt.gtk.linux.x86_3.4.1.v3449c.jar"/>
+ <property name="swt.x86_64.linux.jar"
+ value="org.eclipse.swt.gtk.linux.x86_64_3.4.1.v3449c.jar"/>
+ <property name="swt.x86_64.linux.jar"
+ value="org.eclipse.swt.gtk.linux.x86_64_3.4.1.v3449c.jar"/>
+ <property name="swt.x86.macosx.jar"
+ value="org.eclipse.swt.carbon.macosx_3.4.1.v3449c.jar"/>
+ <path id="eclipse.plugins.x86.Windows_NT">
+ <pathelement location="${eclipse.dir.x86.Windows_NT}/plugins/${swt.x86.Windows_NT.jar}"/>
+ </path>
+ <path id="eclipse.plugins.x86_64.Windows_NT">
+ <pathelement location="${eclipse.dir.x86_64.Windows_NT}/plugins/${swt.x86_64.Windows_NT.jar}"/>
+ </path>
+ <path id="eclipse.plugins.x86.linux">
+ <pathelement location="${eclipse.dir.x86.linux}/plugins/${swt.x86.linux.jar}"/>
+ </path>
+ <path id="eclipse.plugins.x86_64.linux">
+ <pathelement location="${eclipse.dir.x86_64.linux}/plugins/${swt.x86_64.linux.jar}"/>
+ </path>
+ <!-- ordinarily eclipse.dir.x86.macosx is not set so this is a noop.
+ It is retained to allow debugging on macbooks, not for releases.-->
+ <path id="eclipse.plugins.x86.macosx">
+ <pathelement location="${eclipse.dir.x86.macosx}/plugins/${swt.x86.macosx.jar}"/>
+ </path>
+ <path id="eclipse.plugins">
+ <path refid="eclipse.plugins.general"/>
+ <path refid="eclipse.plugins.x86.linux"/>
+ <path refid="eclipse.plugins.x86_64.linux"/>
+ <path refid="eclipse.plugins.x86.Windows_NT"/>
+ <path refid="eclipse.plugins.x86_64.Windows_NT"/>
+ <!-- Path to macosx plugin causes build failure since eclipse.dir.x86.macosx is not defined -->
+ <!--<path refid="eclipse.plugins.x86.macosx"/>-->
+ </path>
+ <path id="src.classpath">
+ <fileset dir="${product.dir}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${external.dir}/product/lib">
+ <include name="antlr.jar"/>
+ <include name="gemfire.jar"/>
+ </fileset>
+ </path>
+ <path id="tests.classpath">
+ <path refid="src.classpath"/>
+ <pathelement location="${tests.junit.classes.dir}"/>
+ <pathelement location="${tests.dunit.classes.dir}"/>
+ <pathelement location="${tests.battery.classes.dir}"/>
+ <pathelement location="${external.dir}/classes"/>
+ <pathelement location="${external.dir}/classes/junit.jar"/>
+ </path>
+ </target>
+ <target name="create-about-file"
+ depends="create-version-file">
+ <concat destfile="${classes.dir}/resources/${product.about.resource}">
+${product.long.name} version ${product.version} ${user.name} ${version.build.number}
+Built on ${build.time} with Java Version ${javac.primary.version}
+Compiled with Gemfire Version ${version.gemfire.jar}
+
+</concat>
+ </target>
+
+ <target name="jar-product"
+ depends="compile-src, create-about-file">
+ <copy todir="${classes.dir}">
+ <fileset dir="${basedir}">
+ <include name="resources/**"/>
+ </fileset>
+ </copy>
+ <manifest file="${product.manifest}">
+ <attribute name="Manifest-Version" value="1.0"/>
+ <attribute name="Created-By" value="GemStone Systems, Inc."/>
+ </manifest>
+ <jar jarfile="${product.dir}/lib/${product.jar.name}"
+ manifest="${product.manifest}">
+ <fileset dir="${classes.dir}">
+ <include name="**" />
+ </fileset>
+ </jar>
+ </target>
+ <target name="pack-core" depends="pack-bin, pack-docs">
+ <!-- Add open source license file to product-->
+ <copy todir="${product.dir}"
+ file="${basedir}/release/3rdparty_licenses/open_source_licenses-VMware_vFabric_GemFire_DataBrowser_7.0.1.txt"/>
+ </target>
+ <target name="pack-docs" depends="props">
+ <mkdir dir="${product.dir}/docs"/>
+ <copy todir="${product.dir}/docs"
+ file="${basedir}/release/docfiles/index.html"/>
+ <copy todir="${product.dir}/docs"
+ file="${basedir}/release/docfiles/VMwareLogo.png"/>
+ </target>
+ <target name="pack-lib" depends="define-classpath-refids">
+ <mkdir dir="${product.dir}/lib"/>
+ <copy todir="${product.dir}/lib">
+ <path refid="eclipse.plugins"/>
+ <mapper type="flatten"/>
+ </copy>
+ </target>
+ <target name="pack-bin" depends="props">
+ <mkdir dir="${product.dir}/bin"/>
+ <copy todir="${product.dir}/bin">
+ <fileset dir="${basedir}/release/scripts">
+ <include name="${script.name}"/>
+ <include name="${script.name}.bat"/>
+ </fileset>
+ </copy>
+ <fileset id="product.jars.refid" dir="${product.dir}/lib">
+ <include name="*.jar"/>
+ <exclude name="${product.jar.name}"/>
+ <exclude name="*win32*"/>
+ <exclude name="*gtk*"/>
+ <exclude name="*macosx*"/>
+ </fileset>
+ <pathconvert property="script.windows.jars"
+ pathsep=";%databrowser%\lib\" dirsep="\"
+ refid="product.jars.refid">
+ <mapper type="flatten"/>
+ </pathconvert>
+ <pathconvert property="script.unix.jars"
+ pathsep=":${databrowser}/lib/" dirsep="/"
+ refid="product.jars.refid">
+ <mapper type="flatten"/>
+ </pathconvert>
+
+ <!-- unix script -->
+ <replace file="${product.dir}/bin/${script.name}"
+ token="__MAIN_CLASS__"
+ value="${product.main-class}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}"
+ token="__JVMARCH_CLASS__"
+ value="${product.jvmarch-class}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}"
+ token="__JAR_NAME__"
+ value="${product.jar.name}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}"
+ token="__UNIX_JARS__"
+ value="${script.unix.jars}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}"
+ token="__SWT_x86.linux__"
+ value="${swt.x86.linux.jar}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}"
+ token="__SWT_x86_64.linux__"
+ value="${swt.x86_64.linux.jar}" summary="yes"/>
+
+ <!-- windows script -->
+ <replace file="${product.dir}/bin/${script.name}.bat"
+ token="__MAIN_CLASS__"
+ value="${product.main-class}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}.bat"
+ token="__JVMARCH_CLASS__"
+ value="${product.jvmarch-class}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}.bat"
+ token="__JAR_NAME__"
+ value="${product.jar.name}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}.bat"
+ token="__Windows_NT_JARS__"
+ value="${script.windows.jars}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}.bat"
+ token="__SWT_x86.Windows_NT__"
+ value="${swt.x86.Windows_NT.jar}" summary="yes"/>
+ <replace file="${product.dir}/bin/${script.name}.bat"
+ token="__SWT_x86_64.Windows_NT__"
+ value="${swt.x86_64.Windows_NT.jar}" summary="yes"/>
+ <chmod perm="a+x">
+ <fileset dir="${product.dir}/bin">
+ <include name="*"/>
+ </fileset>
+ </chmod>
+ </target>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/buildfiles/utilities.xml
----------------------------------------------------------------------
diff --git a/databrowser/buildfiles/utilities.xml b/databrowser/buildfiles/utilities.xml
new file mode 100644
index 0000000..1187e47
--- /dev/null
+++ b/databrowser/buildfiles/utilities.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="utilities">
+ <description>
+ The Utilities Ant XML build script file defines reusable and useful utility functions/tasks for use inside other
+ GemFire build targets.
+ </description>
+
+ <path id="path.svnant">
+ <pathelement location="${svnant.dir}/lib/svnant.jar"/>
+ <pathelement location="${svnant.dir}/lib/svnClientAdapter.jar"/>
+ <pathelement location="${svnant.dir}/lib/svnkit-javahl16-1.7.5-v1.jar"/>
+ <pathelement location="${svnant.dir}/lib/svnkit-1.7.5-v1.jar"/>
+ <pathelement location="${svnant.dir}/lib/sqljet-1.1.4.jar"/>
+ <pathelement location="${svnant.dir}/lib/svnkit-cli-1.7.5-v1.jar"/>
+ <pathelement location="${svnant.dir}/lib/jna-3.4.0.jar"/>
+ <pathelement location="${svnant.dir}/lib/antlr-runtime-3.4.jar"/>
+ <pathelement location="${svnant.dir}/lib/sequence-library-1.0.2.jar"/>
+ </path>
+
+ <typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
+ classpathref="path.svnant" />
+
+ <condition property="antcontrib.taskfile" value="net/sf/antcontrib/antlib.xml">
+ <antversion atleast="1.8"/>
+ </condition>
+
+ <!-- If antcontrib.taskfile is not set -->
+ <property name="antcontrib.taskfile" value="net/sf/antcontrib/antcontrib.properties"/>
+
+ <taskdef resource="${antcontrib.taskfile}" classpath="${ant-contrib.jar}"/>
+
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/qa/DataBrowser Test Spec.xls
----------------------------------------------------------------------
diff --git a/databrowser/qa/DataBrowser Test Spec.xls b/databrowser/qa/DataBrowser Test Spec.xls
new file mode 100644
index 0000000..89addb4
Binary files /dev/null and b/databrowser/qa/DataBrowser Test Spec.xls differ
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e2ccf3da/databrowser/release/3rdparty_licenses/ICU4J_license.txt
----------------------------------------------------------------------
diff --git a/databrowser/release/3rdparty_licenses/ICU4J_license.txt b/databrowser/release/3rdparty_licenses/ICU4J_license.txt
new file mode 100644
index 0000000..4be5636
--- /dev/null
+++ b/databrowser/release/3rdparty_licenses/ICU4J_license.txt
@@ -0,0 +1,21 @@
+===============================================================================
+ICU4J license - ICU4J 1.3.1 and later
+http://source.icu-project.org/repos/icu/icu/trunk/license.html
+===============================================================================
+
+COPYRIGHT AND PERMISSION NOTICE
+
+
+Copyright (c) 1995-2006 International Business Machines Corporation and others
+
+
+All rights reserved.
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.