diff --git a/.gitignore b/.gitignore index fdca023e7..b3de3b279 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,8 @@ utilities/solrtester/.work utilities/rdbmigration/.work utilities/sdb_to_tdb/.work +**/.idea **/*.iml +**/target +**/overlays diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..d7bb5a4f4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: java +sudo: false + +env: + # Give Maven 1GB of memory to work with + - MAVEN_OPTS=-Xmx1024M + +install: + - "echo 'Skipping install stage, dependencies will be downloaded during build and test stages.'" + +script: + - "mvn clean package -Dmaven.test.skip=false" diff --git a/README.md b/README.md index 28066ec39..6b3234a1e 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Vitro is an integrated ontology editor and semantic web application. Vitro is a Java web application that runs in a Tomcat servlet container. With Vitro, you can: + * Create or load ontologies in OWL format * Edit instances and relationships * Build a public web site to display your data @@ -14,5 +15,5 @@ With Vitro, you can: Vitro was originally developed at Cornell University, and is used as the core of the popular research and scholarship portal, [VIVO](http://vivoweb.org) . -For more information, contact the [VIVO community](http://vivoweb.org/contact). +For more information, contact the [VIVO community](http://www.vivoweb.org/support/user-feedback). diff --git a/api/pom.xml b/api/pom.xml new file mode 100644 index 000000000..90c64621d --- /dev/null +++ b/api/pom.xml @@ -0,0 +1,78 @@ + + + 4.0.0 + + org.vivoweb + vitro-api + 1.9.0-SNAPSHOT + jar + + + org.vivoweb + vitro-project + 1.9.0-SNAPSHOT + .. + + + Vitro API + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.6 + + + + test-jar + + + + + + + + + + org.vivoweb + vitro-dependencies + 1.9.0-SNAPSHOT + pom + + + javax.servlet + servlet-api + 2.5 + provided + + + javax.servlet + jsp-api + 2.0 + provided + + + + junit + junit + 4.11 + test + + + org.easymock + easymock + 3.2 + test + + + org.hamcrest + hamcrest-all + 1.3 + test + + + diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/ButtonForm.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/ButtonForm.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/ButtonForm.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/ButtonForm.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/Checkbox.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/Checkbox.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/Checkbox.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/Checkbox.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/DynamicField.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/DynamicField.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/DynamicField.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/DynamicField.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/DynamicFieldRow.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/DynamicFieldRow.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/DynamicFieldRow.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/DynamicFieldRow.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/EditProcessObject.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/EditProcessObject.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/EditProcessObject.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/EditProcessObject.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/FieldHelp.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/FieldHelp.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/FieldHelp.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/FieldHelp.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/FormObject.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/FormObject.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/FormObject.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/FormObject.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/LoginStatusBean.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/LoginStatusBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/LoginStatusBean.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/LoginStatusBean.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/beans/Option.java b/api/src/main/java/edu/cornell/mannlib/vedit/beans/Option.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/beans/Option.java rename to api/src/main/java/edu/cornell/mannlib/vedit/beans/Option.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/controller/BaseEditController.java b/api/src/main/java/edu/cornell/mannlib/vedit/controller/BaseEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/controller/BaseEditController.java rename to api/src/main/java/edu/cornell/mannlib/vedit/controller/BaseEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/controller/EditFrontController.java b/api/src/main/java/edu/cornell/mannlib/vedit/controller/EditFrontController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/controller/EditFrontController.java rename to api/src/main/java/edu/cornell/mannlib/vedit/controller/EditFrontController.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/controller/OperationController.java b/api/src/main/java/edu/cornell/mannlib/vedit/controller/OperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/controller/OperationController.java rename to api/src/main/java/edu/cornell/mannlib/vedit/controller/OperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/forwarder/PageForwarder.java b/api/src/main/java/edu/cornell/mannlib/vedit/forwarder/PageForwarder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/forwarder/PageForwarder.java rename to api/src/main/java/edu/cornell/mannlib/vedit/forwarder/PageForwarder.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/forwarder/impl/UrlForwarder.java b/api/src/main/java/edu/cornell/mannlib/vedit/forwarder/impl/UrlForwarder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/forwarder/impl/UrlForwarder.java rename to api/src/main/java/edu/cornell/mannlib/vedit/forwarder/impl/UrlForwarder.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/listener/ChangeListener.java b/api/src/main/java/edu/cornell/mannlib/vedit/listener/ChangeListener.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/listener/ChangeListener.java rename to api/src/main/java/edu/cornell/mannlib/vedit/listener/ChangeListener.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/listener/EditPreProcessor.java b/api/src/main/java/edu/cornell/mannlib/vedit/listener/EditPreProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/listener/EditPreProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vedit/listener/EditPreProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/tags/DynamicFieldsTag.java b/api/src/main/java/edu/cornell/mannlib/vedit/tags/DynamicFieldsTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/tags/DynamicFieldsTag.java rename to api/src/main/java/edu/cornell/mannlib/vedit/tags/DynamicFieldsTag.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/tags/EditTag.java b/api/src/main/java/edu/cornell/mannlib/vedit/tags/EditTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/tags/EditTag.java rename to api/src/main/java/edu/cornell/mannlib/vedit/tags/EditTag.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/tags/ErrorTag.java b/api/src/main/java/edu/cornell/mannlib/vedit/tags/ErrorTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/tags/ErrorTag.java rename to api/src/main/java/edu/cornell/mannlib/vedit/tags/ErrorTag.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/tags/OptionTag.java b/api/src/main/java/edu/cornell/mannlib/vedit/tags/OptionTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/tags/OptionTag.java rename to api/src/main/java/edu/cornell/mannlib/vedit/tags/OptionTag.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/tags/ValueTag.java b/api/src/main/java/edu/cornell/mannlib/vedit/tags/ValueTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/tags/ValueTag.java rename to api/src/main/java/edu/cornell/mannlib/vedit/tags/ValueTag.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/util/FormUtils.java b/api/src/main/java/edu/cornell/mannlib/vedit/util/FormUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/util/FormUtils.java rename to api/src/main/java/edu/cornell/mannlib/vedit/util/FormUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/util/OperationUtils.java b/api/src/main/java/edu/cornell/mannlib/vedit/util/OperationUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/util/OperationUtils.java rename to api/src/main/java/edu/cornell/mannlib/vedit/util/OperationUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/util/Stemmer.java b/api/src/main/java/edu/cornell/mannlib/vedit/util/Stemmer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/util/Stemmer.java rename to api/src/main/java/edu/cornell/mannlib/vedit/util/Stemmer.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/ValidationObject.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/ValidationObject.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/ValidationObject.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/ValidationObject.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/Validator.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/Validator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/Validator.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/Validator.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/impl/EnumValuesValidator.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/EnumValuesValidator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/impl/EnumValuesValidator.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/EnumValuesValidator.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/impl/IntValidator.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/IntValidator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/impl/IntValidator.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/IntValidator.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/impl/RequiredFieldValidator.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/RequiredFieldValidator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/impl/RequiredFieldValidator.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/RequiredFieldValidator.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/impl/UrlValidator.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/UrlValidator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/impl/UrlValidator.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/UrlValidator.java diff --git a/webapp/src/edu/cornell/mannlib/vedit/validator/impl/XMLNameValidator.java b/api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/XMLNameValidator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vedit/validator/impl/XMLNameValidator.java rename to api/src/main/java/edu/cornell/mannlib/vedit/validator/impl/XMLNameValidator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/application/ApplicationImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/ApplicationImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/application/ApplicationImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/ApplicationImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/application/ApplicationSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/ApplicationSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/application/ApplicationSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/ApplicationSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/application/ApplicationUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/ApplicationUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/application/ApplicationUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/ApplicationUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/application/BuildProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/BuildProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/application/BuildProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/BuildProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/application/VitroHomeDirectory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/VitroHomeDirectory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/application/VitroHomeDirectory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/application/VitroHomeDirectory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/ActiveIdentifierBundleFactories.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/ActiveIdentifierBundleFactories.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/ActiveIdentifierBundleFactories.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/ActiveIdentifierBundleFactories.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/ArrayIdentifierBundle.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/ArrayIdentifierBundle.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/ArrayIdentifierBundle.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/ArrayIdentifierBundle.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/Identifier.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/Identifier.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/Identifier.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/Identifier.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundle.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundle.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundle.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundle.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundleFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundleFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundleFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/IdentifierBundleFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/RequestIdentifiers.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/RequestIdentifiers.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/RequestIdentifiers.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/RequestIdentifiers.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/RoleIdentifier.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/RoleIdentifier.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/RoleIdentifier.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/RoleIdentifier.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/UserBasedIdentifierBundleFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/UserBasedIdentifierBundleFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/UserBasedIdentifierBundleFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/UserBasedIdentifierBundleFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/AbstractCommonIdentifier.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/AbstractCommonIdentifier.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/AbstractCommonIdentifier.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/AbstractCommonIdentifier.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasAssociatedIndividual.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasAssociatedIndividual.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasAssociatedIndividual.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasAssociatedIndividual.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermissionSet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermissionSet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermissionSet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasPermissionSet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProfile.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProfile.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProfile.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProfile.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProxyEditingRights.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProxyEditingRights.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProxyEditingRights.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/HasProxyEditingRights.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsBlacklisted.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsRootUser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsRootUser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsRootUser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsRootUser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsUser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsUser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsUser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/common/IsUser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseIdentifierBundleFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseIdentifierBundleFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseIdentifierBundleFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseIdentifierBundleFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseUserBasedIdentifierBundleFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseUserBasedIdentifierBundleFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseUserBasedIdentifierBundleFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/BaseUserBasedIdentifierBundleFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionSetFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionSetFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionSetFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionSetFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProfileOrIsBlacklistedFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProfileOrIsBlacklistedFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProfileOrIsBlacklistedFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProfileOrIsBlacklistedFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProxyEditingRightsFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProxyEditingRightsFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProxyEditingRightsFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasProxyEditingRightsFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/BrokenPermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/BrokenPermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/BrokenPermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/BrokenPermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/DisplayByRolePermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/DisplayByRolePermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/DisplayByRolePermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/DisplayByRolePermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/EditByRolePermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/EditByRolePermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/EditByRolePermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/EditByRolePermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/Permission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/Permission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/Permission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/Permission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionRegistry.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionRegistry.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionRegistry.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionRegistry.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSets.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSets.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSets.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSets.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSetsSmokeTest.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSetsSmokeTest.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSetsSmokeTest.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PermissionSetsSmokeTest.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PublishByRolePermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PublishByRolePermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/PublishByRolePermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/PublishByRolePermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/BaseSelfEditingPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/BaseSelfEditingPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/BaseSelfEditingPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/BaseSelfEditingPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/BasicPolicyDecision.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/BasicPolicyDecision.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/BasicPolicyDecision.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/BasicPolicyDecision.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/CompositPolicyDecision.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/CompositPolicyDecision.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/CompositPolicyDecision.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/CompositPolicyDecision.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/DisplayRestrictedDataToSelfPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/DisplayRestrictedDataToSelfPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/DisplayRestrictedDataToSelfPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/DisplayRestrictedDataToSelfPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PermissionsPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PermissionsPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PermissionsPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PermissionsPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyDecisionLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyDecisionLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyDecisionLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyDecisionLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/RequestPolicyList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/RequestPolicyList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/RequestPolicyList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/RequestPolicyList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/RestrictHomeMenuItemEditingPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/RestrictHomeMenuItemEditingPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/RestrictHomeMenuItemEditingPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/RestrictHomeMenuItemEditingPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/RootUserPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/RootUserPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/RootUserPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/RootUserPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ServletPolicyList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ServletPolicyList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ServletPolicyList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ServletPolicyList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBean.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBean.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBean.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionLevels.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionLevels.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionLevels.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionLevels.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionListener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/RoleRestrictedProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/RoleRestrictedProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/RoleRestrictedProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/RoleRestrictedProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/Authorization.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/Authorization.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/Authorization.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/Authorization.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyDecision.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyDecision.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyDecision.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyDecision.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyIface.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyIface.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyIface.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/ifaces/PolicyIface.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/setup/CommonPolicyFamilySetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/setup/CommonPolicyFamilySetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/setup/CommonPolicyFamilySetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/setup/CommonPolicyFamilySetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/AbstractRelationshipPolicy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/AbstractRelationshipPolicy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/AbstractRelationshipPolicy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/AbstractRelationshipPolicy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/RelationshipChecker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/RelationshipChecker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/RelationshipChecker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/policy/specialrelationships/RelationshipChecker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequest.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequest.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequest.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequest.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/RequestedAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/RequestedAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/RequestedAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/RequestedAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/SimpleRequestedAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/SimpleRequestedAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/SimpleRequestedAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/SimpleRequestedAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/AddNewUser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/AddNewUser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/AddNewUser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/AddNewUser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/LoadOntology.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/LoadOntology.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/LoadOntology.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/LoadOntology.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildTextIndex.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildTextIndex.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildTextIndex.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RebuildTextIndex.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RemoveUser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RemoveUser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RemoveUser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/RemoveUser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/ServerStatus.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/ServerStatus.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/ServerStatus.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/ServerStatus.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UpdateTextIndex.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UpdateTextIndex.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UpdateTextIndex.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UpdateTextIndex.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UploadFile.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UploadFile.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UploadFile.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/admin/UploadFile.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayDataPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/display/DisplayObjectPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/AdminRequestedAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/AdminRequestedAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/AdminRequestedAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/AdminRequestedAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/OntoRequestedAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/OntoRequestedAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/OntoRequestedAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/OntoRequestedAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/RequiresActions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/RequiresActions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/RequiresActions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/RequiresActions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/SingleParameterAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/SingleParameterAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/SingleParameterAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ifaces/SingleParameterAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/CreateOwlClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/CreateOwlClass.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/CreateOwlClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/CreateOwlClass.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineDataProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineDataProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineDataProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineDataProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineObjectProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineObjectProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineObjectProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/DefineObjectProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/RemoveOwlClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/RemoveOwlClass.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/RemoveOwlClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/ontology/RemoveOwlClass.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractDataPropertyStatementAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractDataPropertyStatementAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractDataPropertyStatementAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractDataPropertyStatementAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractObjectPropertyStatementAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractObjectPropertyStatementAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractObjectPropertyStatementAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractObjectPropertyStatementAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractPropertyStatementAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractPropertyStatementAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractPropertyStatementAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AbstractPropertyStatementAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddDataPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddDataPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddDataPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddDataPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddObjectPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddObjectPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddObjectPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/AddObjectPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropDataPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropDataPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropDataPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropDataPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropObjectPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropObjectPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropObjectPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/DropObjectPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditDataPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditDataPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditDataPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditDataPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditObjectPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditObjectPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditObjectPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/propstmt/EditObjectPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishDataPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/publish/PublishObjectPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AbstractResourceAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/AddResource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/resource/DropResource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageRootAccount.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageRootAccount.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageRootAccount.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/ManageRootAccount.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UsePagesRequestedAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UsePagesRequestedAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UsePagesRequestedAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/usepages/UsePagesRequestedAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ApplicationBean.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ApplicationBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ApplicationBean.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ApplicationBean.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/BaseResourceBean.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/BaseResourceBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/BaseResourceBean.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/BaseResourceBean.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Classes2Classes.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Classes2Classes.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Classes2Classes.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Classes2Classes.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyComparator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyComparator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyComparator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyComparator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatementImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatementImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatementImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DataPropertyStatementImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Datatype.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Datatype.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Datatype.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Datatype.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DisplayMessage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DisplayMessage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/DisplayMessage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/DisplayMessage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/FauxProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/FauxProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/FauxProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/FauxProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Individual.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Individual.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Individual.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Individual.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/IndividualImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/IndividualImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/IndividualImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/IndividualImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ObjectProperty.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Ontology.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Ontology.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Ontology.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Ontology.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PermissionSet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PermissionSet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PermissionSet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PermissionSet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Property.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Property.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/Property.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/Property.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PropertyGroup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PropertyGroup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PropertyGroup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PropertyGroup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstance.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstance.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstance.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstance.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstanceIface.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstanceIface.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstanceIface.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/PropertyInstanceIface.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ResourceBean.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ResourceBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ResourceBean.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/ResourceBean.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfiguration.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfiguration.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfiguration.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfiguration.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/UserAccount.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/UserAccount.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/UserAccount.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/UserAccount.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/VClass.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/VClass.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClassGroup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/VClassGroup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClassGroup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/VClassGroup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClassList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/VClassList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClassList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/beans/VClassList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSmokeTests.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSmokeTests.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSmokeTests.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesSmokeTests.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/DummyConfigurationProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/DummyConfigurationProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/DummyConfigurationProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/DummyConfigurationProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBean.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBean.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBean.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/AbstractPageHandler.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/AbstractPageHandler.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/AbstractPageHandler.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/AbstractPageHandler.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/DashboardPropertyListController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/DashboardPropertyListController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/DashboardPropertyListController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/DashboardPropertyListController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/FedoraDatastreamController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/IndividualListRdfController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/IndividualListRdfController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/IndividualListRdfController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/IndividualListRdfController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java index 161b1c70d..6cf698e6a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java @@ -171,7 +171,7 @@ public class MailUsersServlet extends VitroHttpServlet { msg.setSubject( deliveryfrom ); // add the multipart to the message - msg.setContent(msgText,"text/html"); + msg.setContent(msgText,"text/html; charset=UTF-8"); // set the Date: header msg.setSentDate( new Date() ); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MultipartRequestWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/MultipartRequestWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MultipartRequestWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/MultipartRequestWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/OntologyController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/SparqlQueryBuilderServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/UserMailController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/UserMailController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/UserMailController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/UserMailController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroHttpServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/VitroHttpServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroHttpServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/VitroHttpServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsOrdering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsOrdering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsOrdering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsOrdering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelection.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelection.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelection.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelection.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteria.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteria.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteria.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteria.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPageStrategy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPageStrategy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPageStrategy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPageStrategy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAdminController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsDeleter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsDeleter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsDeleter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsDeleter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPageStrategy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPageStrategy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPageStrategy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPageStrategy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsProfileCreator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsProfileCreator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsProfileCreator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsProfileCreator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ExternalAuthChecker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ExternalAuthChecker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ExternalAuthChecker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ExternalAuthChecker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ProfileAutoCompleter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ProfileAutoCompleter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ProfileAutoCompleter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/ProfileAutoCompleter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/ajax/UserAccountsAjaxController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesCreatePage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesCreatePage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesCreatePage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesCreatePage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesEditPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesEditPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesEditPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesEditPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesListPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesListPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesListPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ManageProxiesListPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyItemInfo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyItemInfo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyItemInfo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyItemInfo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationship.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationship.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationship.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationship.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelection.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelection.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelection.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelection.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionBuilder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionBuilder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionBuilder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionCriteria.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionCriteria.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionCriteria.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectionCriteria.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProfilesGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProfilesGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProfilesGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProfilesGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProxiesGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProxiesGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProxiesGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/BasicProxiesGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/ManageProxiesAjaxController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProfileInfo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProfileInfo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProfileInfo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProfileInfo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProxyInfo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProxyInfo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProxyInfo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ajax/MoreProxyInfo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsCreatePasswordPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsCreatePasswordPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsCreatePasswordPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsCreatePasswordPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPageStrategy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPageStrategy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPageStrategy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsFirstTimeExternalPageStrategy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPageStrategy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPageStrategy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPageStrategy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsMyAccountPageStrategy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsPasswordBasePage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsPasswordBasePage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsPasswordBasePage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsPasswordBasePage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsResetPasswordPage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsResetPasswordPage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsResetPasswordPage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsResetPasswordPage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsUserController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsUserController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsUserController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/user/UserAccountsUserController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/RestrictLoginsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/RestrictLoginsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/RestrictLoginsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/RestrictLoginsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowAuthController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowAuthController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowAuthController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowAuthController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowBackgroundThreadsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowBackgroundThreadsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowBackgroundThreadsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowBackgroundThreadsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowConfiguration.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowConfiguration.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowConfiguration.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowConfiguration.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowSourcesController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowSourcesController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowSourcesController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/ShowSourcesController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/SparqlQueryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/SparqlQueryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/SparqlQueryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/SparqlQueryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/StartupStatusController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/WaitForBackgroundThreadsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/WaitForBackgroundThreadsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/admin/WaitForBackgroundThreadsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/admin/WaitForBackgroundThreadsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/AbstractAjaxResponder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/AbstractAjaxResponder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/AbstractAjaxResponder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/AbstractAjaxResponder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlQueryAjaxController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlQueryAjaxController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlQueryAjaxController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlQueryAjaxController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/SparqlUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/VitroAjaxController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/VitroAjaxController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/VitroAjaxController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/ajax/VitroAjaxController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/NotAuthorizedToUseApiException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/NotAuthorizedToUseApiException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/NotAuthorizedToUseApiException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/NotAuthorizedToUseApiException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlQueryApiController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlQueryApiController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlQueryApiController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlQueryApiController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiController.java similarity index 90% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiController.java index 21ba21aea..0be8b50f5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiController.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiController.java @@ -19,6 +19,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.query.Dataset; +import com.hp.hpl.jena.query.ReadWrite; import com.hp.hpl.jena.update.GraphStore; import com.hp.hpl.jena.update.GraphStoreFactory; import com.hp.hpl.jena.update.UpdateAction; @@ -96,17 +97,26 @@ public class SparqlUpdateApiController extends VitroApiServlet { } private void executeUpdate(HttpServletRequest req, UpdateRequest parsed) { - ServletContext ctx = req.getSession().getServletContext(); VitroRequest vreq = new VitroRequest(req); - SearchIndexer indexer = ApplicationUtils.instance().getSearchIndexer(); - indexer.pause(); - try { - Dataset ds = new RDFServiceDataset(vreq.getUnfilteredRDFService()); - GraphStore graphStore = GraphStoreFactory.create(ds); + Dataset ds = new RDFServiceDataset(vreq.getUnfilteredRDFService()); + GraphStore graphStore = GraphStoreFactory.create(ds); + try { + if(indexer != null) { + indexer.pause(); + } + if(ds.supportsTransactions()) { + ds.begin(ReadWrite.WRITE); + } UpdateAction.execute(parsed, graphStore); } finally { - indexer.unpause(); + if(ds.supportsTransactions()) { + ds.commit(); + ds.end(); + } + if(indexer != null) { + indexer.unpause(); + } } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/VitroApiServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/VitroApiServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/VitroApiServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/VitroApiServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/InvalidQueryTypeException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/InvalidQueryTypeException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/InvalidQueryTypeException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/InvalidQueryTypeException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/RdfResultMediaType.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/RdfResultMediaType.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/RdfResultMediaType.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/RdfResultMediaType.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/ResultSetMediaType.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/ResultSetMediaType.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/ResultSetMediaType.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/ResultSetMediaType.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiAskExecutor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiAskExecutor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiAskExecutor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiAskExecutor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiConstructExecutor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiConstructExecutor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiConstructExecutor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiConstructExecutor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiDescribeExecutor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiDescribeExecutor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiDescribeExecutor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiDescribeExecutor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiRdfProducer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiRdfProducer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiRdfProducer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiRdfProducer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiResultSetProducer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiResultSetProducer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiResultSetProducer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiResultSetProducer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiSelectExecutor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiSelectExecutor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiSelectExecutor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiSelectExecutor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AdminLoginController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AdminLoginController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AdminLoginController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AdminLoginController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/Authenticator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/Authenticator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/Authenticator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/Authenticator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BaseLoginServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BaseLoginServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BaseLoginServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BaseLoginServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BasicAuthenticator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BasicAuthenticator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BasicAuthenticator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/BasicAuthenticator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ExternalAuthHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ExternalAuthHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ExternalAuthHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ExternalAuthHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/FakeExternalAuthController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/FakeExternalAuthController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/FakeExternalAuthController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/FakeExternalAuthController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthReturn.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthReturn.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthReturn.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthReturn.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginExternalAuthSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginInProcessFlag.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginInProcessFlag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginInProcessFlag.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginInProcessFlag.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginRedirector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginRedirector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginRedirector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LoginRedirector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LogoutRedirector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LogoutRedirector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LogoutRedirector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/LogoutRedirector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLogin.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLogin.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLogin.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLogin.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/RestrictedAuthenticator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/RestrictedAuthenticator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/authenticate/RestrictedAuthenticator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/RestrictedAuthenticator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/AbstractDumpRestoreAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/AbstractDumpRestoreAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/AbstractDumpRestoreAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/AbstractDumpRestoreAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpModelsAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpModelsAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpModelsAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpModelsAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpNode.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpNode.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpNode.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpNode.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpParser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpParser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpParser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpParser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpQuad.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpQuad.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpQuad.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpQuad.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpRestoreController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpRestoreController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpRestoreController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpRestoreController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpTriple.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpTriple.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpTriple.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/DumpTriple.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NquadsParser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NquadsParser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NquadsParser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NquadsParser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/RestoreModelsAction.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/RestoreModelsAction.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/RestoreModelsAction.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/RestoreModelsAction.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ApplicationBeanRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ApplicationBeanRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ApplicationBeanRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ApplicationBeanRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Authenticate.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesOperationController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesOperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesOperationController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesOperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Classes2ClassesRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ClassgroupRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DataPropertyStatementRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DataPropertyStatementRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DataPropertyStatementRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DataPropertyStatementRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatatypeRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DatatypeRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatatypeRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DatatypeRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DeletePageController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DeletePageController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DeletePageController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/DeletePageController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityEditController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityEditController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/EntityRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyEditController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyEditController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/FauxPropertyRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeOperationController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeOperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeOperationController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeOperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/IndividualTypeRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Logout.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Logout.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Logout.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Logout.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/MenuManagementEdit.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/MenuManagementEdit.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/MenuManagementEdit.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/MenuManagementEdit.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/N3MultiPartUploadDELETEME.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/N3MultiPartUploadDELETEME.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/N3MultiPartUploadDELETEME.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/N3MultiPartUploadDELETEME.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixOperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/NamespacePrefixRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ObjectPropertyStatementRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ObjectPropertyStatementRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ObjectPropertyStatementRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ObjectPropertyStatementRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveDelete.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveDelete.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveDelete.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveDelete.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEdit.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEdit.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEdit.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEdit.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesOperationController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesOperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesOperationController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesOperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/Properties2PropertiesRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyGroupRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ReorderController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ReorderController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/ReorderController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/ReorderController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionOperationController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionOperationController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionOperationController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionOperationController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/RestrictionRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassEditController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassRetryController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassRetryController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassRetryController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/VclassRetryController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/AllClassGroupsListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/AllClassGroupsListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/AllClassGroupsListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/AllClassGroupsListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/DataPropertyStatementListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/DataPropertyStatementListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/DataPropertyStatementListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/DataPropertyStatementListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/IndividualsListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/IndividualsListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/IndividualsListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/IndividualsListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ListingControllerWebUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ListingControllerWebUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ListingControllerWebUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ListingControllerWebUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ObjectPropertyStatementListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ObjectPropertyStatementListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ObjectPropertyStatementListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/ObjectPropertyStatementListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/OntologiesListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/OntologiesListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/OntologiesListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/OntologiesListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/PropertyGroupsListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/PropertyGroupsListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/PropertyGroupsListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/PropertyGroupsListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/VClassWebappWithInstancesListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/VClassWebappWithInstancesListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/VClassWebappWithInstancesListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/VClassWebappWithInstancesListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/NamespacesListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/listing/jena/RestrictionsListingController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/LocalNamespaceClassUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/LocalNamespaceClassUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/LocalNamespaceClassUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/LocalNamespaceClassUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/RoleLevelOptionsSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/RoleLevelOptionsSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/RoleLevelOptionsSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/edit/utils/RoleLevelOptionsSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/AboutController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/AboutController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/AboutController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/AboutController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BaseSiteAdminController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/BrowseController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactFormController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactMailController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactMailController.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactMailController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactMailController.java index 4a275a607..2c3cdcbc4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactMailController.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ContactMailController.java @@ -276,7 +276,7 @@ public class ContactMailController extends FreemarkerHttpServlet { msg.setSubject( deliveryfrom ); // add the multipart to the message - msg.setContent(msgText,"text/html"); + msg.setContent(msgText,"text/html; charset=UTF-8"); // set the Date: header msg.setSentDate( new Date() ); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DeletePropertyController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DelimitingTemplateLoader.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DelimitingTemplateLoader.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DelimitingTemplateLoader.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DelimitingTemplateLoader.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DumpTestController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DumpTestController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DumpTestController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/DumpTestController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerComponentGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java index 560dcb85b..dd23a38e3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java @@ -440,7 +440,9 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { ApplicationBean appBean = vreq.getAppBean(); // This may be overridden by the body data model received from the subcontroller. - map.put("siteName", getTitle(vreq.getAppBean().getApplicationName(), vreq)); + map.put("title", getTitle(vreq.getAppBean().getApplicationName(), vreq)); + + map.put("siteName", vreq.getAppBean().getApplicationName()); map.put("urls", buildRequestUrls(vreq)); @@ -560,4 +562,4 @@ public class FreemarkerHttpServlet extends VitroHttpServlet { new FreemarkerComponentGenerator(request); } -} \ No newline at end of file +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/HomePageController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/HomePageController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/HomePageController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/HomePageController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ImageUploadHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListController.java similarity index 98% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListController.java index f03d5d3c9..728a4c77c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListController.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListController.java @@ -8,6 +8,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividualBuilder; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -100,7 +101,7 @@ public class IndividualListController extends FreemarkerHttpServlet { List indsTm = new ArrayList(); if (inds != null) { for ( Individual ind : inds ) { - indsTm.add(new ListedIndividual(ind,vreq)); + indsTm.add(ListedIndividualBuilder.build(ind,vreq)); } } body.put("individuals", indsTm); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListQueryResults.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListQueryResults.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListQueryResults.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/IndividualListQueryResults.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListClassGroupsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListClassGroupsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListClassGroupsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListClassGroupsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListDatatypePropertiesController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListDatatypePropertiesController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListDatatypePropertiesController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListDatatypePropertiesController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListFauxPropertiesController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListFauxPropertiesController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListFauxPropertiesController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListFauxPropertiesController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyGroupsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyGroupsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyGroupsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyGroupsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyWebappsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyWebappsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyWebappsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListPropertyWebappsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListVClassWebappsController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListVClassWebappsController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListVClassWebappsController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ListVClassWebappsController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ManageLabelsForIndividualController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ManageLabelsForIndividualController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ManageLabelsForIndividualController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ManageLabelsForIndividualController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/PageController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/PageController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/PageController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/PageController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/RevisionInfoController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SamplesController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SamplesController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SamplesController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SamplesController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowClassHierarchyController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowClassHierarchyController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowClassHierarchyController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowClassHierarchyController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowDataPropertyHierarchyController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowDataPropertyHierarchyController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowDataPropertyHierarchyController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowDataPropertyHierarchyController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowObjectPropertyHierarchyController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowObjectPropertyHierarchyController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowObjectPropertyHierarchyController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ShowObjectPropertyHierarchyController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SiteAdminController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/StaticPageController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/StaticPageController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/StaticPageController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/StaticPageController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TemplateProcessingHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TemplateProcessingHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TemplateProcessingHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TemplateProcessingHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TermsOfUseController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TermsOfUseController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TermsOfUseController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TermsOfUseController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ViewLabelsServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ViewLabelsServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ViewLabelsServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/ViewLabelsServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/BaseResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/BaseResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/BaseResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/BaseResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/DirectRedirectResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/DirectRedirectResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/DirectRedirectResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/DirectRedirectResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ExceptionResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ExceptionResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ExceptionResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ExceptionResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ForwardResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ForwardResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ForwardResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ForwardResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/NotAuthorizedResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/NotAuthorizedResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/NotAuthorizedResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/NotAuthorizedResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RdfResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RdfResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RdfResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RdfResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RedirectResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RedirectResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RedirectResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/RedirectResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/ResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/TemplateResponseValues.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/TemplateResponseValues.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/TemplateResponseValues.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/responsevalues/TemplateResponseValues.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefineMqlreadServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefineMqlreadServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefineMqlreadServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefineMqlreadServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefinePropertyListServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefinePropertyListServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefinePropertyListServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/GrefinePropertyListServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/ExtendedRdfAssembler.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/ExtendedRdfAssembler.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/ExtendedRdfAssembler.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/ExtendedRdfAssembler.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssembler.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssembler.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssembler.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssembler.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContext.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContext.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContext.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContext.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestInfo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestInfo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestInfo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestInfo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java index d52b48281..659936d8f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java @@ -9,6 +9,7 @@ import java.util.Map; import java.util.Properties; import com.hp.hpl.jena.rdf.model.RDFNode; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModelBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONException; @@ -268,7 +269,7 @@ class IndividualResponseBuilder { private IndividualTemplateModel getIndividualTemplateModel( Individual individual) { //individual.sortForDisplay(); - return new IndividualTemplateModel(individual, vreq); + return IndividualTemplateModelBuilder.build(individual, vreq); } private TemplateModel wrap(Object obj, BeansWrapper wrapper) throws TemplateModelException { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualTemplateLocator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualTemplateLocator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualTemplateLocator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualTemplateLocator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualJsonWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualJsonWrapper.java similarity index 83% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualJsonWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualJsonWrapper.java index 1fda3985a..0fa24e252 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualJsonWrapper.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualJsonWrapper.java @@ -20,6 +20,12 @@ import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; * This will be overridden in VIVO so we can have more info in the display. */ public class IndividualJsonWrapper { + private static AddJSONFields addJSONFields = null; + + public static void setAddJSONFields(AddJSONFields add) { + addJSONFields = add; + } + static JSONObject packageIndividualAsJson(VitroRequest vreq, Individual ind) throws JSONException { // need an unfiltered dao to get firstnames and lastnames @@ -33,6 +39,9 @@ public class IndividualJsonWrapper { jo.put("imageUrl", ind.getImageUrl()); jo.put("profileUrl", UrlBuilder.getIndividualProfileUrl(ind, vreq)); jo.put("mostSpecificTypes", getMostSpecificTypes(ind, fullWdf)); + if (addJSONFields != null) { + addJSONFields.add(jo, vreq, ind); + } return jo; } @@ -45,4 +54,7 @@ public class IndividualJsonWrapper { return mostSpecificTypes.values(); } + public interface AddJSONFields { + public void add(JSONObject jo, VitroRequest vreq, Individual ind) throws JSONException; + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResults.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResults.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResults.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResults.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResultsUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResultsUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResultsUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individuallist/IndividualListResultsUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaAdminActions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaCsv2RdfController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java index a843a894e..f334f280a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java @@ -73,6 +73,7 @@ import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess.WhichService; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.adapters.VitroModelFactory; import edu.cornell.mannlib.vitro.webapp.utils.SparqlQueryUtils; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils; import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils.MergeResult; @@ -706,14 +707,13 @@ public class JenaIngestController extends BaseEditController { private void doClearModel(String modelName, ModelMaker modelMaker) { Model m = modelMaker.getModel(modelName); - OntModel o = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM,m); + OntModel o = VitroModelFactory.createOntologyModel(m); o.enterCriticalSection(Lock.WRITE); try { - o.removeAll(null,null,null); + o.removeAll(); } finally { o.leaveCriticalSection(); } - // removeAll() doesn't work with the listeners! } private void doLoadRDFData(String modelName, String docLoc, String filePath, String language, ModelMaker modelMaker) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaXMLFileUpload.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java similarity index 91% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java index 2d305c5c5..bcdc408b2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java @@ -44,6 +44,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.jena.event.BulkUpdateEvent; import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent; import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess; import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess.WhichService; +import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; @@ -202,9 +203,20 @@ public class RDFUploadController extends JenaIngestController { } if (aboxModel != null) { aboxChangeModel = uploadModel.remove(tboxChangeModel); - aboxstmtCount = operateOnModel(request.getUnfilteredWebappDaoFactory(), - aboxModel, aboxChangeModel, ontModelSelector, - remove, makeClassgroups, loginBean.getUserURI()); + aboxstmtCount = aboxChangeModel.size(); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + aboxChangeModel.write(os, "N3"); + ByteArrayInputStream in = new ByteArrayInputStream(os.toByteArray()); + if(!remove) { + readIntoModel(in, "N3", request.getRDFService(), + ModelNames.ABOX_ASSERTIONS); + } else { + removeFromModel(in, "N3", request.getRDFService(), + ModelNames.ABOX_ASSERTIONS); + } +// operateOnModel(request.getUnfilteredWebappDaoFactory(), +// aboxModel, aboxChangeModel, ontModelSelector, +// remove, makeClassgroups, loginBean.getUserURI()); } request.setAttribute("uploadDesc", uploadDesc + ". " + verb + " " + (tboxstmtCount + aboxstmtCount) + " statements."); @@ -225,9 +237,19 @@ public class RDFUploadController extends JenaIngestController { } } + private static final boolean BEGIN = true; + private static final boolean END = !BEGIN; + + private ChangeSet makeChangeSet(RDFService rdfService) { + ChangeSet cs = rdfService.manufactureChangeSet(); + cs.addPreChangeEvent(new BulkUpdateEvent(null, BEGIN)); + cs.addPostChangeEvent(new BulkUpdateEvent(null, END)); + return cs; + } + private void addUsingRDFService(InputStream in, String languageStr, RDFService rdfService) { - ChangeSet changeSet = rdfService.manufactureChangeSet(); + ChangeSet changeSet = makeChangeSet(rdfService); RDFService.ModelSerializationFormat format = ("RDF/XML".equals(languageStr) || "RDF/XML-ABBREV".equals(languageStr)) @@ -333,7 +355,7 @@ public class RDFUploadController extends JenaIngestController { RDFService rdfService = new RDFServiceModel(mainModel); ByteArrayOutputStream out = new ByteArrayOutputStream(); changesModel.write(out, "N-TRIPLE"); - ChangeSet cs = rdfService.manufactureChangeSet(); + ChangeSet cs = makeChangeSet(rdfService); ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); cs.addRemoval(in, RDFService.ModelSerializationFormat.NTRIPLE, null); try { @@ -398,7 +420,7 @@ public class RDFUploadController extends JenaIngestController { private void readIntoModel(InputStream in, String language, RDFService rdfService, String modelName) { - ChangeSet cs = rdfService.manufactureChangeSet(); + ChangeSet cs = makeChangeSet(rdfService); cs.addAddition(in, RDFServiceUtils.getSerializationFormatFromJenaString( language), modelName); try { @@ -408,6 +430,18 @@ public class RDFUploadController extends JenaIngestController { } } + private void removeFromModel(InputStream in, String language, + RDFService rdfService, String modelName) { + ChangeSet cs = makeChangeSet(rdfService); + cs.addRemoval(in, RDFServiceUtils.getSerializationFormatFromJenaString( + language), modelName); + try { + rdfService.changeSetUpdate(cs); + } catch (RDFServiceException e) { + throw new RuntimeException(e); + } + } + private void forwardToFileUploadError( String errrorMsg , HttpServletRequest req, HttpServletResponse response) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadFormController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetAllVClasses.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetAllVClasses.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetAllVClasses.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetAllVClasses.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClass.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClass.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClassContinuation.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClassContinuation.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClassContinuation.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetEntitiesByVClassContinuation.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetRandomSearchIndividualsByVClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetRandomSearchIndividualsByVClass.java similarity index 94% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetRandomSearchIndividualsByVClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetRandomSearchIndividualsByVClass.java index 7a15f8428..fb76f365d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetRandomSearchIndividualsByVClass.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetRandomSearchIndividualsByVClass.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModelBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONArray; @@ -72,7 +73,7 @@ public class GetRandomSearchIndividualsByVClass extends GetSearchIndividualsByVC Map modelMap = new HashMap(); modelMap.put("individual", - new IndividualTemplateModel(individual, vreq)); + IndividualTemplateModelBuilder.build(individual, vreq)); modelMap.put("vclass", vclassName); ShortViewService svs = ShortViewServiceSetup.getService(ctx); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetRenderedSearchIndividualsByVClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetRenderedSearchIndividualsByVClass.java similarity index 95% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetRenderedSearchIndividualsByVClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetRenderedSearchIndividualsByVClass.java index ba95c69f4..d98cf5e6c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetRenderedSearchIndividualsByVClass.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetRenderedSearchIndividualsByVClass.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModelBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONArray; @@ -80,7 +81,7 @@ public class GetRenderedSearchIndividualsByVClass extends GetSearchIndividualsBy Map modelMap = new HashMap(); modelMap.put("individual", - new IndividualTemplateModel(individual, vreq)); + IndividualTemplateModelBuilder.build(individual, vreq)); modelMap.put("vclass", vclassName); ShortViewService svs = ShortViewServiceSetup.getService(ctx); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClass.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClass.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClass.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClass.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClasses.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClasses.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClasses.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetSearchIndividualsByVClasses.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetVClassesForVClassGroup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetVClassesForVClassGroup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/GetVClassesForVClassGroup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/GetVClassesForVClassGroup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonArrayProducer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonArrayProducer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonArrayProducer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonArrayProducer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonObjectProducer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonObjectProducer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonObjectProducer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonObjectProducer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonProducer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonProducer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonProducer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonProducer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/login/LoginProcessBean.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/login/LoginProcessBean.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/controller/login/LoginProcessBean.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/login/LoginProcessBean.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyStatementDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyStatementDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyStatementDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyStatementDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DatatypeDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DatatypeDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DatatypeDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DatatypeDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DisplayModelDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DisplayModelDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DisplayModelDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DisplayModelDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DisplayVocabulary.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DisplayVocabulary.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/DisplayVocabulary.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/DisplayVocabulary.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/IndividualDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/IndividualDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/IndividualDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/IndividualDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/InsertException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/InsertException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/InsertException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/InsertException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/MenuDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/MenuDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/MenuDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/MenuDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitro.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitro.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitro.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitro.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/OntologyDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/OntologyDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/OntologyDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/OntologyDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PageDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PageDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PageDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PageDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PropertyDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyGroupDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PropertyGroupDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyGroupDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PropertyGroupDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyInstanceDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PropertyInstanceDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/PropertyInstanceDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/PropertyInstanceDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VClassDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupsForRequest.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupsForRequest.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupsForRequest.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VClassGroupsForRequest.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryConfig.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryConfig.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryConfig.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryConfig.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/BaseFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/BaseFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/BaseFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/BaseFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/DataPropertyStatementFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/FauxPropertyDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/FauxPropertyDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/FauxPropertyDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/FauxPropertyDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/FilteringPropertyInstanceDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/FilteringPropertyInstanceDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/FilteringPropertyInstanceDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/FilteringPropertyInstanceDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/ObjectPropertyStatementFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/PropertyGroupDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/PropertyGroupDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/PropertyGroupDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/PropertyGroupDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/UserAccountsDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/UserAccountsDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/UserAccountsDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/UserAccountsDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/VClassGroupDaoFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/WebappDaoFactoryFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/WebappDaoFactoryFiltering.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/WebappDaoFactoryFiltering.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/WebappDaoFactoryFiltering.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/EntityPropertyListFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/EntityPropertyListFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/EntityPropertyListFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/EntityPropertyListFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterByRoleLevelPermission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterByRoleLevelPermission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterByRoleLevelPermission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterByRoleLevelPermission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/FilterFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/HideFromDisplayByPolicyFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/HideFromDisplayByPolicyFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/HideFromDisplayByPolicyFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/HideFromDisplayByPolicyFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilterUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilterUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilterUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilterUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilters.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilters.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilters.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFilters.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersBase.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersBase.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersBase.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersBase.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ApplicationDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ApplicationDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ApplicationDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ApplicationDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringGraph.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringGraph.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringGraph.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringGraph.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringModelMaker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringModelMaker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringModelMaker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeFilteringModelMaker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeStatementListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeStatementListener.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeStatementListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/BlankNodeStatementListener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/CumulativeDeltaModeler.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/CumulativeDeltaModeler.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/CumulativeDeltaModeler.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/CumulativeDeltaModeler.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoSDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoSDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapperFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapperFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapperFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DatasetWrapperFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DatatypeDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DatatypeDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DatatypeDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DatatypeDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DifferenceGraph.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DifferenceGraph.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DifferenceGraph.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DifferenceGraph.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DisplayModelDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DisplayModelDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DisplayModelDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DisplayModelDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/FauxPropertyDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/FauxPropertyDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/FauxPropertyDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/FauxPropertyDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/GraphGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/GraphGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/GraphGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/GraphGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoSDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualDaoSDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualSDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/IndividualSDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoCon.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoCon.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoCon.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoCon.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginLogoutEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginLogoutEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginLogoutEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/LoginLogoutEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LogoutEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/LogoutEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LogoutEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/LogoutEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java similarity index 91% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java index 120de2b2a..d83aa3438 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ModelContext.java @@ -35,8 +35,7 @@ public class ModelContext { public static void registerListenerForChanges(ServletContext ctx, ModelChangedListener ml){ try { - RDFServiceUtils.getRDFServiceFactory(ctx).registerListener( - new JenaChangeListener(ml)); + RDFServiceUtils.getRDFServiceFactory(ctx).registerJenaModelChangedListener(ml); } catch (RDFServiceException e) { log.error(e,e); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoSDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoSDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelectorImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelectorImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelectorImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSelectorImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/OntologyDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntologyDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/OntologyDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntologyDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PageDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PageDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PageDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PageDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyGroupDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyGroupDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyGroupDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyGroupDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDataset.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDataset.java similarity index 64% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDataset.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDataset.java index ae2bbfc34..b4f84cc18 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDataset.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDataset.java @@ -5,8 +5,13 @@ package edu.cornell.mannlib.vitro.webapp.dao.jena; import java.util.ArrayList; import java.util.Iterator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.hp.hpl.jena.graph.Graph; import com.hp.hpl.jena.graph.Node; import com.hp.hpl.jena.graph.NodeFactory; +import com.hp.hpl.jena.graph.TransactionHandler; import com.hp.hpl.jena.query.Dataset; import com.hp.hpl.jena.query.LabelExistsException; import com.hp.hpl.jena.query.ReadWrite; @@ -21,6 +26,7 @@ import edu.cornell.mannlib.vitro.webapp.utils.logging.ToString; public class RDFServiceDataset implements Dataset { private RDFServiceDatasetGraph g; + private ReadWrite transactionMode; public RDFServiceDataset(RDFServiceDatasetGraph g) { this.g = g; @@ -55,9 +61,13 @@ public class RDFServiceDataset implements Dataset { return g.getLock(); } + private final static Log log = LogFactory.getLog(RDFServiceDataset.class); + @Override public Model getNamedModel(String arg0) { - return RDFServiceGraph.createRDFServiceModel(g.getGraph(NodeFactory.createURI(arg0))); + Model model = RDFServiceGraph.createRDFServiceModel( + g.getGraph(NodeFactory.createURI(arg0))); + return model; } @Override @@ -108,36 +118,60 @@ public class RDFServiceDataset implements Dataset { @Override public boolean supportsTransactions() { - return false; + if (g.getDefaultGraph().getTransactionHandler() == null) { + return false; + } else { + return g.getDefaultGraph().getTransactionHandler().transactionsSupported(); + } } @Override public boolean isInTransaction() { - return false; + return (transactionMode != null); } + + private boolean supportsTransactions(Graph graph) { + return (graph.getTransactionHandler() != null + && graph.getTransactionHandler().transactionsSupported()); + } @Override public void begin(ReadWrite arg0) { - throw new UnsupportedOperationException(this.getClass().getSimpleName() - + " does not support transactions."); + this.transactionMode = arg0; + g.begin(arg0); + for(String graphURI : g.getGraphCache().keySet()) { + Graph graph = g.getGraphCache().get(graphURI); + if (supportsTransactions(graph)) { + graph.getTransactionHandler().begin(); + } + } } @Override public void commit() { - throw new UnsupportedOperationException(this.getClass().getSimpleName() - + " does not support transactions."); + for(String graphURI : g.getGraphCache().keySet()) { + Graph graph = g.getGraphCache().get(graphURI); + if(supportsTransactions(graph)) { + graph.getTransactionHandler().commit(); + } + } } @Override public void abort() { - throw new UnsupportedOperationException(this.getClass().getSimpleName() - + " does not support transactions."); + for(String graphURI : g.getGraphCache().keySet()) { + Graph graph = g.getGraphCache().get(graphURI); + if(supportsTransactions(graph)) { + graph.getTransactionHandler().abort(); + } + } } @Override public void end() { - throw new UnsupportedOperationException(this.getClass().getSimpleName() - + " does not support transactions."); + // the Graph tranaction handlers don't seem to support .end() + this.transactionMode = null; + g.end(); } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDatasetGraph.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDatasetGraph.java similarity index 85% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDatasetGraph.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDatasetGraph.java index b6a60f6e1..5553a55aa 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDatasetGraph.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceDatasetGraph.java @@ -6,18 +6,19 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import com.hp.hpl.jena.graph.Graph; import com.hp.hpl.jena.graph.Node; import com.hp.hpl.jena.graph.NodeFactory; import com.hp.hpl.jena.graph.Triple; import com.hp.hpl.jena.query.QuerySolution; -import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ReadWrite; import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.LockMRSW; import com.hp.hpl.jena.sparql.core.DatasetGraph; import com.hp.hpl.jena.sparql.core.Quad; -import com.hp.hpl.jena.sparql.resultset.JSONInput; import com.hp.hpl.jena.sparql.util.Context; import com.hp.hpl.jena.util.iterator.SingletonIterator; import com.hp.hpl.jena.util.iterator.WrappedIterator; @@ -32,11 +33,25 @@ public class RDFServiceDatasetGraph implements DatasetGraph { private RDFService rdfService; private Lock lock = new LockMRSW(); private Context context = new Context() ; - + private Map graphCache = new ConcurrentHashMap(); + private ReadWrite transactionMode; + public RDFServiceDatasetGraph(RDFService rdfService) { this.rdfService = rdfService; } + public Map getGraphCache() { + return graphCache; + } + + public void begin(ReadWrite mode) { + this.transactionMode = mode; + } + + public void end() { + this.transactionMode = null; + } + private Graph getGraphFor(Quad q) { return getGraphFor(q.getGraph()); } @@ -44,7 +59,7 @@ public class RDFServiceDatasetGraph implements DatasetGraph { private Graph getGraphFor(Node g) { return (g == Node.ANY) ? new RDFServiceGraph(rdfService) - : new RDFServiceGraph(rdfService, g.getURI()); + : getGraph(g); } @Override @@ -172,10 +187,25 @@ public class RDFServiceDatasetGraph implements DatasetGraph { public RDFServiceGraph getDefaultGraph() { return new RDFServiceGraph(rdfService); } - + @Override public RDFServiceGraph getGraph(Node arg0) { - return new RDFServiceGraph(rdfService, arg0.getURI()); + String graphURI = arg0.getURI(); + if(graphCache.containsKey(graphURI)) { + return graphCache.get(graphURI); + } else { + RDFServiceGraph graph = new RDFServiceGraph(rdfService, arg0.getURI()); + graphCache.put(graphURI, graph); + if(transactionMode != null && supportsTransactions(graph)) { + graph.getTransactionHandler().begin(); + } + return graph; + } + } + + private boolean supportsTransactions(Graph graph) { + return (graph.getTransactionHandler() != null + && graph.getTransactionHandler().transactionsSupported()); } @Override @@ -205,13 +235,11 @@ public class RDFServiceDatasetGraph implements DatasetGraph { @Override public void removeGraph(Node arg0) { // TODO Auto-generated method stub - } @Override public void setDefaultGraph(Graph arg0) { // TODO Auto-generated method stub - } @Override @@ -229,4 +257,5 @@ public class RDFServiceDatasetGraph implements DatasetGraph { return "RDFServiceDatasetGraph[" + ToString.hashHex(this) + ", " + rdfService + "]"; } + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraph.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraph.java similarity index 72% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraph.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraph.java index ff262da04..a8ad33786 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraph.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraph.java @@ -5,9 +5,9 @@ package edu.cornell.mannlib.vitro.webapp.dao.jena; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -23,14 +23,15 @@ import com.hp.hpl.jena.graph.TripleMatch; import com.hp.hpl.jena.graph.impl.GraphWithPerform; import com.hp.hpl.jena.graph.impl.SimpleEventManager; import com.hp.hpl.jena.query.QuerySolution; -import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.rdf.listeners.StatementListener; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.shared.AddDeniedException; +import com.hp.hpl.jena.shared.Command; import com.hp.hpl.jena.shared.DeleteDeniedException; import com.hp.hpl.jena.shared.PrefixMapping; import com.hp.hpl.jena.shared.impl.PrefixMappingImpl; -import com.hp.hpl.jena.sparql.resultset.JSONInput; import com.hp.hpl.jena.util.iterator.ExtendedIterator; import com.hp.hpl.jena.util.iterator.SingletonIterator; import com.hp.hpl.jena.util.iterator.WrappedIterator; @@ -38,6 +39,7 @@ import com.hp.hpl.jena.util.iterator.WrappedIterator; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import edu.cornell.mannlib.vitro.webapp.rdfservice.adapters.VitroModelFactory; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; import edu.cornell.mannlib.vitro.webapp.utils.logging.ToString; @@ -51,6 +53,10 @@ public class RDFServiceGraph implements GraphWithPerform { private BulkUpdateHandler bulkUpdateHandler; private PrefixMapping prefixMapping = new PrefixMappingImpl(); private GraphEventManager eventManager; + + private boolean inTransaction = false; + private Graph additionsGraph = ModelFactory.createDefaultModel().getGraph(); + private Graph removalsGraph = ModelFactory.createDefaultModel().getGraph(); /** * Returns a SparqlGraph for the union of named graphs in a remote repository @@ -90,30 +96,82 @@ public class RDFServiceGraph implements GraphWithPerform { .append(sparqlNodeUpdate(t.getObject(), "")).append(" ."); return sb.toString(); } - - @Override - public void performAdd(Triple t) { + private synchronized void flush() { ChangeSet changeSet = rdfService.manufactureChangeSet(); try { - changeSet.addAddition(RDFServiceUtils.toInputStream(serialize(t)), - RDFService.ModelSerializationFormat.N3, graphURI); + if(!removalsGraph.isEmpty()) { + String removals = serializeGraph(removalsGraph); + changeSet.addRemoval(RDFServiceUtils.toInputStream(removals), + RDFService.ModelSerializationFormat.N3, graphURI); + removalsGraph.clear(); + } + if(!additionsGraph.isEmpty()) { + String additions = serializeGraph(additionsGraph); + changeSet.addAddition(RDFServiceUtils.toInputStream(additions), + RDFService.ModelSerializationFormat.N3, graphURI); + additionsGraph.clear(); + } rdfService.changeSetUpdate(changeSet); } catch (RDFServiceException rdfse) { throw new RuntimeException(rdfse); } - + } + + private synchronized String serializeGraph(Graph graph) { + String triples = ""; + Iterator tripIt = graph.find(null, null, null); + while(tripIt.hasNext()) { + triples += " \n" + serialize(tripIt.next()); + } + return triples; + } + + @Override + public void performAdd(Triple t) { + if(inTransaction) { + stageAddition(t); + } else { + ChangeSet changeSet = rdfService.manufactureChangeSet(); + try { + changeSet.addAddition(RDFServiceUtils.toInputStream(serialize(t)), + RDFService.ModelSerializationFormat.N3, graphURI); + rdfService.changeSetUpdate(changeSet); + } catch (RDFServiceException rdfse) { + throw new RuntimeException(rdfse); + } + } + } + + private void stageAddition(Triple t) { + if(removalsGraph.contains(t)) { + removalsGraph.remove(t.getSubject(), t.getPredicate(), t.getObject()); + } else { + additionsGraph.add(t); + } } @Override public void performDelete(Triple t) { - ChangeSet changeSet = rdfService.manufactureChangeSet(); - try { - changeSet.addRemoval(RDFServiceUtils.toInputStream(serialize(t)), - RDFService.ModelSerializationFormat.N3, graphURI); - rdfService.changeSetUpdate(changeSet); - } catch (RDFServiceException rdfse) { - throw new RuntimeException(rdfse); + if(inTransaction) { + stageDeletion(t); + } else { + ChangeSet changeSet = rdfService.manufactureChangeSet(); + try { + changeSet.addRemoval(RDFServiceUtils.toInputStream(serialize(t)), + RDFService.ModelSerializationFormat.N3, graphURI); + rdfService.changeSetUpdate(changeSet); + } catch (RDFServiceException rdfse) { + throw new RuntimeException(rdfse); + } + } + } + + private synchronized void stageDeletion(Triple t) { + if(additionsGraph.contains(t)) { + additionsGraph.remove(t.getSubject(), t.getPredicate(), t.getObject()); + } else { + removalsGraph.add(t); } } @@ -124,16 +182,30 @@ public class RDFServiceGraph implements GraphWithPerform { } String constructStr = "CONSTRUCT { ?s ?p ?o } WHERE { GRAPH <" + graphURI + "> { ?s ?p ?o } }"; try { - InputStream model = rdfService.sparqlConstructQuery( - constructStr, RDFService.ModelSerializationFormat.N3); - ChangeSet changeSet = rdfService.manufactureChangeSet(); - changeSet.addRemoval(model, RDFService.ModelSerializationFormat.N3, graphURI); - rdfService.changeSetUpdate(changeSet); + if(inTransaction) { + Model model = ModelFactory.createDefaultModel(); + rdfService.sparqlConstructQuery(constructStr, model); + stageRemoveAll(model); + } else { + InputStream model = rdfService.sparqlConstructQuery( + constructStr, RDFService.ModelSerializationFormat.N3); + ChangeSet changeSet = rdfService.manufactureChangeSet(); + changeSet.addRemoval(model, RDFService.ModelSerializationFormat.N3, graphURI); + rdfService.changeSetUpdate(changeSet); + } } catch (RDFServiceException rdfse) { throw new RuntimeException(rdfse); } } + private void stageRemoveAll(Model removals) { + StmtIterator sit = removals.listStatements(); + while (sit.hasNext()) { + Triple t = sit.nextStatement().asTriple(); + stageDeletion(t); + } + } + @Override public void close() { // can't close a remote endpoint @@ -167,7 +239,22 @@ public class RDFServiceGraph implements GraphWithPerform { ResultSetConsumer.HasResult consumer = new ResultSetConsumer.HasResult(); execSelect(containsQuery.toString(), consumer); - return consumer.hasResult(); + boolean initialResult = consumer.hasResult(); + if(!inTransaction) { + return initialResult; + } else { + Triple t = Triple.create(subject, predicate, object); + return (initialResult || additionsGraphContains(t)) + && !removalsGraphContains(t); + } + } + + private synchronized boolean additionsGraphContains(Triple t) { + return additionsGraph.contains(t); + } + + private synchronized boolean removalsGraphContains(Triple t) { + return removalsGraph.contains(t); } @Override @@ -260,7 +347,11 @@ public class RDFServiceGraph implements GraphWithPerform { String queryString = findQuery.toString(); final List triplist = new ArrayList(); - + if(inTransaction) { + addAdditions(triplist, additionsGraph.find(subject, predicate, object)); + subtractRemovals(triplist, removalsGraph.find(subject, predicate, object)); + } + execSelect(queryString, new ResultSetConsumer() { @Override protected void processQuerySolution(QuerySolution qs) { @@ -287,6 +378,24 @@ public class RDFServiceGraph implements GraphWithPerform { return WrappedIterator.create(triplist.iterator()); } + private void addAdditions(List tripList, ExtendedIterator tripIt) { + while(tripIt.hasNext()) { + Triple t = tripIt.next(); + if(!tripList.contains(t)) { + tripList.add(t); + } + } + } + + private void subtractRemovals(List tripList, ExtendedIterator tripIt) { + while(tripIt.hasNext()) { + Triple t = tripIt.next(); + if(tripList.contains(t)) { + tripList.remove(t); + } + } + } + private boolean isVar(Node node) { return (node == null || node.isVariable() || node == Node.ANY); } @@ -321,12 +430,11 @@ public class RDFServiceGraph implements GraphWithPerform { @Override public GraphStatisticsHandler getStatisticsHandler() { return null; - } - + } + @Override public TransactionHandler getTransactionHandler() { - // TODO Auto-generated method stub - return null; + return transactionHandler; } @Override @@ -398,11 +506,42 @@ public class RDFServiceGraph implements GraphWithPerform { public boolean iteratorRemoveAllowed() { return false; } - + @Override public boolean sizeAccurate() { return true; } + }; + + private final TransactionHandler transactionHandler = new TransactionHandler() { + @Override + public synchronized void abort() { + inTransaction = false; + removalsGraph.clear(); + additionsGraph.clear(); + } + + @Override + public synchronized void begin() { + inTransaction = true; + } + + @Override + public synchronized void commit() { + flush(); + inTransaction = false; + } + + @Override + public Object executeInTransaction(Command arg0) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean transactionsSupported() { + return true; + } }; private void execSelect(String queryStr, ResultSetConsumer consumer) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraphBulkUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraphBulkUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraphBulkUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceGraphBulkUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceModelMaker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceModelMaker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceModelMaker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RDFServiceModelMaker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/Regenerable.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/Regenerable.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/Regenerable.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/Regenerable.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphConnectionGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphConnectionGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphConnectionGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphConnectionGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SDBGraphGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SQLGraphGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SQLGraphGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SQLGraphGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SQLGraphGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SimpleOntModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SimpleOntModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SimpleOntModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SimpleOntModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SingleContentOntModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SingleContentOntModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SingleContentOntModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SingleContentOntModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraph.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraph.java similarity index 95% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraph.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraph.java index e92cf2997..ff80fc81c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraph.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraph.java @@ -7,6 +7,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import edu.cornell.mannlib.vitro.webapp.utils.http.HttpClientFactory; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpResponse; @@ -44,6 +45,7 @@ import com.hp.hpl.jena.util.iterator.SingletonIterator; import com.hp.hpl.jena.util.iterator.WrappedIterator; import edu.cornell.mannlib.vitro.webapp.utils.logging.ToString; +import org.apache.http.util.EntityUtils; public class SparqlGraph implements GraphWithPerform { @@ -73,9 +75,7 @@ public class SparqlGraph implements GraphWithPerform { this.endpointURI = endpointURI; this.graphURI = graphURI; - PoolingClientConnectionManager cm = new PoolingClientConnectionManager(); - cm.setDefaultMaxPerRoute(50); - this.httpClient = new DefaultHttpClient(cm); + this.httpClient = HttpClientFactory.getHttpClient(); } public String getEndpointURI() { @@ -91,22 +91,28 @@ public class SparqlGraph implements GraphWithPerform { performAdd(arg0); } - public void executeUpdate(String updateString) { + public void executeUpdate(String updateString) { + HttpPost meth = new HttpPost(endpointURI); try { - HttpPost meth = new HttpPost(endpointURI); meth.addHeader("Content-Type", "application/x-www-form-urlencoded"); meth.setEntity(new UrlEncodedFormEntity(Arrays.asList( new BasicNameValuePair("update", updateString)))); HttpResponse response = httpClient.execute(meth); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode > 399) { - log.error("response " + statusCode + " to update. \n"); - throw new RuntimeException("Unable to perform SPARQL UPDATE: \n" - + updateString); + try { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode > 399) { + log.error("response " + statusCode + " to update. \n"); + throw new RuntimeException("Unable to perform SPARQL UPDATE: \n" + + updateString); + } + } finally { + EntityUtils.consume(response.getEntity()); } } catch (Exception e) { throw new RuntimeException("Unable to perform SPARQL UPDATE", e); - } + } finally { + meth.abort(); + } } @Override diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphBulkUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphBulkUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphBulkUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphBulkUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphMultilingual.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphMultilingual.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphMultilingual.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/SparqlGraphMultilingual.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/StaticDatasetFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/StaticDatasetFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/StaticDatasetFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/StaticDatasetFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/TripleStoreUnavailableException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/TripleStoreUnavailableException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/TripleStoreUnavailableException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/TripleStoreUnavailableException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoSDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoSDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java similarity index 94% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java index 9d2c36bad..baff88223 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java @@ -16,6 +16,7 @@ import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.listeners.StatementListener; +import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ResourceFactory; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.shared.Lock; @@ -33,6 +34,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.filtering.WebappDaoFactoryFiltering; import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.VitroFilterUtils; import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.VitroFilters; +import edu.cornell.mannlib.vitro.webapp.dao.jena.event.BulkUpdateEvent; import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess; import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngine; import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngineException; @@ -161,9 +163,28 @@ public class VClassGroupCache implements SearchIndexer.Listener { VclassMap = classMap; } + private boolean paused = false; + private boolean updateRequested = false; + + public void pause() { + this.paused = true; + } + + public void unpause() { + this.paused = false; + if(updateRequested) { + updateRequested = false; + requestCacheUpdate(); + } + } + public void requestCacheUpdate() { - log.debug("requesting update"); - _cacheRebuildThread.informOfQueueChange(); + log.debug("requesting update"); + if(paused) { + updateRequested = true; + } else { + _cacheRebuildThread.informOfQueueChange(); + } } protected void requestStop() { @@ -460,20 +481,29 @@ public class VClassGroupCache implements SearchIndexer.Listener { log.debug("subject: " + stmt.getSubject().getURI()); log.debug("predicate: " + stmt.getPredicate().getURI()); } - if (RDF.type.getURI().equals(stmt.getPredicate().getURI())) { + if (RDF.type.equals(stmt.getPredicate())) { requestCacheUpdate(); } else if (VitroVocabulary.IN_CLASSGROUP.equals(stmt.getPredicate().getURI())) { requestCacheUpdate(); } else if(VitroVocabulary.DISPLAY_RANK.equals(stmt.getPredicate().getURI())){ requestCacheUpdate(); - } else { - OntModel jenaOntModel = ModelAccess.on(context).getOntModel(); + } else if (RDFS.label.equals(stmt.getPredicate())){ + OntModel jenaOntModel = ModelAccess.on(context).getOntModelSelector().getTBoxModel(); if( isClassNameChange(stmt, jenaOntModel) ) { requestCacheUpdate(); } } } + public void notifyEvent(Model model, Object event) { + if (event instanceof BulkUpdateEvent) { + if(((BulkUpdateEvent) event).getBegin()) { + pause(); + } else { + unpause(); + } + } + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupDaoJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroModelSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactorySDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactorySDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactorySDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactorySDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/BulkUpdateEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/BulkUpdateEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/BulkUpdateEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/BulkUpdateEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/CloseEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/CloseEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/CloseEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/CloseEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/EditEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/EditEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/EditEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/EditEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualCreationEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualCreationEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualCreationEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualCreationEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualDeletionEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualDeletionEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualDeletionEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualDeletionEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualEditEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualEditEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualEditEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualEditEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualUpdateEvent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualUpdateEvent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualUpdateEvent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/event/IndividualUpdateEvent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearch.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearch.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearch.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearch.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dwr/EntityDWR.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dwr/EntityDWR.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dwr/EntityDWR.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dwr/EntityDWR.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dwr/PropertyDWR.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dwr/PropertyDWR.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dwr/PropertyDWR.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dwr/PropertyDWR.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dwr/VClassDWR.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dwr/VClassDWR.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/dwr/VClassDWR.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/dwr/VClassDWR.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/EditLiteral.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/EditLiteral.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/EditLiteral.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/EditLiteral.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/IndividualDataPropertyStatementProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/IndividualDataPropertyStatementProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/IndividualDataPropertyStatementProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/IndividualDataPropertyStatementProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/VclassOntologyLinker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/VclassOntologyLinker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/VclassOntologyLinker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/listener/impl/VclassOntologyLinker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/AdditionsAndRetractions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/AdditionsAndRetractions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/AdditionsAndRetractions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/AdditionsAndRetractions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditElementVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditElementVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditElementVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditElementVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditSubmissionPreprocessorVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditSubmissionPreprocessorVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditSubmissionPreprocessorVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditSubmissionPreprocessorVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeIntervalValidationVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeIntervalValidationVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeIntervalValidationVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeIntervalValidationVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeWithPrecisionVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeWithPrecisionVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeWithPrecisionVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/DateTimeWithPrecisionVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditElementVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditElementVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditElementVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditElementVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionVTwoPreprocessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionVTwoPreprocessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionVTwoPreprocessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditSubmissionVTwoPreprocessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/JspToGeneratorMapping.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/JspToGeneratorMapping.java similarity index 88% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/JspToGeneratorMapping.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/JspToGeneratorMapping.java index c6f2e1029..6a59b161a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/JspToGeneratorMapping.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/JspToGeneratorMapping.java @@ -56,4 +56,18 @@ public class JspToGeneratorMapping { log.error( "could not load VIVO jsp mappings",th ); } } + + public static T createFor(String jsp, Class clazz) { + try { + if (jspsToGenerators.containsKey(jsp)) { + Class classDefinition = Class.forName(jspsToGenerators.get(jsp)); + if (clazz.isAssignableFrom(classDefinition)) { + return (T) classDefinition.newInstance(); + } + } + } catch (Throwable th) { + } + + return null; + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/MultiValueEditSubmission.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/MultiValueEditSubmission.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/MultiValueEditSubmission.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/MultiValueEditSubmission.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3EditUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3EditUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3EditUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3EditUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3ValidatorVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3ValidatorVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3ValidatorVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/N3ValidatorVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/NewURIMaker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/NewURIMaker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/NewURIMaker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/NewURIMaker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfForm.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfForm.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfForm.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfForm.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/RdfLiteralHash.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/RdfLiteralHash.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/RdfLiteralHash.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/RdfLiteralHash.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/SparqlEvaluateVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/SparqlEvaluateVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/SparqlEvaluateVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/SparqlEvaluateVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesWithParent.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesWithParent.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesWithParent.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ChildVClassesWithParent.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ConstantFieldOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ConstantFieldOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ConstantFieldOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/ConstantFieldOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/FieldVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaClassGroupOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaClassGroupOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaClassGroupOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaClassGroupOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropertyByRankOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropertyByRankOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropertyByRankOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropertyByRankOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropetyOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropetyOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropetyOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaObjectPropetyOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaSearchQueryOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaSearchQueryOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaSearchQueryOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaSearchQueryOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaVClassOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaVClassOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaVClassOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/IndividualsViaVClassOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/RdfTypeOptions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/RdfTypeOptions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/RdfTypeOptions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/RdfTypeOptions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/SelectListGeneratorVTwo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/SelectListGeneratorVTwo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/SelectListGeneratorVTwo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/SelectListGeneratorVTwo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/EditConfigurationConstants.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/EditConfigurationConstants.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/EditConfigurationConstants.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/EditConfigurationConstants.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/IdModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/IdModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/IdModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/IdModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/ModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/ModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/ModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/ModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardWDFSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardWDFSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardWDFSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/StandardWDFSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/WDFSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/WDFSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/WDFSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/WDFSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AutocompleteObjectPropertyFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AutocompleteObjectPropertyFormGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AutocompleteObjectPropertyFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AutocompleteObjectPropertyFormGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/BaseEditConfigurationGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeIntervalFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeIntervalFormGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeIntervalFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeIntervalFormGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimePropertyGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimePropertyGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimePropertyGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimePropertyGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeValueFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeValueFormGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeValueFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DateTimeValueFormGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java similarity index 94% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java index dc9ef5acf..9404ce6e4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultAddMissingIndividualFormGenerator.java @@ -10,6 +10,7 @@ import java.util.Map; import javax.servlet.http.HttpSession; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.searchresult.IndividualSearchResult; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -34,8 +35,7 @@ import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess; * */ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurationGenerator { - - private Log log = LogFactory.getLog(DefaultAddMissingIndividualFormGenerator.class); + private static final Log log = LogFactory.getLog(DefaultAddMissingIndividualFormGenerator.class); private boolean isObjectPropForm = false; private String subjectUri = null; private String predicateUri = null; @@ -43,16 +43,17 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati private String template = "defaultAddMissingIndividualForm.ftl"; private static String createCommand = "create"; - private static String objectVarName = "newIndividual"; + protected static String objectVarName = "newIndividual"; private static HashMap defaultsForXSDtypes ; - static { + + static { defaultsForXSDtypes = new HashMap(); //defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","2001-01-01T12:00:00"); defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","#Unparseable datetime defaults to now"); - } - - //Method which checks whether this particular generator should be employed - public static boolean isCreateNewIndividual(VitroRequest vreq, HttpSession session) { + } + + //Method which checks whether this particular generator should be employed + public static final boolean isCreateNewIndividual(VitroRequest vreq, HttpSession session) { String command = vreq.getParameter("cmd"); String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); //This method also looks at domain and range uris and so is different than just getting the @@ -97,7 +98,10 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati //set fields setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq)); - + + //form specific data + addFormSpecificData(editConfiguration, vreq); + //add preprocesoors addPreprocessors(vreq, editConfiguration); @@ -116,7 +120,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati return editConfiguration; } - private Map generateNewResources(VitroRequest vreq) { + protected Map generateNewResources(VitroRequest vreq) { HashMap newResources = new HashMap(); //Null triggers default namespace newResources.put(objectVarName, null); @@ -210,14 +214,14 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati return n3ForEdit; } - private List getN3Prefixes() { + protected List getN3Prefixes() { List prefixStrings = new ArrayList(); prefixStrings.add("@prefix rdf: ."); prefixStrings.add("@prefix rdfs: ."); return prefixStrings; } - private String getN3PrefixesAsString() { + protected String getN3PrefixesAsString() { String prefixes = StringUtils.join(getN3Prefixes(), "\n"); return prefixes; } @@ -226,7 +230,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati return "?" + objectVarName + " rdfs:label ?name ."; } - private List generateN3Optional(VitroRequest vreq) { + protected List generateN3Optional(VitroRequest vreq) { //flag uri and asserted types need to be added here List n3Optional = new ArrayList(); n3Optional.add("?" + objectVarName + " ?inverseProp ?subject ."); @@ -268,7 +272,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati //n3 should look as follows //?subject ?predicate ?objectVar - private void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + protected void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { List urisOnForm = new ArrayList(); List literalsOnForm = new ArrayList(); literalsOnForm.add("name"); @@ -308,7 +312,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati } - private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) { + protected void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) { Map fields = new HashMap(); if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)) { @@ -391,7 +395,7 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati return (typeOfNew != null && !typeOfNew.isEmpty()); } - private String getTypeOfNew(VitroRequest vreq) { + protected String getTypeOfNew(VitroRequest vreq) { return vreq.getParameter("typeOfNew"); } // The default object proepty form offers the option to create a new item @@ -456,7 +460,6 @@ public class DefaultAddMissingIndividualFormGenerator implements EditConfigurati } - - - + public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDataPropertyFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDataPropertyFormGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDataPropertyFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDataPropertyFormGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDeleteGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDeleteGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDeleteGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultDeleteGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java index d2528fb2f..60fd889d8 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java @@ -12,6 +12,7 @@ import java.util.Map; import javax.servlet.http.HttpSession; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.JspToGeneratorMapping; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -98,7 +99,7 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene //Check if create new and return specific edit configuration from that generator. if(DefaultAddMissingIndividualFormGenerator.isCreateNewIndividual(vreq, session)) { - DefaultAddMissingIndividualFormGenerator generator = new DefaultAddMissingIndividualFormGenerator(); + EditConfigurationGenerator generator = JspToGeneratorMapping.createFor("defaultAddMissingIndividualForm.jsp", DefaultAddMissingIndividualFormGenerator.class); return generator.getEditConfiguration(vreq, session); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationAJAXGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationAJAXGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationAJAXGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationAJAXGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/EditConfigurationGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/IndividualsByRankFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/IndividualsByRankFormGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/IndividualsByRankFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/IndividualsByRankFormGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/InstitutionalInternalClassForm.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/InstitutionalInternalClassForm.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/InstitutionalInternalClassForm.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/InstitutionalInternalClassForm.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForIndividualGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForIndividualGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForIndividualGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForIndividualGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManagePageGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java index f46d60022..98440ba14 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java @@ -37,11 +37,11 @@ public class NewIndividualFormGenerator implements EditConfigurationGenerator { private String template = "newIndividualForm.ftl"; private static HashMap defaultsForXSDtypes ; - static { + static { defaultsForXSDtypes = new HashMap(); //defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","2001-01-01T12:00:00"); defaultsForXSDtypes.put("http://www.w3.org/2001/XMLSchema#dateTime","#Unparseable datetime defaults to now"); - } + } @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RDFSLabelGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RdfTypeGenerator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RdfTypeGenerator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RdfTypeGenerator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/RdfTypeGenerator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultAddMissingIndividualFormModelPreprocessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultAddMissingIndividualFormModelPreprocessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultAddMissingIndividualFormModelPreprocessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultAddMissingIndividualFormModelPreprocessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultDataPropEmptyField.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultDataPropEmptyField.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultDataPropEmptyField.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/DefaultDataPropEmptyField.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManagePagePreprocessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManagePagePreprocessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManagePagePreprocessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManagePagePreprocessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ModelChangePreprocessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ModelChangePreprocessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ModelChangePreprocessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ModelChangePreprocessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessClassGroupDataGetterN3.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessClassGroupDataGetterN3.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessClassGroupDataGetterN3.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessClassGroupDataGetterN3.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterAbstract.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterAbstract.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterAbstract.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterAbstract.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3.java diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Map.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Map.java new file mode 100644 index 000000000..e36799c36 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Map.java @@ -0,0 +1,35 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils; + +import java.util.HashMap; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/* + * This class determines what n3 should be returned for a particular data getter and can be overwritten or extended in VIVO. + */ +public class ProcessDataGetterN3Map { + private static final Log log = LogFactory.getLog(ProcessDataGetterN3Map.class); + + private static HashMap dataGetterMap; + + static { + dataGetterMap = new HashMap(); + dataGetterMap.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessSparqlDataGetterN3"); + dataGetterMap.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessClassGroupDataGetterN3"); + dataGetterMap.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessIndividualsForClassesDataGetterN3"); + dataGetterMap.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.FixedHTMLDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessFixedHTMLN3"); + dataGetterMap.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SearchIndividualsDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessSearchIndividualsDataGetterN3"); + } + + public static HashMap getDataGetterTypeToProcessorMap() { + return dataGetterMap; + } + + public static void replaceDataGetterMap(HashMap newMap) { + dataGetterMap = new HashMap(); + dataGetterMap.putAll(newMap); + } +} \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Utils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Utils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Utils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Utils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessFixedHTMLN3.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessFixedHTMLN3.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessFixedHTMLN3.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessFixedHTMLN3.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessIndividualsForClassesDataGetterN3.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessIndividualsForClassesDataGetterN3.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessIndividualsForClassesDataGetterN3.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessIndividualsForClassesDataGetterN3.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSearchIndividualsDataGetterN3.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSearchIndividualsDataGetterN3.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSearchIndividualsDataGetterN3.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSearchIndividualsDataGetterN3.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSparqlDataGetterN3.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSparqlDataGetterN3.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSparqlDataGetterN3.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessSparqlDataGetterN3.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidation.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidation.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidation.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidation.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/DefaultDataPropertyFormValidator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/DefaultDataPropertyFormValidator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/DefaultDataPropertyFormValidator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/DefaultDataPropertyFormValidator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestAJAXController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestAJAXController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestAJAXController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestAJAXController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/EditRequestDispatchController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/PostEditCleanupController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/ProcessRdfFormController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/ProcessRdfFormController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/ProcessRdfFormController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/controller/ProcessRdfFormController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailMessage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailMessage.java similarity index 95% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailMessage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailMessage.java index 710242dd9..b770be6c8 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailMessage.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/email/FreemarkerEmailMessage.java @@ -172,15 +172,15 @@ public class FreemarkerEmailMessage { if (htmlContent.isEmpty()) { log.error("Message has neither text body nor HTML body"); } else { - msg.setContent(htmlContent, "text/html"); + msg.setContent(htmlContent, "text/html; charset=UTF-8"); } } else { if (htmlContent.isEmpty()) { - msg.setContent(textContent, "text/plain"); + msg.setContent(textContent, "text/plain; charset=UTF-8"); } else { MimeMultipart content = new MimeMultipart("alternative"); - addBodyPart(content, textContent, "text/plain"); - addBodyPart(content, htmlContent, "text/html"); + addBodyPart(content, textContent, "text/plain; charset=UTF-8"); + addBodyPart(content, htmlContent, "text/html; charset=UTF-8"); msg.setContent(content); } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/TempFileHolder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/TempFileHolder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/TempFileHolder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/TempFileHolder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/UploadedFileHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/UploadedFileHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/UploadedFileHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/UploadedFileHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidCharacterException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidCharacterException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidCharacterException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidCharacterException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidPathException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidPathException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidPathException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/InvalidPathException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/package.html b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/package.html similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/impl/package.html rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/package.html diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/ImageInfo.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/model/ImageInfo.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/ImageInfo.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/model/ImageInfo.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/serving/FileServingServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/serving/FileServingServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/serving/FileServingServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filestorage/serving/FileServingServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/CachingResponseFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/CachingResponseFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/CachingResponseFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/CachingResponseFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/CharsetEncodingFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/CharsetEncodingFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/CharsetEncodingFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/CharsetEncodingFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/ClickjackFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/ClickjackFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/ClickjackFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/ClickjackFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/JSessionStripFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/JSessionStripFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/JSessionStripFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/JSessionStripFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/ModelSwitcher.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/ModelSwitcher.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/ModelSwitcher.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/ModelSwitcher.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/PageRoutingFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/PageRoutingFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/PageRoutingFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/PageRoutingFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestLoggerFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/RequestLoggerFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestLoggerFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/RequestLoggerFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/SessionTimeoutLimitingFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/SessionTimeoutLimitingFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/SessionTimeoutLimitingFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/SessionTimeoutLimitingFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/StartupStatusDisplayFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/StartupStatusDisplayFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/StartupStatusDisplayFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/StartupStatusDisplayFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/TestFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/TestFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/TestFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/TestFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/URLRewriterFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/URLRewriterFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/URLRewriterFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/URLRewriterFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponse.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponse.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponse.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponse.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroURL.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/VitroURL.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/filters/VitroURL.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/filters/VitroURL.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfiguration.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfiguration.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfiguration.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfiguration.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfigurationImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfigurationImpl.java similarity index 95% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfigurationImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfigurationImpl.java index 7d2c05c9d..d55630ecc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfigurationImpl.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/config/FreemarkerConfigurationImpl.java @@ -14,6 +14,9 @@ import java.util.Set; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; +import freemarker.core.ParseException; +import freemarker.template.MalformedTemplateNameException; +import freemarker.template.TemplateNotFoundException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -145,9 +148,8 @@ public class FreemarkerConfigurationImpl extends Configuration { * it must call retrieveAndRunDataGetters() for the top-level Template. */ @Override - public Template getTemplate(String name, Locale locale, String encoding, - boolean parse) throws IOException { - Template template = super.getTemplate(name, locale, encoding, parse); + public Template getTemplate(String name, Locale locale, Object customLookupCondition, String encoding, boolean parseAsFTL, boolean ignoreMissing) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException { + Template template = super.getTemplate(name, locale, customLookupCondition, encoding, parseAsFTL, ignoreMissing); if (template == null) { log.debug("Template '" + name + "' not found for locale '" + locale diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoader.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoader.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoader.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoader.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/I18n.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/I18n.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/I18n.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/I18n.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/I18nBundle.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/I18nBundle.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/I18nBundle.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/I18nBundle.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/I18nLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/I18nLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/I18nLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/I18nLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/VitroResourceBundle.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/VitroResourceBundle.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/VitroResourceBundle.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/VitroResourceBundle.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nBundleTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nBundleTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nBundleTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nBundleTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nMethodModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nMethodModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nMethodModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nMethodModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nStringTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nStringTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nStringTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/freemarker/I18nStringTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionDataGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionDataGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectorUtilities.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectorUtilities.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectorUtilities.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectorUtilities.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/SelectedLocale.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/SelectedLocale.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/i18n/selection/SelectedLocale.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/SelectedLocale.java diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/imageio/IIOImageProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/imageio/IIOImageProcessor.java new file mode 100644 index 000000000..7add5de92 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/imageio/IIOImageProcessor.java @@ -0,0 +1,208 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.imageprocessor.imageio; + +import com.sun.media.jai.codec.MemoryCacheSeekableStream; +import edu.cornell.mannlib.vitro.webapp.modules.Application; +import edu.cornell.mannlib.vitro.webapp.modules.ComponentStartupStatus; +import edu.cornell.mannlib.vitro.webapp.modules.imageProcessor.ImageProcessor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.imageio.ImageIO; +import javax.media.jai.JAI; +import javax.media.jai.RenderedOp; +import javax.media.jai.operator.BandSelectDescriptor; +import javax.media.jai.operator.StreamDescriptor; +import javax.media.jai.util.ImagingListener; +import java.awt.geom.AffineTransform; +import java.awt.image.AffineTransformOp; +import java.awt.image.BufferedImage; +import java.awt.image.ColorConvertOp; +import java.awt.image.ColorModel; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * Crop the main image as specified, and scale it to the correct size for a + * thumbnail. + * + * Use the JAI library to read the file because the javax.imageio package + * doesn't read extended JPEG properly. Use JAI to remove transparency from + * JPEGs and PNGs, simply by removing the alpha channel. Annoyingly, this will + * not work with GIFs with transparent pixels. + * + * The transforms in the JAI library are buggy, so standard AWT operations do + * the scaling and cropping. The most obvious problem in the JAI library is the + * refusal to crop after scaling an image. + * + * Scale first to avoid the boundary error that produces black lines along the + * edge of the image. + * + * Use the javax.imagio pacakge to write the thumbnail image as a JPEG file. + */ +public class IIOImageProcessor implements ImageProcessor { + private static final Log log = LogFactory.getLog(IIOImageProcessor.class); + + /** If an image has 3 color bands and 1 alpha band, we want these. */ + private static final int[] COLOR_BAND_INDEXES = new int[] { 0, 1, 2 }; + + /** + * Prevent Java Advanced Imaging from complaining about the lack of + * accelerator classes. + */ + @Override + public void startup(Application application, ComponentStartupStatus ss) { + JAI.getDefaultInstance().setImagingListener( + new NonNoisyImagingListener()); + } + + @Override + public void shutdown(Application application) { + // Nothing to tear down. + } + + @Override + public Dimensions getDimensions(InputStream imageStream) throws ImageProcessorException, IOException { + MemoryCacheSeekableStream stream = new MemoryCacheSeekableStream(imageStream); + BufferedImage image = ImageIO.read(stream); + return new Dimensions(image.getWidth(), image.getHeight()); + } + + /** + * Crop the main image according to this rectangle, and scale it to the + * correct size for a thumbnail. + */ + @Override + public InputStream cropAndScale(InputStream mainImageStream, + CropRectangle crop, Dimensions limits) + throws ImageProcessorException, IOException { + try { + MemoryCacheSeekableStream stream = new MemoryCacheSeekableStream(mainImageStream); + BufferedImage mainImage = ImageIO.read(stream); + + BufferedImage bufferedImage = new BufferedImage(mainImage.getWidth(), mainImage.getHeight(), BufferedImage.TYPE_3BYTE_BGR); // BufferedImage.TYPE_INT_RGB + new ColorConvertOp(null).filter(mainImage, bufferedImage); + + log.debug("initial image: " + imageSize(bufferedImage)); + + log.debug("initial crop: " + crop); + CropRectangle boundedCrop = limitCropRectangleToImageBounds( + bufferedImage, crop); + log.debug("bounded crop: " + boundedCrop); + + float scaleFactor = figureScaleFactor(boundedCrop, limits); + log.debug("scale factor: " + scaleFactor); + + BufferedImage scaledImage = scaleImage(bufferedImage, scaleFactor); + log.debug("scaled image: " + imageSize(scaledImage)); + + CropRectangle rawScaledCrop = adjustCropRectangleToScaledImage( + boundedCrop, scaleFactor); + log.debug("scaled crop: " + rawScaledCrop); + CropRectangle scaledCrop = limitCropRectangleToImageBounds( + scaledImage, rawScaledCrop); + log.debug("bounded scaled crop: " + scaledCrop); + + BufferedImage croppedImage = cropImage(scaledImage, scaledCrop); + log.debug("cropped image: " + imageSize(croppedImage)); + + byte[] jpegBytes = encodeAsJpeg(croppedImage); + return new ByteArrayInputStream(jpegBytes); + } catch (Exception e) { + throw new IllegalStateException("Failed to scale the image", e); + } + } + + private String imageSize(BufferedImage image) { + return image.getWidth() + " by " + image.getHeight(); + } + + private CropRectangle limitCropRectangleToImageBounds(BufferedImage image, + CropRectangle crop) { + + int imageWidth = image.getWidth(); + int imageHeight = image.getHeight(); + + // Ensure that x and y are at least zero, but not big enough to push the + // crop rectangle out of the image. + int greatestX = imageWidth - MINIMUM_CROP_SIZE; + int greatestY = imageHeight - MINIMUM_CROP_SIZE; + int x = Math.max(0, Math.min(greatestX, Math.abs(crop.x))); + int y = Math.max(0, Math.min(greatestY, Math.abs(crop.y))); + + // Ensure that width and height are at least as big as the minimum, but + // no so big as to extend beyond the image. + int greatestW = imageWidth - x; + int greatestH = imageHeight - y; + int w = Math.max(MINIMUM_CROP_SIZE, Math.min(greatestW, crop.width)); + int h = Math.max(MINIMUM_CROP_SIZE, Math.min(greatestH, crop.height)); + + return new CropRectangle(x, y, h, w); + } + + private float figureScaleFactor(CropRectangle boundedCrop, Dimensions limits) { + float horizontalScale = ((float) limits.width) + / ((float) boundedCrop.width); + float verticalScale = ((float) limits.height) + / ((float) boundedCrop.height); + return Math.min(horizontalScale, verticalScale); + } + + private BufferedImage scaleImage(BufferedImage image, float scaleFactor) { + AffineTransform transform = AffineTransform.getScaleInstance( + scaleFactor, scaleFactor); + AffineTransformOp atoOp = new AffineTransformOp(transform, null); + return atoOp.filter(image, null); + } + + private CropRectangle adjustCropRectangleToScaledImage(CropRectangle crop, + float scaleFactor) { + int newX = (int) (crop.x * scaleFactor); + int newY = (int) (crop.y * scaleFactor); + int newHeight = (int) (crop.height * scaleFactor); + int newWidth = (int) (crop.width * scaleFactor); + return new CropRectangle(newX, newY, newHeight, newWidth); + } + + private BufferedImage cropImage(BufferedImage image, CropRectangle crop) { + return image.getSubimage(crop.x, crop.y, crop.width, crop.height); + } + + private byte[] encodeAsJpeg(BufferedImage image) throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + ImageIO.write(image, "JPG", bytes); + return bytes.toByteArray(); + } + + /** + * This ImagingListener means that Java Advanced Imaging won't dump an + * exception log to System.out. It writes to the log, instead. + * + * Further, since the lack of native accelerator classes isn't an error, it + * is written as a simple log message. + */ + static class NonNoisyImagingListener implements ImagingListener { + @Override + public boolean errorOccurred(String message, Throwable thrown, + Object where, boolean isRetryable) throws RuntimeException { + if (thrown instanceof RuntimeException) { + throw (RuntimeException) thrown; + } + if ((thrown instanceof NoClassDefFoundError) + && (thrown.getMessage() + .contains("com/sun/medialib/mlib/Image"))) { + log.info("Java Advanced Imaging: Could not find mediaLib " + + "accelerator wrapper classes. " + + "Continuing in pure Java mode."); + return false; + } + log.error(thrown, thrown); + return false; + } + + } + +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessor.java similarity index 95% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessor.java index 6162e33fb..b5d4a7cae 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessor.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessor.java @@ -5,6 +5,7 @@ package edu.cornell.mannlib.vitro.webapp.imageprocessor.jai; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; +import java.awt.image.ColorConvertOp; import java.awt.image.ColorModel; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -85,9 +86,10 @@ public class JaiImageProcessor implements ImageProcessor { throws ImageProcessorException, IOException { try { RenderedOp mainImage = loadImage(mainImageStream); - RenderedOp opaqueImage = makeImageOpaque(mainImage); - BufferedImage bufferedImage = opaqueImage.getAsBufferedImage(); + BufferedImage bufferedImage = new BufferedImage(mainImage.getWidth(), mainImage.getHeight(), BufferedImage.TYPE_3BYTE_BGR); // BufferedImage.TYPE_INT_RGB + new ColorConvertOp(null).filter(mainImage.getAsBufferedImage(), bufferedImage); + log.debug("initial image: " + imageSize(bufferedImage)); log.debug("initial crop: " + crop); @@ -132,7 +134,7 @@ public class JaiImageProcessor implements ImageProcessor { } if (image.getNumBands() == 4) { - // The image has a separate alpha channel. Drop the alpha channel. + // The image has a separate alpha channel. Drop the alpha channel. return BandSelectDescriptor.create(image, COLOR_BAND_INDEXES, null); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel16/Release16Migrator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel16/Release16Migrator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel16/Release16Migrator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel16/Release16Migrator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel17/Release17Migrator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel17/Release17Migrator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel17/Release17Migrator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel17/Release17Migrator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel17/RemoveObsoletePermissions.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel17/RemoveObsoletePermissions.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel17/RemoveObsoletePermissions.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel17/RemoveObsoletePermissions.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel18/FauxPropertiesUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel18/FauxPropertiesUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel18/FauxPropertiesUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel18/FauxPropertiesUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel18/Release18Migrator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel18/Release18Migrator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel18/Release18Migrator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel18/Release18Migrator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel18/RemoveObsoleteMetadataGraphs.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel18/RemoveObsoleteMetadataGraphs.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/migration/rel18/RemoveObsoleteMetadataGraphs.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/migration/rel18/RemoveObsoleteMetadataGraphs.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccess.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccess.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccess.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccess.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccess.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccess.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccess.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccess.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelNames.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelNames.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelNames.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelNames.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccess.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccess.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccess.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccess.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/AbstractModelMakerDecorator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/AbstractModelMakerDecorator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/AbstractModelMakerDecorator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/AbstractModelMakerDecorator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMaker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMaker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMaker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMaker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMaker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMaker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMaker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMaker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModels.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModels.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModels.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModels.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/NamedDefaultModelMaker.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/NamedDefaultModelMaker.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/NamedDefaultModelMaker.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/NamedDefaultModelMaker.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/ContextModelAccessImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/ContextModelAccessImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/ContextModelAccessImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/ContextModelAccessImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/RequestModelAccessImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/RequestModelAccessImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/RequestModelAccessImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/RequestModelAccessImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/DatasetKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/DatasetKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/DatasetKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/DatasetKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/LanguageOptionKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/LanguageOptionKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/LanguageOptionKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/LanguageOptionKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/ModelAccessKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/ModelAccessKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/ModelAccessKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/ModelAccessKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelSelectorKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelSelectorKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelSelectorKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/OntModelSelectorKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/RDFServiceKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/RDFServiceKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/RDFServiceKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/RDFServiceKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/WebappDaoFactoryKey.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/WebappDaoFactoryKey.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/WebappDaoFactoryKey.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/impl/keys/WebappDaoFactoryKey.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/JoinedOntModelCache.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/JoinedOntModelCache.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/JoinedOntModelCache.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/JoinedOntModelCache.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/MaskingOntModelCache.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/MaskingOntModelCache.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/MaskingOntModelCache.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/MaskingOntModelCache.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/ModelMakerOntModelCache.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/ModelMakerOntModelCache.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/ModelMakerOntModelCache.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/ModelMakerOntModelCache.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/OntModelCache.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/OntModelCache.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/OntModelCache.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/OntModelCache.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/UnionModelsOntModelsCache.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/UnionModelsOntModelsCache.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/UnionModelsOntModelsCache.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modelaccess/ontmodels/UnionModelsOntModelsCache.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/Application.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/Application.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/Application.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/Application.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/ComponentStartupStatus.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/ComponentStartupStatus.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/ComponentStartupStatus.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/ComponentStartupStatus.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileAlreadyExistsException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileAlreadyExistsException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileAlreadyExistsException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileAlreadyExistsException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileStorage.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileStorage.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileStorage.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/fileStorage/FileStorage.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/imageProcessor/ImageProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/imageProcessor/ImageProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/imageProcessor/ImageProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/imageProcessor/ImageProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngine.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngine.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngine.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngine.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineNotRespondingException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineNotRespondingException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineNotRespondingException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineNotRespondingException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchFacetField.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchFacetField.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchFacetField.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchFacetField.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputDocument.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputDocument.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputDocument.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputDocument.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputField.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputField.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputField.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchInputField.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQuery.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQuery.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQuery.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQuery.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponse.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponse.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponse.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponse.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocument.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocument.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocument.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocument.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocumentList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocumentList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocumentList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResultDocumentList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStatus.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStatus.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStatus.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStatus.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerModule.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerModule.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerModule.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerModule.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerStatus.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerStatus.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerStatus.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tboxreasoner/TBoxReasonerStatus.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ConfigurationTripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ConfigurationTripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ConfigurationTripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ConfigurationTripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ContentTripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ContentTripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ContentTripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/ContentTripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/TripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/TripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/TripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/modules/tripleSource/TripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeRecord.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeRecord.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeRecord.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/ChangeRecord.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeRecord.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeRecord.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeRecord.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/SimpleChangeRecord.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/UpdateSettings.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/UpdateSettings.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/UpdateSettings.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/ontology/update/UpdateSettings.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java similarity index 50% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java index 4caed0674..ddd9df5aa 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java @@ -9,21 +9,12 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice; public interface ChangeListener { /** - * Override this to listen to all statements added to the RDF store. + * Override this to listen to each model change * - * @param serializedTriple - the added statement in n3 format - * @param graphURI - the graph to which the statement was added + * @param modelChange - the object representing the model change */ - public void addedStatement(String serializedTriple, String graphURI); - - /** - * Override this to listen to all statements removed from the RDF store. - * - * @param serializedTriple - the removed statement in n3 format - * @param graphURI - the graph from which the statement was removed - */ - public void removedStatement(String serializedTriple, String graphURI); - + public void notifyModelChange(ModelChange modelChange); + /** * Override this to listen to events pertaining to the given graphURI. * diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeSet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeSet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeSet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeSet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ModelChange.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ModelChange.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ModelChange.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ModelChange.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java similarity index 85% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java index bce1c4fa4..5aa0b9a15 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java @@ -2,12 +2,13 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice; -import com.hp.hpl.jena.rdf.model.Model; - import java.io.InputStream; import java.io.OutputStream; import java.util.List; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; + /** * Interface for API to write, read, and update Vitro's RDF store, with support * to allow listening, logging and auditing. @@ -195,22 +196,51 @@ public interface RDFService { */ public boolean isEquivalentGraph(String graphURI, InputStream serializedGraph, ModelSerializationFormat serializationFormat) throws RDFServiceException; - + /** - * Registers a listener to listen to changes in any graph in + * Tests to see whether the supplied serialization is equivalent to the + * named graph, as it exists in the store. Equivalence means that if this + * serialization were written to the store, the resulting graph would be + * isomorphic to the existing named graph. + * + * @param graphURI - the URI of the graph to test against. May not be null. + * @param graph - the contents to be compared with the existing graph. May not be null. + */ + public boolean isEquivalentGraph(String graphURI, Model graph) throws RDFServiceException; + + /** + * Registers a Jena listener to listen to changes in any graph in * the RDF store. * * @param changeListener - the change listener */ - public void registerListener(ChangeListener changeListener) throws RDFServiceException; + public void registerJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException; /** - * Unregisters a listener from listening to changes in + * Unregisters a Jena listener from listening to changes in * any graph in the RDF store * * @param changeListener - the change listener */ - public void unregisterListener(ChangeListener changeListener) throws RDFServiceException; + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException; + + /** + * Registers a listener to listen to changes in any graph in + * the RDF store. + * + * @param changeListener - the change listener + */ + public void registerListener(ChangeListener changeListener) throws RDFServiceException; + + /** + * Unregisters a listener from listening to changes in + * any graph in the RDF store + * + * @param changeListener - the change listener + */ + public void unregisterListener(ChangeListener changeListener) throws RDFServiceException; /** * Creates a ChangeSet object diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceFactory.java similarity index 66% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceFactory.java index 250e124b5..5497cbfc6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceFactory.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFServiceFactory.java @@ -2,6 +2,8 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; + public interface RDFServiceFactory { /** @@ -37,11 +39,29 @@ public interface RDFServiceFactory { /** * Unregisters a listener from listening to changes in the RDF store. - * Any RDFService objects returned by this factory should notify + * Any RDFService objects returned by this factory should no longer notify * this listener of changes. * * @param changeListener - the change listener */ public void unregisterListener(ChangeListener changeListener) throws RDFServiceException; + /** + * Registers a Jena ModelChangedListener to listen to changes in any graph in + * the RDF store. Any RDFService objects returned by this factory + * should notify this listener of changes. + * + * @param changeListener - the change listener + */ + public void registerJenaModelChangedListener(ModelChangedListener changeListener) throws RDFServiceException; + + /** + * Unregisters a Jena ModelChangedListener from listening to changes in the RDF store. + * Any RDFService objects returned by this factory should no longer notify + * this listener of changes. + * + * @param changeListener - the change listener + */ + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) throws RDFServiceException; + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ResultSetConsumer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ResultSetConsumer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ResultSetConsumer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/ResultSetConsumer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractModelDecorator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractModelDecorator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractModelDecorator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractModelDecorator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractOntModelDecorator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractOntModelDecorator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractOntModelDecorator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/AbstractOntModelDecorator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingOntModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingOntModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingOntModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/BulkUpdatingOntModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/MemoryMappedModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/MemoryMappedModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/MemoryMappedModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/MemoryMappedModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/FilteredResultSet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/FilteredResultSet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/FilteredResultSet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/FilteredResultSet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFService.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFService.java similarity index 96% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFService.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFService.java index 2c85d7ad1..d58643e8f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFService.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFService.java @@ -12,7 +12,6 @@ import java.util.Comparator; import java.util.Iterator; import java.util.List; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -22,6 +21,7 @@ import com.hp.hpl.jena.query.ResultSetFactory; import com.hp.hpl.jena.query.ResultSetFormatter; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; @@ -30,6 +30,7 @@ import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; public class LanguageFilteringRDFService implements RDFService { @@ -431,10 +432,15 @@ public class LanguageFilteringRDFService implements RDFService { return s.isEquivalentGraph(graphURI, serializedGraph, serializationFormat); } - @Override + @Override + public boolean isEquivalentGraph(String graphURI, + Model graph) throws RDFServiceException { + return s.isEquivalentGraph(graphURI, graph); + } + + @Override public void registerListener(ChangeListener changeListener) throws RDFServiceException { - // TODO Auto-generated method stub s.registerListener(changeListener); } @@ -443,6 +449,19 @@ public class LanguageFilteringRDFService implements RDFService { throws RDFServiceException { s.unregisterListener(changeListener); } + + @Override + public void registerJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + s.registerJenaModelChangedListener(changeListener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + s.unregisterJenaModelChangedListener(changeListener); + } + @Override public ChangeSet manufactureChangeSet() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/SameAsFilteringRDFServiceFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/SameAsFilteringRDFServiceFactory.java similarity index 94% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/SameAsFilteringRDFServiceFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/SameAsFilteringRDFServiceFactory.java index e611aa278..40b9e4666 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/SameAsFilteringRDFServiceFactory.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/SameAsFilteringRDFServiceFactory.java @@ -10,7 +10,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -23,6 +22,7 @@ import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFactory; import com.hp.hpl.jena.query.ResultSetFormatter; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Resource; @@ -36,6 +36,7 @@ import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService.ModelSerializationFormat; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceFactory; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceImpl; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; @@ -76,6 +77,16 @@ public class SameAsFilteringRDFServiceFactory implements RDFServiceFactory { f.registerListener(changeListener); } + @Override + public void registerJenaModelChangedListener(ModelChangedListener changeListener) throws RDFServiceException { + f.registerJenaModelChangedListener(changeListener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) throws RDFServiceException { + f.registerJenaModelChangedListener(changeListener); + } + public class SameAsFilteringRDFService extends RDFServiceImpl implements RDFService { private final Log log = LogFactory.getLog(SameAsFilteringRDFService.class); @@ -289,6 +300,12 @@ public class SameAsFilteringRDFServiceFactory implements RDFServiceFactory { return s.isEquivalentGraph(graphURI, serializedGraph, serializationFormat); } + @Override + public boolean isEquivalentGraph(String graphURI, + Model graph) throws RDFServiceException { + return s.isEquivalentGraph(graphURI, graph); + } + @Override public void close() { s.close(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ChangeSetImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ChangeSetImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ChangeSetImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ChangeSetImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ModelChangeImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ModelChangeImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ModelChangeImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/ModelChangeImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java similarity index 82% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java index ca89979e0..8c940163f 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java @@ -7,6 +7,8 @@ import java.io.OutputStream; import java.util.List; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; + import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; @@ -48,6 +50,16 @@ public class RDFServiceFactorySingle implements RDFServiceFactory { this.rdfService.unregisterListener(listener); } + @Override + public void registerJenaModelChangedListener(ModelChangedListener listener) throws RDFServiceException { + this.rdfService.registerJenaModelChangedListener(listener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener listener) throws RDFServiceException { + this.rdfService.unregisterJenaModelChangedListener(listener); + } + public class UnclosableRDFService implements RDFService { private RDFService s; @@ -145,7 +157,13 @@ public class RDFServiceFactorySingle implements RDFServiceFactory { return s.isEquivalentGraph(graphURI, serializedGraph, serializationFormat); } - @Override + @Override + public boolean isEquivalentGraph(String graphURI, + Model graph) throws RDFServiceException { + return s.isEquivalentGraph(graphURI, graph); + } + + @Override public void registerListener(ChangeListener changeListener) throws RDFServiceException { s.registerListener(changeListener); @@ -156,6 +174,18 @@ public class RDFServiceFactorySingle implements RDFServiceFactory { throws RDFServiceException { s.unregisterListener(changeListener); } + + @Override + public void registerJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + s.registerJenaModelChangedListener(changeListener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + s.unregisterJenaModelChangedListener(changeListener); + } @Override public ChangeSet manufactureChangeSet() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java similarity index 79% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java index 5e7c5aed3..0a11d55b7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java @@ -3,12 +3,12 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice.impl; import java.io.ByteArrayInputStream; +import java.io.IOException; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -18,20 +18,21 @@ import com.hp.hpl.jena.graph.Triple; import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QueryParseException; -import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.Syntax; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; -import com.hp.hpl.jena.sparql.resultset.XMLInput; import com.hp.hpl.jena.vocabulary.RDF; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange.Operation; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import edu.cornell.mannlib.vitro.webapp.utils.logging.ToString; public abstract class RDFServiceImpl implements RDFService { @@ -42,6 +43,7 @@ public abstract class RDFServiceImpl implements RDFService { protected String defaultWriteGraphURI; protected List registeredListeners = new CopyOnWriteArrayList(); + protected List registeredJenaListeners = new CopyOnWriteArrayList(); @Override public void newIndividual(String individualURI, @@ -87,7 +89,6 @@ public abstract class RDFServiceImpl implements RDFService { @Override public synchronized void registerListener(ChangeListener changeListener) throws RDFServiceException { - if (!registeredListeners.contains(changeListener)) { registeredListeners.add(changeListener); } @@ -97,41 +98,87 @@ public abstract class RDFServiceImpl implements RDFService { public synchronized void unregisterListener(ChangeListener changeListener) throws RDFServiceException { registeredListeners.remove(changeListener); } + + @Override + public synchronized void registerJenaModelChangedListener(ModelChangedListener changeListener) throws RDFServiceException { + if (!registeredJenaListeners.contains(changeListener)) { + registeredJenaListeners.add(changeListener); + } + } + + @Override + public synchronized void unregisterJenaModelChangedListener(ModelChangedListener changeListener) throws RDFServiceException { + registeredJenaListeners.remove(changeListener); + } public synchronized List getRegisteredListeners() { return this.registeredListeners; } + public synchronized List getRegisteredJenaModelChangedListeners() { + return this.registeredJenaListeners; + } + @Override public ChangeSet manufactureChangeSet() { return new ChangeSetImpl(); } - // I switched the following two methods back to public so they could be - // used by the ListeningGraph, which is common to both implementations. - // This could probably be improved later. BJL + protected void notifyListenersOfChanges(ChangeSet changeSet) + throws IOException { + if (registeredListeners.isEmpty() && registeredJenaListeners.isEmpty()) { + return; + } + for (ModelChange modelChange: changeSet.getModelChanges()) { + notifyListeners(modelChange); + } + } - public void notifyListeners(Triple triple, ModelChange.Operation operation, String graphURI) { + protected void notifyListeners(ModelChange modelChange) throws IOException { + modelChange.getSerializedModel().reset(); Iterator iter = registeredListeners.iterator(); - while (iter.hasNext()) { ChangeListener listener = iter.next(); - if (operation == ModelChange.Operation.ADD) { - listener.addedStatement(sparqlTriple(triple), graphURI); - } else { - listener.removedStatement(sparqlTriple(triple).toString(), graphURI); - } + listener.notifyModelChange(modelChange); + } + log.debug(registeredJenaListeners.size() + " registered Jena listeners"); + if (registeredJenaListeners.isEmpty()) { + return; + } + modelChange.getSerializedModel().reset(); + Model tempModel = ModelFactory.createDefaultModel(); + Iterator jenaIter = registeredJenaListeners.iterator(); + while (jenaIter.hasNext()) { + ModelChangedListener listener = jenaIter.next(); + log.debug("\t" + listener.getClass().getSimpleName()); + tempModel.register(listener); + } + if (Operation.ADD.equals(modelChange.getOperation())) { + tempModel.read(modelChange.getSerializedModel(), null, + RDFServiceUtils.getSerializationFormatString( + modelChange.getSerializationFormat())); + } else if (Operation.REMOVE.equals(modelChange.getOperation())) { + tempModel.remove(RDFServiceUtils.parseModel( + modelChange.getSerializedModel(), + modelChange.getSerializationFormat())); + } + while (jenaIter.hasNext()) { + tempModel.unregister(jenaIter.next()); } } public void notifyListenersOfEvent(Object event) { Iterator iter = registeredListeners.iterator(); - while (iter.hasNext()) { ChangeListener listener = iter.next(); // TODO what is the graphURI parameter for? listener.notifyEvent(null, event); } + Iterator jenaIter = registeredJenaListeners.iterator(); + while (jenaIter.hasNext()) { + ModelChangedListener listener = jenaIter.next(); + listener.notifyEvent(null, event); + } } protected boolean isPreconditionSatisfied(String query, diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java similarity index 97% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java index 51b52a19f..f7ec6797a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java @@ -91,16 +91,6 @@ public abstract class RDFServiceJena extends RDFServiceImpl implements RDFServic } } - protected void notifyListenersOfChanges(ChangeSet changeSet) - throws IOException { - for (ModelChange modelChange: changeSet.getModelChanges()) { - modelChange.getSerializedModel().reset(); - Model model = ModelFactory.createModelForGraph( - new ListeningGraph(modelChange.getGraphURI(), this)); - operateOnModel(model, modelChange, null); - } - } - protected void notifyListenersOfPostChangeEvents(ChangeSet changeSet) { for (Object o : changeSet.getPostChangeEvents()) { this.notifyListenersOfEvent(o); @@ -607,7 +597,22 @@ public abstract class RDFServiceJena extends RDFServiceImpl implements RDFServic return fileModel.isIsomorphicWith(fromTripleStoreModel); } - @Override + /** + * The basic version. Parse the model from the file, read the model from the + * tripleStore, and ask whether they are isomorphic. + */ + @Override + public boolean isEquivalentGraph(String graphURI, Model graph) throws RDFServiceException { + // Retrieve the graph to compare + Model tripleStoreModel = new RDFServiceDataset(this).getNamedModel(graphURI); + + // Load the entire graph into memory (faster comparison) + Model fromTripleStoreModel = ModelFactory.createDefaultModel().add(tripleStoreModel); + + return graph.isIsomorphicWith(fromTripleStoreModel); + } + + @Override public void close() { // nothing } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java similarity index 87% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java index 95a0942cb..05bbfa72e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java @@ -12,14 +12,12 @@ import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.query.Dataset; import com.hp.hpl.jena.query.DatasetFactory; import com.hp.hpl.jena.rdf.model.Model; -import com.hp.hpl.jena.rdf.model.ModelFactory; import edu.cornell.mannlib.vitro.webapp.dao.jena.DatasetWrapper; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.ListeningGraph; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.RDFServiceJena; public class RDFServiceModel extends RDFServiceJena implements RDFService { @@ -102,14 +100,15 @@ public class RDFServiceModel extends RDFServiceJena implements RDFService { } // notify listeners of triple changes - csIt = changeSet.getModelChanges().iterator(); - while (csIt.hasNext()) { - ModelChange modelChange = csIt.next(); - modelChange.getSerializedModel().reset(); - Model model = ModelFactory.createModelForGraph( - new ListeningGraph(modelChange.getGraphURI(), this)); - operateOnModel(model, modelChange, null); - } + notifyListenersOfChanges(changeSet); +// csIt = changeSet.getModelChanges().iterator(); +// while (csIt.hasNext()) { +// ModelChange modelChange = csIt.next(); +// modelChange.getSerializedModel().reset(); +// Model model = ModelFactory.createModelForGraph( +// new ListeningGraph(modelChange.getGraphURI(), this)); +// operateOnModel(model, modelChange, null); +// } for (Object o : changeSet.getPostChangeEvents()) { this.notifyListenersOfEvent(o); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceFactorySDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceFactorySDB.java similarity index 73% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceFactorySDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceFactorySDB.java index ad6d7863f..d6a7e761a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceFactorySDB.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceFactorySDB.java @@ -7,6 +7,7 @@ import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.sdb.StoreDesc; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; @@ -41,6 +42,10 @@ public class RDFServiceFactorySDB implements RDFServiceFactory { .getRegisteredListeners() ) { rdfService.registerListener(cl); } + for (ModelChangedListener cl : ((RDFServiceSDB) longTermRDFService) + .getRegisteredJenaModelChangedListeners() ) { + rdfService.registerJenaModelChangedListener(cl); + } return rdfService; } catch (Exception e) { log.error(e,e); @@ -59,5 +64,17 @@ public class RDFServiceFactorySDB implements RDFServiceFactory { throws RDFServiceException { this.longTermRDFService.unregisterListener(changeListener); } + + @Override + public void registerJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + this.longTermRDFService.registerJenaModelChangedListener(changeListener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + this.longTermRDFService.unregisterJenaModelChangedListener(changeListener); + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceSDB.java similarity index 88% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceSDB.java index 717142695..82fd2a55a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceSDB.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/sdb/RDFServiceSDB.java @@ -2,10 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.sdb; +import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import javax.sql.DataSource; @@ -23,6 +22,8 @@ import com.hp.hpl.jena.sdb.sql.SDBConnection; import edu.cornell.mannlib.vitro.webapp.dao.jena.DatasetWrapper; import edu.cornell.mannlib.vitro.webapp.dao.jena.StaticDatasetFactory; +import edu.cornell.mannlib.vitro.webapp.dao.jena.event.BulkUpdateEvent; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; @@ -74,22 +75,21 @@ public class RDFServiceSDB extends RDFServiceJena implements RDFService { return false; } - SDBConnection sdbConn = getSDBConnection(); + SDBConnection sdbConn = getSDBConnection(); Dataset dataset = getDataset(sdbConn); - - try { - insureThatInputStreamsAreResettable(changeSet); - - beginTransaction(sdbConn); + try { + insureThatInputStreamsAreResettable(changeSet); + } catch (IOException e) { + throw new RuntimeException(e); + } + try { + beginTransaction(sdbConn); notifyListenersOfPreChangeEvents(changeSet); - applyChangeSetToModel(changeSet, dataset); - + applyChangeSetToModel(changeSet, dataset); commitTransaction(sdbConn); - notifyListenersOfChanges(changeSet); - notifyListenersOfPostChangeEvents(changeSet); - + notifyListenersOfPostChangeEvents(changeSet); return true; } catch (Exception e) { log.error(e, e); @@ -139,11 +139,7 @@ public class RDFServiceSDB extends RDFServiceJena implements RDFService { sdbConn.getTransactionHandler().abort(); } } - - private static final Pattern OPTIONAL_PATTERN = Pattern.compile("optional", Pattern.CASE_INSENSITIVE); - - private static final Pattern GRAPH_PATTERN = Pattern.compile("graph", Pattern.CASE_INSENSITIVE); - + @Override protected QueryExecution createQueryExecution(String queryString, Query q, Dataset d) { return QueryExecutionFactory.create(q, d); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/tdb/RDFServiceTDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/tdb/RDFServiceTDB.java similarity index 90% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/tdb/RDFServiceTDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/tdb/RDFServiceTDB.java index ed4a0f33f..1df088264 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/tdb/RDFServiceTDB.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/tdb/RDFServiceTDB.java @@ -3,6 +3,7 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.tdb; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -211,6 +212,24 @@ public class RDFServiceTDB extends RDFServiceJena { serializationFormat); } + /** + * TDB has a bug: if given a literal of type xsd:nonNegativeInteger, it + * stores a literal of type xsd:integer. + * + * To determine whether this serialized graph is equivalent to what's in + * TDB, we need to do the same. + */ + @Override + public boolean isEquivalentGraph(String graphURI, + Model graph) + throws RDFServiceException { + + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + graph.write(buffer, "N-TRIPLE"); + InputStream inStream = new ByteArrayInputStream(buffer.toByteArray()); + return isEquivalentGraph(graphURI, inStream, ModelSerializationFormat.NTRIPLE); + } + /** * Convert all of the references to "nonNegativeInteger" to "integer" in * this serialized graph. diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFService.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFService.java similarity index 87% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFService.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFService.java index 6d0d46f98..4d4859571 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFService.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFService.java @@ -7,6 +7,8 @@ import java.io.OutputStream; import java.util.List; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; + import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; @@ -111,6 +113,15 @@ public class LoggingRDFService implements RDFService { } } + @Override + public boolean isEquivalentGraph(String graphURI, + Model graph) + throws RDFServiceException { + try (RDFServiceLogger l = new RDFServiceLogger(graphURI)) { + return innerService.isEquivalentGraph(graphURI, graph); + } + } + // ---------------------------------------------------------------------- // Untimed methods // ---------------------------------------------------------------------- @@ -154,6 +165,18 @@ public class LoggingRDFService implements RDFService { innerService.unregisterListener(changeListener); } + @Override + public void registerJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + innerService.registerJenaModelChangedListener(changeListener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + innerService.unregisterJenaModelChangedListener(changeListener); + } + @Override public ChangeSet manufactureChangeSet() { return innerService.manufactureChangeSet(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFServiceFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFServiceFactory.java similarity index 74% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFServiceFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFServiceFactory.java index fec57486d..0e84a447d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFServiceFactory.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/LoggingRDFServiceFactory.java @@ -2,6 +2,8 @@ package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.logging; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; + import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; @@ -40,6 +42,18 @@ public class LoggingRDFServiceFactory implements RDFServiceFactory { factory.unregisterListener(changeListener); } + @Override + public void registerJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + factory.registerJenaModelChangedListener(changeListener); + } + + @Override + public void unregisterJenaModelChangedListener(ModelChangedListener changeListener) + throws RDFServiceException { + factory.unregisterJenaModelChangedListener(changeListener); + } + @Override public String toString() { return "LoggingRDFServiceFactory[factory=" + factory + "]"; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/RDFServiceLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/RDFServiceLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/RDFServiceLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/logging/RDFServiceLogger.java diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java new file mode 100644 index 000000000..fa740230e --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java @@ -0,0 +1,947 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.sparql; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.StringWriter; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.ConcurrentLinkedQueue; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.http.HttpResponse; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.AuthenticationException; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpRequestBase; +import org.apache.http.client.protocol.ClientContext; +import org.apache.http.client.utils.URIBuilder; +import org.apache.http.impl.auth.BasicScheme; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.protocol.BasicHttpContext; +import org.apache.http.protocol.HttpContext; +import org.apache.http.util.EntityUtils; +import org.apache.jena.riot.RDFDataMgr; + +import com.hp.hpl.jena.graph.Triple; +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFactory; +import com.hp.hpl.jena.query.ResultSetFormatter; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.RDFNode; +import com.hp.hpl.jena.rdf.model.Resource; +import com.hp.hpl.jena.rdf.model.Statement; +import com.hp.hpl.jena.rdf.model.StmtIterator; +import com.hp.hpl.jena.sparql.core.Quad; + +import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset; +import edu.cornell.mannlib.vitro.webapp.dao.jena.SparqlGraph; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange; +import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; +import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.ChangeSetImpl; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceImpl; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; +import edu.cornell.mannlib.vitro.webapp.utils.http.HttpClientFactory; +import edu.cornell.mannlib.vitro.webapp.utils.sparql.ResultSetIterators.ResultSetQuadsIterator; +import edu.cornell.mannlib.vitro.webapp.utils.sparql.ResultSetIterators.ResultSetTriplesIterator; + +/* + * API to write, read, and update Vitro's RDF store, with support + * to allow listening, logging and auditing. + * + */ +public class RDFServiceSparql extends RDFServiceImpl implements RDFService { + + private static final Log log = LogFactory.getLog(RDFServiceImpl.class); + protected String readEndpointURI; + protected String updateEndpointURI; + // the number of triples to be + private static final int CHUNK_SIZE = 5000; // added/removed in a single + // SPARQL UPDATE + + protected HttpClient httpClient; + + protected boolean rebuildGraphURICache = true; + private List graphURIs = null; + + /** + * Returns an RDFService for a remote repository + * @param String - URI of the read SPARQL endpoint for the knowledge base + * @param String - URI of the update SPARQL endpoint for the knowledge base + * @param String - URI of the default write graph within the knowledge base. + * this is the graph that will be written to when a graph + * is not explicitly specified. + * + * The default read graph is the union of all graphs in the + * knowledge base + */ + public RDFServiceSparql(String readEndpointURI, String updateEndpointURI, String defaultWriteGraphURI) { + this.readEndpointURI = readEndpointURI; + this.updateEndpointURI = updateEndpointURI; + httpClient = HttpClientFactory.getHttpClient(); + + if (RDFServiceSparql.class.getName().equals(this.getClass().getName())) { + testConnection(); + } + } + + protected void testConnection() { + try { + this.sparqlSelectQuery( + "SELECT ?s WHERE { ?s a " + + " }", + RDFService.ResultFormat.JSON); + } catch (Exception e) { + throw new RuntimeException("Unable to connect to endpoint at " + + readEndpointURI, e); + } + } + + /** + * Returns an RDFService for a remote repository + * @param String - URI of the read SPARQL endpoint for the knowledge base + * @param String - URI of the update SPARQL endpoint for the knowledge base + * + * The default read graph is the union of all graphs in the + * knowledge base + */ + public RDFServiceSparql(String readEndpointURI, String updateEndpointURI) { + this(readEndpointURI, updateEndpointURI, null); + } + + /** + * Returns an RDFService for a remote repository + * @param String - URI of the read and update SPARQL endpoint for the knowledge base + * + * The default read graph is the union of all graphs in the + * knowledge base + */ + public RDFServiceSparql(String endpointURI) { + this(endpointURI, endpointURI, null); + } + + public void close() { + // nothing for now + } + + /** + * Perform a series of additions to and or removals from specified graphs + * in the RDF store. preConditionSparql will be executed against the + * union of all the graphs in the knowledge base before any updates are made. + * If the precondition query returns a non-empty result no updates + * will be made. + * + * @param ChangeSet - a set of changes to be performed on the RDF store. + * + * @return boolean - indicates whether the precondition was satisfied + */ + @Override + public boolean changeSetUpdate(ChangeSet changeSet) + throws RDFServiceException { + + if (changeSet.getPreconditionQuery() != null + && !isPreconditionSatisfied( + changeSet.getPreconditionQuery(), + changeSet.getPreconditionQueryType())) { + return false; + } + + try { + + for (Object o : changeSet.getPreChangeEvents()) { + this.notifyListenersOfEvent(o); + } + + Iterator csIt = changeSet.getModelChanges().iterator(); + while (csIt.hasNext()) { + ModelChange modelChange = csIt.next(); + if (!modelChange.getSerializedModel().markSupported()) { + byte[] bytes = IOUtils.toByteArray(modelChange.getSerializedModel()); + modelChange.setSerializedModel(new ByteArrayInputStream(bytes)); + } + modelChange.getSerializedModel().mark(Integer.MAX_VALUE); + performChange(modelChange); + } + + notifyListenersOfChanges(changeSet); + + for (Object o : changeSet.getPostChangeEvents()) { + this.notifyListenersOfEvent(o); + } + + } catch (Exception e) { + log.error(e, e); + throw new RDFServiceException(e); + } finally { + rebuildGraphURICache = true; + } + return true; + } + + /** + * Performs a SPARQL construct query against the knowledge base. The query may have + * an embedded graph identifier. + * + * @param String query - the SPARQL query to be executed against the RDF store + * @param RDFService.ModelSerializationFormat resultFormat - type of serialization for RDF result of the SPARQL query + * @param OutputStream outputStream - the result of the query + * + */ + @Override + public InputStream sparqlConstructQuery(String queryStr, + RDFServiceImpl.ModelSerializationFormat resultFormat) throws RDFServiceException { + + Model model = ModelFactory.createDefaultModel(); + Query query = createQuery(queryStr); + QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); + + try { + qe.execConstruct(model); + } catch (Exception e) { + log.error("Error executing CONSTRUCT against remote endpoint: " + queryStr); + } finally { + qe.close(); + } + + ByteArrayOutputStream serializedModel = new ByteArrayOutputStream(); + model.write(serializedModel,getSerializationFormatString(resultFormat)); + InputStream result = new ByteArrayInputStream(serializedModel.toByteArray()); + return result; + } + + public void sparqlConstructQuery(String queryStr, Model model) throws RDFServiceException { + + Query query = createQuery(queryStr); + QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); + + try { + qe.execConstruct(model); + } catch (Exception e) { + log.error("Error executing CONSTRUCT against remote endpoint: " + queryStr); + } finally { + qe.close(); + } + } + + /** + * Performs a SPARQL describe query against the knowledge base. The query may have + * an embedded graph identifier. + * + * @param String query - the SPARQL query to be executed against the RDF store + * @param RDFService.ModelSerializationFormat resultFormat - type of serialization for RDF result of the SPARQL query + * + * @return InputStream - the result of the query + * + */ + @Override + public InputStream sparqlDescribeQuery(String queryStr, + RDFServiceImpl.ModelSerializationFormat resultFormat) throws RDFServiceException { + + Model model = ModelFactory.createDefaultModel(); + Query query = createQuery(queryStr); + QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); + + try { + qe.execDescribe(model); + } finally { + qe.close(); + } + + ByteArrayOutputStream serializedModel = new ByteArrayOutputStream(); + model.write(serializedModel,getSerializationFormatString(resultFormat)); + InputStream result = new ByteArrayInputStream(serializedModel.toByteArray()); + return result; + } + + /** + * Performs a SPARQL select query against the knowledge base. The query may have + * an embedded graph identifier. + * + * @param String query - the SPARQL query to be executed against the RDF store + * @param RDFService.ResultFormat resultFormat - format for the result of the Select query + * + * @return InputStream - the result of the query + * + */ + @Override + public InputStream sparqlSelectQuery(String queryStr, RDFService.ResultFormat resultFormat) throws RDFServiceException { + + //QueryEngineHTTP qh = new QueryEngineHTTP(readEndpointURI, queryStr); + + try { + HttpGet meth = new HttpGet(new URIBuilder(readEndpointURI).addParameter("query", queryStr).build()); + meth.addHeader("Accept", "application/sparql-results+xml"); + HttpContext context = getContext(meth); + HttpResponse response = context != null ? httpClient.execute(meth, context) : httpClient.execute(meth); + try { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode > 399) { + log.error("response " + statusCode + " to query. \n"); + log.debug("update string: \n" + queryStr); + throw new RDFServiceException("Unable to perform SPARQL UPDATE"); + } + + try (InputStream in = response.getEntity().getContent()) { + ResultSet resultSet = ResultSetFactory.fromXML(in); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + switch (resultFormat) { + case CSV: + ResultSetFormatter.outputAsCSV(outputStream, resultSet); + break; + case TEXT: + ResultSetFormatter.out(outputStream, resultSet); + break; + case JSON: + ResultSetFormatter.outputAsJSON(outputStream, resultSet); + break; + case XML: + ResultSetFormatter.outputAsXML(outputStream, resultSet); + break; + default: + throw new RDFServiceException("unrecognized result format"); + } + InputStream result = new ByteArrayInputStream( + outputStream.toByteArray()); + return result; + } + } finally { + EntityUtils.consume(response.getEntity()); + } + } catch (IOException ioe) { + throw new RuntimeException(ioe); + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + } + + public void sparqlSelectQuery(String queryStr, ResultSetConsumer consumer) throws RDFServiceException { + + //QueryEngineHTTP qh = new QueryEngineHTTP(readEndpointURI, queryStr); + + try { + HttpGet meth = new HttpGet(new URIBuilder(readEndpointURI).addParameter("query", queryStr).build()); + meth.addHeader("Accept", "application/sparql-results+xml"); + HttpContext context = getContext(meth); + HttpResponse response = context != null ? httpClient.execute(meth, context) : httpClient.execute(meth); + try { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode > 399) { + log.error("response " + statusCode + " to query. \n"); + log.debug("update string: \n" + queryStr); + throw new RDFServiceException("Unable to perform SPARQL UPDATE"); + } + + try (InputStream in = response.getEntity().getContent()) { + consumer.processResultSet(ResultSetFactory.fromXML(in)); + } + } finally { + EntityUtils.consume(response.getEntity()); + } + } catch (IOException ioe) { + throw new RuntimeException(ioe); + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + } + + /** + * Performs a SPARQL ASK query against the knowledge base. The query may have + * an embedded graph identifier. + * + * @param String query - the SPARQL query to be executed against the RDF store + * + * @return boolean - the result of the SPARQL query + */ + @Override + public boolean sparqlAskQuery(String queryStr) throws RDFServiceException { + + Query query = createQuery(queryStr); + QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); + + try { + return qe.execAsk(); + } finally { + qe.close(); + } + } + + /** + * Get a list of all the graph URIs in the RDF store. + * + * @return List - list of all the graph URIs in the RDF store + */ + @Override + public List getGraphURIs() throws RDFServiceException { + if (graphURIs == null || rebuildGraphURICache) { + graphURIs = getGraphURIsFromSparqlQuery(); + rebuildGraphURICache = false; + } + return graphURIs; + } + + private List getGraphURIsFromSparqlQuery() throws RDFServiceException { + String fastJenaQuery = "SELECT DISTINCT ?g WHERE { GRAPH ?g {} } ORDER BY ?g"; + String standardQuery = "SELECT DISTINCT ?g WHERE { GRAPH ?g { ?s ?p ?o } }"; + List graphURIs = new ArrayList(); + try { + graphURIs = getGraphURIsFromSparqlQuery(fastJenaQuery); + } catch (Exception e) { + log.debug("Unable to use non-standard ARQ query for graph list", e); + } + if (graphURIs.isEmpty()) { + graphURIs = getGraphURIsFromSparqlQuery(standardQuery); + Collections.sort(graphURIs); + } + return graphURIs; + } + + private List getGraphURIsFromSparqlQuery(String queryString) throws RDFServiceException { + final List graphURIs = new ArrayList(); + try { + sparqlSelectQuery(queryString, new ResultSetConsumer() { + @Override + protected void processQuerySolution(QuerySolution qs) { + if (qs != null) { // no idea how this happens, but it seems to + RDFNode n = qs.getResource("g"); + if (n != null && n.isResource()) { + graphURIs.add(((Resource) n).getURI()); + } + } + } + }); + } catch (Exception e) { + throw new RDFServiceException("Unable to list graph URIs", e); + } + return graphURIs; + } + + /** + * TODO - what is the definition of this method? + * @return + */ + @Override + public void getGraphMetadata() throws RDFServiceException { + throw new UnsupportedOperationException(); + } + + /** + * Get the URI of the default write graph + * + * @return String URI of default write graph + */ + @Override + public String getDefaultWriteGraphURI() throws RDFServiceException { + return defaultWriteGraphURI; + } + + /** + * Register a listener to listen to changes in any graph in + * the RDF store. + * + */ + @Override + public synchronized void registerListener(ChangeListener changeListener) throws RDFServiceException { + + if (!registeredListeners.contains(changeListener)) { + registeredListeners.add(changeListener); + } + } + + /** + * Unregister a listener from listening to changes in any graph + * in the RDF store. + * + */ + @Override + public synchronized void unregisterListener(ChangeListener changeListener) throws RDFServiceException { + registeredListeners.remove(changeListener); + } + + /** + * Create a ChangeSet object + * + * @return a ChangeSet object + */ + @Override + public ChangeSet manufactureChangeSet() { + return new ChangeSetImpl(); + } + + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Non-override methods below + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + protected String getReadEndpointURI() { + return readEndpointURI; + } + + protected String getUpdateEndpointURI() { + return updateEndpointURI; + } + + protected void executeUpdate(String updateString) throws RDFServiceException { + try { + HttpPost meth = new HttpPost(updateEndpointURI); + meth.addHeader("Content-Type", "application/x-www-form-urlencoded"); + meth.setEntity(new UrlEncodedFormEntity(Arrays.asList(new BasicNameValuePair("update", updateString)))); + HttpContext context = getContext(meth); + HttpResponse response = context != null ? httpClient.execute(meth, context) : httpClient.execute(meth); + try { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode > 399) { + log.error("response " + response.getStatusLine() + " to update. \n"); + //log.debug("update string: \n" + updateString); + throw new RDFServiceException("Unable to perform SPARQL UPDATE"); + } + } finally { + EntityUtils.consume(response.getEntity()); + } + } catch (Exception e) { + throw new RDFServiceException("Unable to perform change set update", e); + } + } + + public void addModel(Model model, String graphURI) throws RDFServiceException { + try { + long start = System.currentTimeMillis(); + verbModel(model, graphURI, "INSERT"); + log.info((System.currentTimeMillis() - start) + " ms to insert " + model.size() + " triples"); + } finally { + rebuildGraphURICache = true; + } + } + + public void deleteModel(Model model, String graphURI) throws RDFServiceException { + try { + verbModel(model, graphURI, "DELETE"); + } finally { + rebuildGraphURICache = true; + } + } + + private void verbModel(Model model, String graphURI, String verb) throws RDFServiceException { + Model m = ModelFactory.createDefaultModel(); + StmtIterator stmtIt = model.listStatements(); + int count = 0; + try { + while (stmtIt.hasNext()) { + count++; + m.add(stmtIt.nextStatement()); + if (count % CHUNK_SIZE == 0 || !stmtIt.hasNext()) { + StringWriter sw = new StringWriter(); + m.write(sw, "N-TRIPLE"); + StringBuffer updateStringBuff = new StringBuffer(); + updateStringBuff.append(verb + " DATA { " + ((graphURI != null) ? "GRAPH <" + graphURI + "> { " : "" )); + updateStringBuff.append(sw); + updateStringBuff.append(((graphURI != null) ? " } " : "") + " }"); + + String updateString = updateStringBuff.toString(); + + executeUpdate(updateString); + + m.removeAll(); + } + } + } finally { + stmtIt.close(); + } + } + +// protected void addTriple(Triple t, String graphURI) throws RDFServiceException { +// try { +// StringBuffer updateString = new StringBuffer(); +// updateString.append("INSERT DATA { "); +// updateString.append((graphURI != null) ? "GRAPH <" + graphURI + "> { " : ""); +// updateString.append(sparqlNodeUpdate(t.getSubject(), "")); +// updateString.append(" "); +// updateString.append(sparqlNodeUpdate(t.getPredicate(), "")); +// updateString.append(" "); +// updateString.append(sparqlNodeUpdate(t.getObject(), "")); +// updateString.append(" }"); +// updateString.append((graphURI != null) ? " } " : ""); +// +// executeUpdate(updateString.toString()); +// notifyListeners(t, ModelChange.Operation.ADD, graphURI); +// } finally { +// rebuildGraphURICache = true; +// } +// } +// +// protected void removeTriple(Triple t, String graphURI) throws RDFServiceException { +// try { +// StringBuffer updateString = new StringBuffer(); +// updateString.append("DELETE DATA { "); +// updateString.append((graphURI != null) ? "GRAPH <" + graphURI + "> { " : ""); +// updateString.append(sparqlNodeUpdate(t.getSubject(), "")); +// updateString.append(" "); +// updateString.append(sparqlNodeUpdate(t.getPredicate(), "")); +// updateString.append(" "); +// updateString.append(sparqlNodeUpdate(t.getObject(), "")); +// updateString.append(" }"); +// updateString.append((graphURI != null) ? " } " : ""); +// +// executeUpdate(updateString.toString()); +// notifyListeners(t, ModelChange.Operation.REMOVE, graphURI); +// } finally { +// rebuildGraphURICache = true; +// } +// } + + @Override + protected boolean isPreconditionSatisfied(String query, + RDFService.SPARQLQueryType queryType) + throws RDFServiceException { + Model model = ModelFactory.createDefaultModel(); + + switch (queryType) { + case DESCRIBE: + model.read(sparqlDescribeQuery(query,RDFService.ModelSerializationFormat.N3), null); + return !model.isEmpty(); + case CONSTRUCT: + model.read(sparqlConstructQuery(query,RDFService.ModelSerializationFormat.N3), null); + return !model.isEmpty(); + case SELECT: + return sparqlSelectQueryHasResults(query); + case ASK: + return sparqlAskQuery(query); + default: + throw new RDFServiceException("unrecognized SPARQL query type"); + } + } + + @Override + protected boolean sparqlSelectQueryHasResults(String queryStr) throws RDFServiceException { + + Query query = createQuery(queryStr); + QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); + + try { + ResultSet resultSet = qe.execSelect(); + return resultSet.hasNext(); + } finally { + qe.close(); + } + } + + private void performChange(ModelChange modelChange) throws RDFServiceException { + Model model = parseModel(modelChange); + Model[] separatedModel = separateStatementsWithBlankNodes(model); + if (modelChange.getOperation() == ModelChange.Operation.ADD) { + addModel(separatedModel[1], modelChange.getGraphURI()); + addBlankNodesWithSparqlUpdate(separatedModel[0], modelChange.getGraphURI()); + } else if (modelChange.getOperation() == ModelChange.Operation.REMOVE) { + deleteModel(separatedModel[1], modelChange.getGraphURI()); + removeBlankNodesWithSparqlUpdate(separatedModel[0], modelChange.getGraphURI()); + } else { + log.error("unrecognized operation type"); + } + } + + private void addBlankNodesWithSparqlUpdate(Model model, String graphURI) + throws RDFServiceException { + updateBlankNodesWithSparqlUpdate(model, graphURI, ADD); + } + + private void removeBlankNodesWithSparqlUpdate(Model model, String graphURI) + throws RDFServiceException { + updateBlankNodesWithSparqlUpdate(model, graphURI, REMOVE); + } + + private static final boolean ADD = true; + private static final boolean REMOVE = false; + + private void updateBlankNodesWithSparqlUpdate(Model model, String graphURI, boolean add) + throws RDFServiceException { + List blankNodeStatements = new ArrayList(); + StmtIterator stmtIt = model.listStatements(); + while (stmtIt.hasNext()) { + Statement stmt = stmtIt.nextStatement(); + if (stmt.getSubject().isAnon() || stmt.getObject().isAnon()) { + blankNodeStatements.add(stmt); + } + } + + if(blankNodeStatements.size() == 0) { + return; + } + + Model blankNodeModel = ModelFactory.createDefaultModel(); + blankNodeModel.add(blankNodeStatements); + + log.debug("update model size " + model.size()); + log.debug("blank node model size " + blankNodeModel.size()); + + if (!add && blankNodeModel.size() == 1) { + log.warn("Deleting single triple with blank node: " + blankNodeModel); + log.warn("This likely indicates a problem; excessive data may be deleted."); + } + + Query rootFinderQuery = QueryFactory.create(BNODE_ROOT_QUERY); + QueryExecution qe = QueryExecutionFactory.create(rootFinderQuery, blankNodeModel); + try { + ResultSet rs = qe.execSelect(); + while (rs.hasNext()) { + QuerySolution qs = rs.next(); + com.hp.hpl.jena.rdf.model.Resource s = qs.getResource("s"); + String treeFinder = makeDescribe(s); + Query treeFinderQuery = QueryFactory.create(treeFinder); + QueryExecution qee = QueryExecutionFactory.create(treeFinderQuery, blankNodeModel); + try { + Model tree = qee.execDescribe(); + if (s.isAnon()) { + if (add) { + addModel(tree, graphURI); + } else { + removeUsingSparqlUpdate(tree, graphURI); + } + } else { + StmtIterator sit = tree.listStatements(s, null, (RDFNode) null); + while (sit.hasNext()) { + Statement stmt = sit.nextStatement(); + RDFNode n = stmt.getObject(); + Model m2 = ModelFactory.createDefaultModel(); + if (n.isResource()) { + com.hp.hpl.jena.rdf.model.Resource s2 = + (com.hp.hpl.jena.rdf.model.Resource) n; + // now run yet another describe query + String smallerTree = makeDescribe(s2); + Query smallerTreeQuery = QueryFactory.create(smallerTree); + QueryExecution qe3 = QueryExecutionFactory.create( + smallerTreeQuery, tree); + try { + qe3.execDescribe(m2); + } finally { + qe3.close(); + } + } + m2.add(stmt); + if (add) { + addModel(m2, graphURI); + } else { + removeUsingSparqlUpdate(m2, graphURI); + } + } + } + } finally { + qee.close(); + } + } + } finally { + qe.close(); + } + } + + private void removeUsingSparqlUpdate(Model model, String graphURI) + throws RDFServiceException { + + StmtIterator stmtIt = model.listStatements(); + + if (!stmtIt.hasNext()) { + stmtIt.close(); + return; + } + + StringBuffer queryBuff = new StringBuffer(); + if (graphURI != null) { + queryBuff.append("WITH <" + graphURI + "> \n"); + } + queryBuff.append("DELETE { \n"); + List stmts = stmtIt.toList(); + sort(stmts); + addStatementPatterns(stmts, queryBuff, !WHERE_CLAUSE); + queryBuff.append("} WHERE { \n"); + stmtIt = model.listStatements(); + stmts = stmtIt.toList(); + sort(stmts); + addStatementPatterns(stmts, queryBuff, WHERE_CLAUSE); + queryBuff.append("} \n"); + + if(log.isDebugEnabled()) { + log.debug(queryBuff.toString()); + } + executeUpdate(queryBuff.toString()); + } + + private List sort(List stmts) { + List output = new ArrayList(); + int originalSize = stmts.size(); + if (originalSize == 1) + return stmts; + List remaining = stmts; + ConcurrentLinkedQueue subjQueue = + new ConcurrentLinkedQueue(); + for(Statement stmt : remaining) { + if(stmt.getSubject().isURIResource()) { + subjQueue.add(stmt.getSubject()); + break; + } + } + if (subjQueue.isEmpty()) { + throw new RuntimeException("No named subject in statement patterns"); + } + while(remaining.size() > 0) { + if(subjQueue.isEmpty()) { + subjQueue.add(remaining.get(0).getSubject()); + } + while(!subjQueue.isEmpty()) { + com.hp.hpl.jena.rdf.model.Resource subj = subjQueue.poll(); + List temp = new ArrayList(); + for (Statement stmt : remaining) { + if(stmt.getSubject().equals(subj)) { + output.add(stmt); + if (stmt.getObject().isResource()) { + subjQueue.add((com.hp.hpl.jena.rdf.model.Resource) stmt.getObject()); + } + } else { + temp.add(stmt); + } + } + remaining = temp; + } + } + if(output.size() != originalSize) { + throw new RuntimeException("original list size was " + originalSize + + " but sorted size is " + output.size()); + } + return output; + } + + private static final boolean WHERE_CLAUSE = true; + + private void addStatementPatterns(List stmts, StringBuffer patternBuff, boolean whereClause) { + for(Statement stmt : stmts) { + Triple t = stmt.asTriple(); + patternBuff.append(SparqlGraph.sparqlNodeDelete(t.getSubject(), null)); + patternBuff.append(" "); + patternBuff.append(SparqlGraph.sparqlNodeDelete(t.getPredicate(), null)); + patternBuff.append(" "); + patternBuff.append(SparqlGraph.sparqlNodeDelete(t.getObject(), null)); + patternBuff.append(" .\n"); + if (whereClause) { + if (t.getSubject().isBlank()) { + patternBuff.append(" FILTER(isBlank(" + SparqlGraph.sparqlNodeDelete(t.getSubject(), null)).append(")) \n"); + } + if (t.getObject().isBlank()) { + patternBuff.append(" FILTER(isBlank(" + SparqlGraph.sparqlNodeDelete(t.getObject(), null)).append(")) \n"); + } + } + } + } + + private String makeDescribe(com.hp.hpl.jena.rdf.model.Resource s) { + StringBuffer query = new StringBuffer("DESCRIBE <") ; + if (s.isAnon()) { + query.append("_:" + s.getId().toString()); + } else { + query.append(s.getURI()); + } + query.append(">"); + return query.toString(); + } + + private Model parseModel(ModelChange modelChange) { + Model model = ModelFactory.createDefaultModel(); + model.read(modelChange.getSerializedModel(), null, + getSerializationFormatString(modelChange.getSerializationFormat())); + return model; + } + + @Override + public void serializeAll(OutputStream outputStream) + throws RDFServiceException { + String query = "SELECT * WHERE { GRAPH ?g {?s ?p ?o}}"; + serialize(outputStream, query); + } + + @Override + public void serializeGraph(String graphURI, OutputStream outputStream) + throws RDFServiceException { + String query = "SELECT * WHERE { GRAPH <" + graphURI + "> {?s ?p ?o}}"; + serialize(outputStream, query); + } + + private void serialize(OutputStream outputStream, String query) throws RDFServiceException { + InputStream resultStream = sparqlSelectQuery(query, RDFService.ResultFormat.JSON); + ResultSet resultSet = ResultSetFactory.fromJSON(resultStream); + if (resultSet.getResultVars().contains("g")) { + Iterator quads = new ResultSetQuadsIterator(resultSet); + RDFDataMgr.writeQuads(outputStream, quads); + } else { + Iterator triples = new ResultSetTriplesIterator(resultSet); + RDFDataMgr.writeTriples(outputStream, triples); + } + } + + /** + * The basic version. Parse the model from the file, read the model from the + * tripleStore, and ask whether they are isomorphic. + */ + @Override + public boolean isEquivalentGraph(String graphURI, InputStream serializedGraph, + ModelSerializationFormat serializationFormat) throws RDFServiceException { + Model fileModel = RDFServiceUtils.parseModel(serializedGraph, serializationFormat); + Model tripleStoreModel = new RDFServiceDataset(this).getNamedModel(graphURI); + Model fromTripleStoreModel = ModelFactory.createDefaultModel().add(tripleStoreModel); + return fileModel.isIsomorphicWith(fromTripleStoreModel); + } + + /** + * The basic version. Parse the model from the file, read the model from the + * tripleStore, and ask whether they are isomorphic. + */ + @Override + public boolean isEquivalentGraph(String graphURI, Model graph) throws RDFServiceException { + Model tripleStoreModel = new RDFServiceDataset(this).getNamedModel(graphURI); + Model fromTripleStoreModel = ModelFactory.createDefaultModel().add(tripleStoreModel); + return graph.isIsomorphicWith(fromTripleStoreModel); + } + + protected HttpContext getContext(HttpRequestBase request) { + UsernamePasswordCredentials credentials = getCredentials(); + if (credentials != null) { + try { + request.addHeader(new BasicScheme().authenticate(credentials, request, null)); + + CredentialsProvider provider = new BasicCredentialsProvider(); + provider.setCredentials(AuthScope.ANY, getCredentials()); + + BasicHttpContext context = new BasicHttpContext(); + context.setAttribute(ClientContext.CREDS_PROVIDER, provider); + return context; + } catch (AuthenticationException e) { + log.error("Unable to set credentials"); + } + } + + return null; + } + + protected UsernamePasswordCredentials getCredentials() { + return null; + } +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparqlHttp.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparqlHttp.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparqlHttp.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparqlHttp.java diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java new file mode 100644 index 000000000..e7b19f325 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java @@ -0,0 +1,292 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.virtuoso; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.Property; +import com.hp.hpl.jena.rdf.model.RDFNode; +import com.hp.hpl.jena.rdf.model.Resource; +import com.hp.hpl.jena.rdf.model.Selector; +import com.hp.hpl.jena.rdf.model.Statement; +import com.hp.hpl.jena.rdf.model.StmtIterator; +import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.http.HttpResponse; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.protocol.HttpContext; + +import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.sparql.RDFServiceSparql; +import org.apache.http.util.EntityUtils; + +/** + * For now, at least, it is just like an RDFServiceSparql except: + * + * A username and password are required. These should refer to a Virtuoso user + * that posesses the SPARQL_UPDATE role. + * + * The endpoint URI and the update endpoint URI are derived from the base URI. + * You provide: http://localhost:8890 + * endpoint is: http://localhost:8890/sparql/ + * update is: http://localhost:8890/DAV/home/username/rdf_sink/vitro_update + * + * A change in the syntax of an UPDATE request: "INSERT DATA" becomes "INSERT". + * This fixes a problem with inserting blank nodes. + * + * The HTTP request is equipped with the username and password, to answer a + * challenge for basic authentication. + * + * Allow for the nonNegativeInteger bug when checking to see whether a graph has + * changed. + */ +public class RDFServiceVirtuoso extends RDFServiceSparql { + private static final Log log = LogFactory.getLog(RDFServiceVirtuoso.class); + + private final String username; + private final String password; + + public RDFServiceVirtuoso(String baseURI, String username, String password) { + super(figureReadEndpointUri(baseURI), figureUpdateEndpointUri(baseURI, username)); + this.username = username; + this.password = password; + testConnection(); + } + + private static String figureReadEndpointUri(String baseUri) { + return noTrailingSlash(baseUri) + "/sparql/"; + } + + private static String figureUpdateEndpointUri(String baseUri, + String username) { + return noTrailingSlash(baseUri) + "/DAV/home/" + username + + "/rdf_sink/vitro_update"; + } + + private static String noTrailingSlash(String uri) { + return uri.endsWith("/") ? uri.substring(0, uri.length() - 1) : uri; + } + + @Override + protected void executeUpdate(String updateString) + throws RDFServiceException { + updateString = tweakUpdateStringSyntax(updateString); + log.debug("UPDATE STRING: " + updateString); + + try { + HttpPost request = createHttpRequest(updateString); + HttpContext context = getContext(request); + HttpResponse response = context != null ? httpClient.execute(request, context) : httpClient.execute(request); + try { + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode > 399) { + log.error("response " + response.getStatusLine() + + " to update. \n"); + + try (InputStream content = response.getEntity().getContent()) { + for (String line : IOUtils.readLines(content)) { + log.error("response-line >>" + line); + } + } + + throw new RDFServiceException( + "Unable to perform SPARQL UPDATE: status code = " + + statusCode); + } + } finally { + EntityUtils.consume(response.getEntity()); + } + } catch (Exception e) { + log.error("Failed to update: " + updateString, e); + throw new RDFServiceException( + "Unable to perform change set update", e); + } + } + + private String tweakUpdateStringSyntax(String updateString) { + if (updateString.startsWith("INSERT DATA")) { + return updateString.replaceFirst("INSERT DATA", "INSERT"); + } + return updateString; + } + + // TODO entity.setContentType("application/sparql-query"); + private HttpPost createHttpRequest(String updateString) { + HttpPost meth = new HttpPost(updateEndpointURI); + meth.addHeader("Content-Type", "application/sparql-query"); + try { + meth.setEntity(new StringEntity(updateString, "UTF-8")); + } catch (UnsupportedEncodingException e) { + // UTF-8 is unsupported? + throw new RuntimeException(e); + } + return meth; + } + + protected UsernamePasswordCredentials getCredentials() { + if (username != null && password != null) { + return new UsernamePasswordCredentials(username, password); + } + + return null; + } + + private static boolean isNumeric(String typeUri) { + return typeUri != null && (typeUri.endsWith("decimal") || + typeUri.endsWith("int") || + typeUri.endsWith("integer") || + typeUri.endsWith("float") || + typeUri.endsWith("long") || + typeUri.endsWith("negativeInteger") || + typeUri.endsWith("nonNegativeInteger") || + typeUri.endsWith("nonPositiveInteger") || + typeUri.endsWith("positiveInteger") || + typeUri.endsWith("short") || + typeUri.endsWith("unsignedLong") || + typeUri.endsWith("unsignedInt") || + typeUri.endsWith("unsignedShort") || + typeUri.endsWith("unsignedByte")); + } + + /** + * Virtuoso has a bug which it shares with TDB: if given a literal of type + * xsd:nonNegativeInteger, it stores a literal of type xsd:integer. + * + * To determine whether this serialized graph is equivalent to what is + * already in Virtuoso, we need to do the same. + */ + public boolean isEquivalentGraph(String graphURI, InputStream serializedGraph, + ModelSerializationFormat serializationFormat) throws RDFServiceException { + Model fileModel = RDFServiceUtils.parseModel(serializedGraph, serializationFormat); + Model tripleStoreModel = new RDFServiceDataset(this).getNamedModel(graphURI); + Model fromTripleStoreModel = ModelFactory.createDefaultModel().add(tripleStoreModel); + + // Compare the models + Model difference = fileModel.difference(fromTripleStoreModel); + + // If there is a difference + if (difference.size() > 0) { + // First, normalize the numeric values, as Virtuoso likes to mess with the datatypes + // Iterate over the differences + StmtIterator stmtIterator = difference.listStatements(); + while (stmtIterator.hasNext()) { + final Statement stmt = stmtIterator.next(); + final RDFNode subject = stmt.getSubject(); + final Property predicate = stmt.getPredicate(); + final RDFNode object = stmt.getObject(); + + // If the object is a numeric literal + if (object.isLiteral() && isNumeric(object.asLiteral().getDatatypeURI())) { + // Find a matching statement in the triple store, based on normalized numeric values + StmtIterator matching = fromTripleStoreModel.listStatements(new Selector() { + @Override + public boolean test(Statement statement) { + RDFNode objectToMatch = statement.getObject(); + + // Both values are numeric, so compare them as parsed doubles + if (objectToMatch.isLiteral()) { + String num1 = object.asLiteral().getString(); + String num2 = objectToMatch.asLiteral().getString(); + + return Double.parseDouble(num1) == Double.parseDouble(num2); + } + + return false; + } + + @Override + public boolean isSimple() { + return false; + } + + @Override + public Resource getSubject() { + return subject.asResource(); + } + + @Override + public Property getPredicate() { + return predicate; + } + + @Override + public RDFNode getObject() { + return null; + } + }); + + // For every matching statement + // Rewrite the object as the one in the file model (they are the same, just differ in datatype) + List toModify = new ArrayList(); + while (matching.hasNext()) { + toModify.add(matching.next()); + } + + for (Statement stmtToModify : toModify) { + stmtToModify.changeObject(object); + } + } + } + + // Now we've normalized the datatypes, check the graphs are isomorphic + return fileModel.isIsomorphicWith(fromTripleStoreModel); + } + + return true; + } + + /** + * TDB has a bug: if given a literal of type xsd:nonNegativeInteger, it + * stores a literal of type xsd:integer. + * + * To determine whether this serialized graph is equivalent to what's in + * TDB, we need to do the same. + */ + @Override + public boolean isEquivalentGraph(String graphURI, + Model graph) + throws RDFServiceException { + + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + graph.write(buffer, "N-TRIPLE"); + InputStream inStream = new ByteArrayInputStream(buffer.toByteArray()); + return isEquivalentGraph(graphURI, inStream, ModelSerializationFormat.NTRIPLE); + } + + /** + * Convert all of the references to "nonNegativeInteger" to "integer" in + * this serialized graph. + * + * This isn't rigorous: it could fail if another property contained the text + * "nonNegativeInteger" in its name, or if that text were used as part of a + * string literal. If that happens before this Virtuoso bug is fixed, we'll + * need to improve this method. + * + * It also isn't scalable: if we wanted real scalability, we would write to + * a temporary file as we converted. + */ + private InputStream adjustForNonNegativeIntegers(InputStream serializedGraph) + throws RDFServiceException { + try { + String raw = IOUtils.toString(serializedGraph, "UTF-8"); + String modified = raw.replace("nonNegativeInteger", "integer"); + return new ByteArrayInputStream(modified.getBytes("UTF-8")); + } catch (IOException e) { + throw new RDFServiceException(e); + } + } + +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ABoxRecomputer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ABoxRecomputer.java similarity index 86% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ABoxRecomputer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ABoxRecomputer.java index 78aa6a4f4..13c63ccbc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ABoxRecomputer.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ABoxRecomputer.java @@ -10,14 +10,11 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Queue; import java.util.Set; -import com.hp.hpl.jena.rdf.model.NodeIterator; -import com.hp.hpl.jena.rdf.model.Property; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -31,6 +28,8 @@ import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFactory; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.NodeIterator; +import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.ResourceFactory; @@ -47,6 +46,7 @@ import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer; import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; public class ABoxRecomputer { @@ -62,7 +62,7 @@ public class ABoxRecomputer { private volatile boolean recomputing = false; private boolean stopRequested = false; - private final int BATCH_SIZE = 100; + private final int BATCH_SIZE = 500; private final int REPORTING_INTERVAL = 1000; /** @@ -92,9 +92,9 @@ public class ABoxRecomputer { } /** - * Recompute all inferences. + * Recompute all individuals */ - public void recompute() { + public void recompute() { synchronized (lock1) { if (recomputing) { return; @@ -103,49 +103,80 @@ public class ABoxRecomputer { } } try { - if (searchIndexer != null) { + if (searchIndexer != null) { searchIndexer.pause(); // Register now that we want to rebuild the index when we unpause // This allows the indexer to optimize behaviour whilst paused searchIndexer.rebuildIndex(); } + log.info("Recomputing ABox inferences."); + log.info("Finding individuals in ABox."); + QueueindividualURIs = this.getAllIndividualURIs(); + log.info("Recomputing inferences for " + individualURIs.size() + " individuals"); // Create a type cache for this execution and pass it to the recompute function // Ensures that caches are only valid for the length of one recompute - recomputeABox(new TypeCaches()); + recomputeIndividuals(individualURIs, new TypeCaches()); + log.info("Finished recomputing inferences"); } finally { - if (searchIndexer != null) { + if(searchIndexer != null) { searchIndexer.unpause(); } synchronized (lock1) { - recomputing = false; + recomputing = false; + } + } + } + + /** + * Recompute inferences for specified collection of individual URIs, + * or all URIs if parameter is null + */ + public void recompute(Queue individualURIs) { + boolean sizableRecompute = (individualURIs.size() > 20); + try { + if(sizableRecompute && searchIndexer != null) { + searchIndexer.pause(); + } + recomputeIndividuals(individualURIs); + } finally { + if (sizableRecompute && searchIndexer != null) { + searchIndexer.unpause(); } } } /* - * Recompute the entire ABox inference graph. + * Recompute the ABox inference graph for the specified collection of + * individual URIs */ - protected void recomputeABox(TypeCaches caches) { - log.info("Recomputing ABox inferences."); - log.info("Finding individuals in ABox."); - Collection individuals = this.getAllIndividualURIs(); - log.info("Recomputing inferences for " + individuals.size() + " individuals"); + private void recomputeIndividuals(Queue individuals) { + recomputeIndividuals(individuals, new TypeCaches()); + } + + /* + * Recompute the ABox inference graph for the specified collection of + * individual URIs + */ + protected void recomputeIndividuals(Queue individuals, TypeCaches caches) { + if (individuals == null) { + return; + } long start = System.currentTimeMillis(); + int size = individuals.size(); int numInds = 0; Model rebuildModel = ModelFactory.createDefaultModel(); Model additionalInferences = ModelFactory.createDefaultModel(); List individualsInBatch = new ArrayList(); - Iterator individualIt = individuals.iterator(); - while (individualIt.hasNext()) { - String individualURI = individualIt.next(); + while (!individuals.isEmpty()) { + String individualURI = individuals.poll(); try { additionalInferences.add(recomputeIndividual( - individualURI, rebuildModel, caches)); + individualURI, rebuildModel, caches, individuals)); numInds++; individualsInBatch.add(individualURI); boolean batchFilled = (numInds % BATCH_SIZE) == 0; boolean reportingInterval = (numInds % REPORTING_INTERVAL) == 0; - if (batchFilled || !individualIt.hasNext()) { + if (batchFilled || individuals.isEmpty()) { log.debug(rebuildModel.size() + " total inferences"); updateInferenceModel(rebuildModel, individualsInBatch); rebuildModel.removeAll(); @@ -153,11 +184,11 @@ public class ABoxRecomputer { } if (reportingInterval) { log.info("Still recomputing inferences (" - + numInds + "/" + individuals.size() + " individuals)"); + + numInds + "/" + size + " individuals)"); log.info((System.currentTimeMillis() - start) / numInds + " ms per individual"); } if (stopRequested) { - log.info("a stopRequested signal was received during recomputeABox. Halting Processing."); + log.info("a stopRequested signal was received during recomputeIndividuals. Halting Processing."); return; } } catch (Exception e) { @@ -165,7 +196,7 @@ public class ABoxRecomputer { } } if(additionalInferences.size() > 0) { - log.info("Writing additional inferences generated by reasoner plugins."); + log.debug("Writing additional inferences generated by reasoner plugins."); ChangeSet change = rdfService.manufactureChangeSet(); change.addAddition(makeN3InputStream(additionalInferences), RDFService.ModelSerializationFormat.N3, ModelNames.ABOX_INFERENCES); @@ -175,20 +206,20 @@ public class ABoxRecomputer { log.error("Unable to write additional inferences from reasoner plugins", e); } } - log.info("Finished recomputing inferences"); } private static final boolean RUN_PLUGINS = true; private static final boolean SKIP_PLUGINS = !RUN_PLUGINS; private Model recomputeIndividual(String individualURI, - Model rebuildModel, TypeCaches caches) throws RDFServiceException { + Model rebuildModel, TypeCaches caches, Collection individualQueue) + throws RDFServiceException { long start = System.currentTimeMillis(); Model assertions = getAssertions(individualURI); - log.trace((System.currentTimeMillis() - start) + " ms to get assertions."); + log.debug((System.currentTimeMillis() - start) + " ms to get assertions."); + long prevRebuildSize = (simpleReasoner.getSameAsEnabled()) ? rebuildModel.size() : 0; Model additionalInferences = recomputeIndividual( individualURI, null, assertions, rebuildModel, caches, RUN_PLUGINS); - if (simpleReasoner.getSameAsEnabled()) { Set sameAsInds = getSameAsIndividuals(individualURI); for (String sameAsInd : sameAsInds) { @@ -201,7 +232,15 @@ public class ABoxRecomputer { Resource indRes = ResourceFactory.createResource(individualURI); Resource sameAsIndRes = ResourceFactory.createResource(sameAsInd); if(!assertions.contains(indRes, OWL.sameAs, sameAsIndRes)) { - rebuildModel.add(indRes, OWL.sameAs, sameAsIndRes); + if(!rebuildModel.contains(indRes, OWL.sameAs, sameAsIndRes)) { + individualQueue.add(sameAsInd); + rebuildModel.add(indRes, OWL.sameAs, sameAsIndRes); + } + } + } + if(rebuildModel.size() - prevRebuildSize > 0) { + for (String sameAsInd : sameAsInds) { + individualQueue.add(sameAsInd); } } } @@ -330,7 +369,6 @@ public class ABoxRecomputer { mostSpecificTypes = getMostSpecificTypes(individual, assertedTypes); caches.cacheMostSpecificTypes(key, mostSpecificTypes); } - return mostSpecificTypes; } @@ -343,6 +381,8 @@ public class ABoxRecomputer { " FILTER NOT EXISTS { \n" + " <" + individual.getURI() + "> a ?type2 . \n" + " ?type2 <" + RDFS.subClassOf.getURI() + "> ?type. \n" + + " FILTER (?type != ?type2) \n" + + " FILTER NOT EXISTS { ?type <" + OWL.equivalentClass + "> ?type2 } \n" + " } \n" + " FILTER NOT EXISTS { \n" + " <" + individual.getURI() + "> <" + VitroVocabulary.MOST_SPECIFIC_TYPE + "> ?type \n" + @@ -395,8 +435,8 @@ public class ABoxRecomputer { /* * Get the URIs for all individuals in the system */ - protected Collection getAllIndividualURIs() { - HashSet individualURIs = new HashSet(); + protected Queue getAllIndividualURIs() { + Queue individualURIs = new IndividualURIQueue(); List classList = new ArrayList(); tboxModel.enterCriticalSection(Lock.READ); try { @@ -420,7 +460,7 @@ public class ABoxRecomputer { return individualURIs; } - protected void getIndividualURIs(String queryString, Set individuals) { + protected void getIndividualURIs(String queryString, Queue individuals) { int batchSize = 50000; int offset = 0; boolean done = false; @@ -507,7 +547,7 @@ public class ABoxRecomputer { return new ByteArrayInputStream(out.toByteArray()); } - private Set getSameAsIndividuals(String individualURI) { + public Set getSameAsIndividuals(String individualURI) { HashSet sameAsInds = new HashSet(); sameAsInds.add(individualURI); getSameAsIndividuals(individualURI, sameAsInds); @@ -519,14 +559,18 @@ public class ABoxRecomputer { try { final List addedURIs = new ArrayList(); StringBuilder builder = new StringBuilder(); - builder.append("SELECT\n") .append(" ?object\n") - .append("WHERE\n") - .append("{\n") - .append(" <" + individualUri + "> <" + OWL.sameAs + "> ?object .\n") + .append("WHERE {\n") + .append(" GRAPH ?g { \n") + .append(" {\n") + .append(" <" + individualUri + "> <" + OWL.sameAs + "> ?object .\n") + .append(" } UNION {\n") + .append(" ?object <" + OWL.sameAs + "> <" + individualUri + "> .\n") + .append(" }\n") + .append(" } \n") + .append(" FILTER (?g != <" + ModelNames.ABOX_INFERENCES + ">)\n") .append("}\n"); - rdfService.sparqlSelectQuery(builder.toString(), new ResultSetConsumer() { @Override protected void processQuerySolution(QuerySolution qs) { @@ -537,37 +581,11 @@ public class ABoxRecomputer { } } }); - - for (String indUri : addedURIs) { - getSameAsIndividuals(indUri, sameAsInds); - } - - addedURIs.clear(); - builder = new StringBuilder(); - - builder.append("SELECT\n") - .append(" ?subject\n") - .append("WHERE\n") - .append("{\n") - .append(" ?subject <" + OWL.sameAs + "> <" + individualUri + "> .\n") - .append("}\n"); - - rdfService.sparqlSelectQuery(builder.toString(), new ResultSetConsumer() { - @Override - protected void processQuerySolution(QuerySolution qs) { - Resource object = qs.getResource("subject"); - if (object != null && !sameAsInds.contains(object.getURI())) { - sameAsInds.add(object.getURI()); - addedURIs.add(object.getURI()); - } - } - }); - for (String indUri : addedURIs) { getSameAsIndividuals(indUri, sameAsInds); } } catch (RDFServiceException e) { - + log.error(e,e); } } diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/IndividualURIQueue.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/IndividualURIQueue.java new file mode 100644 index 000000000..3c1827bf0 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/IndividualURIQueue.java @@ -0,0 +1,143 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.reasoner; + +import java.util.Collection; +import java.util.Iterator; +import java.util.Queue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentLinkedQueue; + +public class IndividualURIQueue implements Queue { + + private ConcurrentLinkedQueue q = new ConcurrentLinkedQueue(); + private ConcurrentHashMap m = new ConcurrentHashMap(); + + @Override + public synchronized boolean addAll(Collection c) { + boolean changed = false; + for (E e : c) { + if(!m.containsKey(e)) { + m.put(e, Boolean.TRUE); + q.add(e); + changed = true; + } + } + return changed; + } + + @Override + public synchronized void clear() { + m.clear(); + q.clear(); + } + + @Override + public boolean contains(Object o) { + return m.contains(o); + } + + @Override + public boolean containsAll(Collection c) { + boolean contains = true; + for(Object e : c) { + contains |= m.contains(e); + } + return contains; + } + + @Override + public boolean isEmpty() { + return q.isEmpty(); + } + + @Override + public Iterator iterator() { + return q.iterator(); + } + + @Override + public synchronized boolean remove(Object o) { + m.remove(o); + return q.remove(o); + } + + @Override + public synchronized boolean removeAll(Collection c) { + for (Object e : c) { + m.remove(e); + } + return q.removeAll(c); + } + + @Override + public synchronized boolean retainAll(Collection c) { + boolean changed = false; + Iterator it = m.keySet().iterator(); + while(it.hasNext()) { + E e = it.next(); + if(!c.contains(e)) { + m.remove(e); + q.remove(e); + changed = true; + } + } + return changed; + } + + @Override + public int size() { + return m.size(); + } + + @Override + public Object[] toArray() { + return q.toArray(); + } + + @Override + public T[] toArray(T[] a) { + return q.toArray(a); + } + + @Override + public synchronized boolean add(E e) { + if(m.containsKey(e)) { + return false; + } else { + m.put(e, Boolean.TRUE); + q.add(e); + return true; + } + } + + @Override + public E element() { + return q.element(); + } + + @Override + public boolean offer(E e) { + return q.offer(e); + } + + @Override + public E peek() { + return q.peek(); + } + + @Override + public synchronized E poll() { + E e = q.poll(); + m.remove(e); + return e; + } + + @Override + public synchronized E remove() { + E e = q.remove(); + m.remove(e); + return e; + } + +} \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ModelUpdate.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ModelUpdate.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ModelUpdate.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ModelUpdate.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ReasonerPlugin.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ReasonerPlugin.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/ReasonerPlugin.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/ReasonerPlugin.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java similarity index 58% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java index 524ab7d7f..e45f1d117 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java @@ -2,12 +2,11 @@ package edu.cornell.mannlib.vitro.webapp.reasoner; -import static edu.cornell.mannlib.vitro.webapp.utils.threads.VitroBackgroundThread.WorkLevel.WORKING; - import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Queue; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; @@ -23,7 +22,9 @@ import com.hp.hpl.jena.query.DatasetFactory; import com.hp.hpl.jena.rdf.listeners.StatementListener; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.NodeIterator; import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.ResIterator; @@ -37,18 +38,17 @@ import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; -import edu.cornell.mannlib.vitro.webapp.dao.jena.ABoxJenaChangeListener; -import edu.cornell.mannlib.vitro.webapp.dao.jena.CumulativeDeltaModeler; import edu.cornell.mannlib.vitro.webapp.dao.jena.DifferenceGraph; import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceGraph; -import edu.cornell.mannlib.vitro.webapp.dao.jena.event.BulkUpdateEvent; import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames; import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; +import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; import edu.cornell.mannlib.vitro.webapp.rdfservice.adapters.VitroModelFactory; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.model.RDFServiceModel; -import edu.cornell.mannlib.vitro.webapp.utils.threads.VitroBackgroundThread; /** * Allows for real-time incremental materialization or retraction of RDFS- @@ -57,7 +57,8 @@ import edu.cornell.mannlib.vitro.webapp.utils.threads.VitroBackgroundThread; * @author sjm222 */ -public class SimpleReasoner extends StatementListener { +public class SimpleReasoner extends StatementListener + implements ModelChangedListener, ChangeListener { private static final Log log = LogFactory.getLog(SimpleReasoner.class); @@ -75,18 +76,8 @@ public class SimpleReasoner extends StatementListener { VitroModelFactory.createOntologyModel()) .createAnnotationProperty(mostSpecificTypePropertyURI); - // DeltaComputer - private CumulativeDeltaModeler aBoxDeltaModeler1 = null; - private CumulativeDeltaModeler aBoxDeltaModeler2 = null; - private int batchMode = 0; // values: 0, 1 and 2 - - // Recomputer private ABoxRecomputer recomputer = null; - - private boolean stopRequested = false; - - private List pluginList = new CopyOnWriteArrayList(); - + private List pluginList = new CopyOnWriteArrayList(); private boolean doSameAs = true; /** @@ -122,17 +113,13 @@ public class SimpleReasoner extends StatementListener { tboxModel.getGraph()))); this.inferenceModel = inferenceModel; - this.batchMode = 0; - aBoxDeltaModeler1 = new CumulativeDeltaModeler(); - aBoxDeltaModeler2 = new CumulativeDeltaModeler(); recomputer = new ABoxRecomputer(tboxModel, aboxModel, rdfService, this, searchIndexer); - stopRequested = false; if (rdfService == null) { aboxModel.register(this); } else { try { - rdfService.registerListener(new ABoxJenaChangeListener(this)); + rdfService.registerListener(this); } catch (RDFServiceException e) { throw new RuntimeException("Unable to register change listener", e); } @@ -154,15 +141,10 @@ public class SimpleReasoner extends StatementListener { this.inferenceModel = inferenceModel; this.fullModel = VitroModelFactory.createUnion(aboxModel, VitroModelFactory.createOntologyModel(inferenceModel)); - aBoxDeltaModeler1 = new CumulativeDeltaModeler(); - aBoxDeltaModeler2 = new CumulativeDeltaModeler(); - this.batchMode = 0; - stopRequested = false; Dataset ds = DatasetFactory.createMem(); ds.addNamedModel(ModelNames.ABOX_ASSERTIONS, aboxModel); ds.addNamedModel(ModelNames.ABOX_INFERENCES, inferenceModel); - ds.addNamedModel(ModelNames.TBOX_ASSERTIONS, tboxModel); - + ds.addNamedModel(ModelNames.TBOX_ASSERTIONS, tboxModel); ds.setDefaultModel(ModelFactory.createUnion(fullModel, tboxModel)); recomputer = new ABoxRecomputer(tboxModel, aboxModel, new RDFServiceModel(ds), this, searchIndexer); } @@ -182,66 +164,79 @@ public class SimpleReasoner extends StatementListener { public boolean getSameAsEnabled() { return this.doSameAs; } + + public void notifyModelChange(ModelChange modelChange) { + if(isABoxInferenceGraph(modelChange.getGraphURI()) + || isTBoxGraph(modelChange.getGraphURI())) { + return; + } + Queue individualURIs = new IndividualURIQueue(); + Model m = RDFServiceUtils.parseModel(modelChange.getSerializedModel(), + modelChange.getSerializationFormat()); + StmtIterator sit = m.listStatements(); + while(sit.hasNext()) { + queueRelevantIndividuals(sit.nextStatement(), individualURIs); + } + recomputeIndividuals(individualURIs); + } + + /* + * Performs incremental ABox reasoning based + * on the addition of a new statement + * (aka assertion) to the ABox. + */ + @Override + public void addedStatement(Statement stmt) { + doPlugins(ModelUpdate.Operation.ADD,stmt); + listenToStatement(stmt, new IndividualURIQueue()); + } + + /* + * Performs incremental ABox reasoning based + * on the retraction of a statement (aka assertion) + * from the ABox. + */ + @Override + public void removedStatement(Statement stmt) { + doPlugins(ModelUpdate.Operation.RETRACT,stmt); + Queue individualURIs = new IndividualURIQueue(); + if(doSameAs && OWL.sameAs.equals(stmt.getPredicate())) { + if (stmt.getSubject().isURIResource()) { + individualURIs.addAll(this.recomputer.getSameAsIndividuals( + stmt.getSubject().getURI())); + } + if (stmt.getObject().isURIResource()) { + individualURIs.addAll(this.recomputer.getSameAsIndividuals( + stmt.getObject().asResource().getURI())); + } + } + listenToStatement(stmt, individualURIs); + } + + private void listenToStatement(Statement stmt, Queue individualURIs) { + queueRelevantIndividuals(stmt, individualURIs); + recomputeIndividuals(individualURIs); + } + + private void queueRelevantIndividuals(Statement stmt, Queue individualURIs) { + if(stmt.getSubject().isURIResource()) { + individualURIs.add(stmt.getSubject().getURI()); + } + if(stmt.getObject().isURIResource() && !(RDF.type.equals(stmt.getPredicate()))) { + individualURIs.add(stmt.getObject().asResource().getURI()); + } + } - /* - * Performs incremental ABox reasoning based - * on the addition of a new statement - * (aka assertion) to the ABox. - */ - @Override - public void addedStatement(Statement stmt) { - try { - if (stmt.getPredicate().equals(RDF.type)) { - addedABoxTypeAssertion(stmt, inferenceModel, new HashSet()); - setMostSpecificTypes(stmt.getSubject(), inferenceModel, new HashSet()); - } else if ( doSameAs && stmt.getPredicate().equals(OWL.sameAs)) { - addedABoxSameAsAssertion(stmt, inferenceModel); - } else { - addedABoxAssertion(stmt, inferenceModel); - } - - doPlugins(ModelUpdate.Operation.ADD,stmt); - - } catch (Exception e) { // don't stop the edit if there's an exception - log.error("Exception while computing inferences: " + e.getMessage()); - } - } - - /* - * Performs incremental ABox reasoning based - * on the retraction of a statement (aka assertion) - * from the ABox. - */ - @Override - public void removedStatement(Statement stmt) { - try { - handleRemovedStatement(stmt); - } catch (Exception e) { // don't stop the edit if there's an exception - log.error("Exception while retracting inferences: ", e); - } - } - - /* - * Synchronized part of removedStatement. Interacts with DeltaComputer. - */ - protected synchronized void handleRemovedStatement(Statement stmt) { - if (batchMode == 1) { - aBoxDeltaModeler1.removedStatement(stmt); - } else if (batchMode == 2) { - aBoxDeltaModeler2.removedStatement(stmt); - } else { // batchMode == 0 - if (stmt.getPredicate().equals(RDF.type)) { - removedABoxTypeAssertion(stmt, inferenceModel); - setMostSpecificTypes(stmt.getSubject(), inferenceModel, new HashSet()); - } else if ( doSameAs && stmt.getPredicate().equals(OWL.sameAs)) { - removedABoxSameAsAssertion(stmt, inferenceModel); - } else { - removedABoxAssertion(stmt, inferenceModel); - } - doPlugins(ModelUpdate.Operation.RETRACT,stmt); - } - } - + private void recomputeIndividuals(Queue individualURIs) { + long start = System.currentTimeMillis(); + int size = individualURIs.size(); + recomputer.recompute(individualURIs); + if(size > 2) { + log.info((System.currentTimeMillis() - start) + " ms to recompute " + + size + " individuals"); + } + } + /** * Performs incremental ABox reasoning based * on changes to the class hierarchy. @@ -363,202 +358,7 @@ public class SimpleReasoner extends StatementListener { public void removedTBoxStatement(Statement stmt) { changedTBoxStatement(stmt, false); } - - protected void addedABoxTypeAssertion(Statement stmt, - Model inferenceModel, - HashSet unknownTypes) { - addedABoxTypeAssertion(stmt, inferenceModel, unknownTypes, true); - } - /** - * Performs incremental reasoning based on a new type assertion - * added to the ABox (assertion that an individual is of a certain - * type). - * - * If it is added that B is of type A, then for each superclass of - * A assert that B is of that type. - */ - protected void addedABoxTypeAssertion(Statement stmt, - Model inferenceModel, - HashSet unknownTypes, - boolean checkRedundancy) { - - tboxModel.enterCriticalSection(Lock.READ); - try { - Resource cls = null; - if ( (stmt.getObject().asResource()).getURI() != null ) { - - cls = tboxModel.getResource(stmt.getObject().asResource().getURI()); - if (cls != null) { - List parents = getParents(cls,tboxModel); - - Iterator parentIt = parents.iterator(); - - if (parentIt.hasNext()) { - while (parentIt.hasNext()) { - Resource parentClass = parentIt.next(); - - // VIVO doesn't materialize statements that assert anonymous types - // for individuals. Also, sharing an identical anonymous node is - // not allowed in owl-dl. picklist population code looks at qualities - // of classes not individuals. - if (parentClass.isAnon()) continue; - - Statement infStmt = - ResourceFactory.createStatement(stmt.getSubject(), - RDF.type, parentClass); - addInference(infStmt, inferenceModel, true, checkRedundancy); - } - } - } else { - if ( !(stmt.getObject().asResource().getNameSpace()).equals(OWL.NS)) { - if (!unknownTypes.contains(stmt.getObject().asResource().getURI())) { - unknownTypes.add(stmt.getObject().asResource().getURI()); - log.warn("Didn't find the target class (the object of an added " + - "rdf:type statement) in the TBox: " + - (stmt.getObject().asResource()).getURI() + - ". No class subsumption reasoning will be done " + - "based on type assertions of this type."); - } - } - } - } else { - log.debug("The object of this rdf:type assertion has a null URI, no reasoning" - + " will be done based on this assertion: " + stmtString(stmt)); - return; - } - } finally { - tboxModel.leaveCriticalSection(); - } - - inferenceModel.enterCriticalSection(Lock.WRITE); - try { - if (inferenceModel.contains(stmt)) { - inferenceModel.remove(stmt); - } - } finally { - inferenceModel.leaveCriticalSection(); - } - } - - /** - * If it is removed that B is of type A, then for each superclass of A remove - * the inferred statement that B is of that type UNLESS it is otherwise entailed - * that B is of that type. - * - */ - protected void removedABoxTypeAssertion(Statement stmt, Model inferenceModel) { - removedABoxTypeAssertion(stmt, inferenceModel, null); - } - - /** - * If it is removed that B is of type A, then for each superclass of A remove - * the inferred statement that B is of that type UNLESS it is otherwise entailed - * that B is of that type. - * - * remainingTypeURIs is an optional list of asserted type URIs for the subject of - * stmt, and may be null. Supplying a precompiled list can yield performance - * improvement when this method is called repeatedly for the same subject. - * - */ - protected void removedABoxTypeAssertion(Statement stmt, - Model inferenceModel, - List remainingTypeURIs) { - tboxModel.enterCriticalSection(Lock.READ); - try { - Resource cls = null; - - if ( (stmt.getObject().asResource()).getURI() != null ) { - cls = tboxModel.getResource(stmt.getObject().asResource().getURI()); - - if (cls != null) { - if (entailedType(stmt.getSubject(),cls)) { - addInference(stmt,inferenceModel,true); - } - - List parents = getParents(cls,tboxModel); - - Iterator parentIt = parents.iterator(); - - while (parentIt.hasNext()) { - - Resource parentClass = parentIt.next(); - - // VIVO doesn't materialize statements that assert anonymous types - // for individuals. Also, sharing an identical anonymous node is - // not allowed in owl-dl. picklist population code looks at qualities - // of classes not individuals. - if (parentClass.isAnon()) continue; - - List typeURIs = (remainingTypeURIs == null) - ? getRemainingAssertedTypeURIs(stmt.getSubject()) : remainingTypeURIs; - if (entailedType(stmt.getSubject(),parentClass, typeURIs)) { - continue; // if a type is still entailed without the - } - // removed statement, then don't remove it - // from the inferences - - Statement infStmt = - ResourceFactory.createStatement(stmt.getSubject(), RDF.type, parentClass); - removeInference(infStmt,inferenceModel,true,false); - } - } else { - log.warn("Didn't find target class (the object of the removed rdf:type" - + "statement) in the TBox: " - + ((Resource)stmt.getObject()).getURI() + ". No class subsumption" - +" reasoning will be performed based on the removal of this assertion."); - } - } else { - log.warn("The object of this rdf:type assertion has a null URI: " - + stmtString(stmt)); - } - } catch (Exception e) { - log.warn("exception while removing abox type assertions: " + e.getMessage()); - } finally { - tboxModel.leaveCriticalSection(); - } - } - - /** - * Performs incremental property-based reasoning. - * - * Retracts inferences based on the owl:inverseOf relationship. - * - * If it is removed that x prop1 y, and prop2 is an inverseOf prop1 - * then remove y prop2 x from the inference graph, unless it is - * otherwise entailed by the assertions graph independently of - * this removed statement. - */ - protected void removedABoxAssertion(Statement stmt, Model inferenceModel) { - - if (!stmt.getObject().isLiteral()) { - List inverseProperties = getInverseProperties(stmt); - Iterator inverseIter = inverseProperties.iterator(); - - while (inverseIter.hasNext()) { - OntProperty inverseProp = inverseIter.next(); - Statement infStmt = ResourceFactory.createStatement( - stmt.getObject().asResource(), inverseProp, stmt.getSubject()); - removeInference(infStmt,inferenceModel); - } - } - - if( doSameAs ) - doSameAsForRemovedABoxAssertion( stmt, inferenceModel ); - - // if a statement has been removed that is otherwise entailed, - // add it to the inference graph. - inferenceModel.enterCriticalSection(Lock.WRITE); - try { - if (entailedStatement(stmt) && !inferenceModel.contains(stmt)) { - inferenceModel.add(stmt); - } - } finally { - inferenceModel.leaveCriticalSection(); - } - } - - /** * If it is added that B is a subClass of A, then for each * individual that is typed as B, either in the ABox or in the @@ -717,241 +517,7 @@ public class SimpleReasoner extends StatementListener { } return sameIndividuals; } - - /** - * Materializes inferences based on the owl:sameAs relationship. - * - * If it is added that x owl:sameAs y, then all asserted and inferred - * statements about x will become inferred about y if they are not already - * asserted about y, and vice versa. - */ - protected void addedABoxSameAsAssertion(Statement stmt, Model inferenceModel) { - Resource subject = null; - Resource object = null; - - if (stmt.getSubject().isResource()) { - subject = stmt.getSubject().asResource(); - if (tboxModel.containsResource(subject) || subject.isAnon()) { - log.debug("the subject of this sameAs statement is either in the tbox or an anonymous node, no reasoning will be done: " + stmtString(stmt)); - return; - } - } else { - log.warn("the subject of this sameAs statement is not a resource, no reasoning will be done: " + stmtString(stmt)); - return; - } - - if (stmt.getObject().isResource()) { - object = stmt.getObject().asResource(); - if (tboxModel.containsResource(object) || object.isAnon()) { - log.debug("the object of this sameAs statement is either in the tbox or an anonymous node, no reasoning will be done: " + stmtString(stmt)); - return; - } - } else { - log.warn("the object of this sameAs statement is not a resource, no reasoning will be done: " + stmtString(stmt)); - return; - } - - inferenceModel.enterCriticalSection(Lock.WRITE); - try { - if (inferenceModel.contains(stmt)) { - inferenceModel.remove(stmt); - } - } finally { - inferenceModel.leaveCriticalSection(); - } - - Statement opposite = ResourceFactory.createStatement(object, OWL.sameAs, subject); - addInference(opposite,inferenceModel,true); - - generateSameAsInferences(subject, object, inferenceModel); - generateSameAsInferences(object, subject, inferenceModel); - } - - /** - * Materializes inferences based on the owl:sameAs relationship. - * - * If it is removed that x is sameAs y, then remove y sameAs x from - * the inference graph and then recompute the inferences for x and - * y based on their respective assertions. - * that x owl:sameAs y, then all asserted and inferred - */ - protected void removedABoxSameAsAssertion(Statement stmt, Model inferenceModel) { - Resource subject = null; - Resource object = null; - - if (stmt.getSubject().isResource()) { - subject = stmt.getSubject().asResource(); - if (tboxModel.containsResource(subject) || subject.isAnon()) { - log.debug("the subject of this removed sameAs statement is either in the tbox or an anonymous node, no reasoning will be done: " + stmtString(stmt)); - return; - } - } else { - log.warn("the subject of this removed sameAs statement is not a resource, no reasoning will be done: " + stmtString(stmt)); - return; - } - - if (stmt.getObject().isResource()) { - object = stmt.getObject().asResource(); - if (tboxModel.containsResource(object) || object.isAnon()) { - log.debug("the object of this removed sameAs statement is either in the tbox or an anonymous node, no reasoning will be done: " + stmtString(stmt)); - return; - } - } else { - log.warn("the object of this removed sameAs statement is not a resource, no reasoning will be done: " + stmtString(stmt)); - return; - } - - List sameIndividuals = getSameIndividuals(subject,inferenceModel); - sameIndividuals.addAll(getSameIndividuals(object, inferenceModel)); - - Iterator sIter1 = sameIndividuals.iterator(); - while (sIter1.hasNext()) { - removeInferencesForIndividual(sIter1.next(), inferenceModel); - } - - Iterator sIter2 = sameIndividuals.iterator(); - while (sIter2.hasNext()) { - computeInferencesForIndividual(sIter2.next(), inferenceModel); - } - } - protected void doSameAsForAddedABoxAssertion(Statement stmt, Model inferenceModel){ - List sameIndividuals = - getSameIndividuals(stmt.getSubject().asResource(), inferenceModel); - - Iterator sameIter = sameIndividuals.iterator(); - while (sameIter.hasNext()) { - Resource subject = sameIter.next(); - Statement sameStmt = - ResourceFactory.createStatement(subject,stmt.getPredicate(),stmt.getObject()); - addInference(sameStmt,inferenceModel, doSameAs); - } - } - - - /** - * Materializes inferences based on the owl:inverseOf relationship. - * and owl:sameAs - * - * If it is added that x prop1 y, and prop2 is an inverseOf prop1 - * then add y prop2 x to the inference graph, if it is not already in - * the assertions graph. - * - */ - protected void addedABoxAssertion(Statement stmt, Model inferenceModel) { - - if (!stmt.getObject().isLiteral()) { - List inverseProperties = getInverseProperties(stmt); - Iterator inverseIter = inverseProperties.iterator(); - - while (inverseIter.hasNext()) { - Property inverseProp = inverseIter.next(); - Statement infStmt = ResourceFactory.createStatement( - stmt.getObject().asResource(), inverseProp, stmt.getSubject()); - addInference(infStmt, inferenceModel, true); - } - } - - inferenceModel.enterCriticalSection(Lock.WRITE); - try { - if (inferenceModel.contains(stmt)) { - inferenceModel.remove(stmt); - } - } finally { - inferenceModel.leaveCriticalSection(); - } - - if(doSameAs) { - doSameAsForAddedABoxAssertion( stmt, inferenceModel); - } - } - - void doSameAsForRemovedABoxAssertion(Statement stmt, Model inferenceModel){ - List sameIndividuals = - getSameIndividuals(stmt.getSubject().asResource(), inferenceModel); - Iterator sameIter = sameIndividuals.iterator(); - while (sameIter.hasNext()) { - Statement stmtSame = - ResourceFactory.createStatement(sameIter.next(), - stmt.getPredicate(), - stmt.getObject()); - removeInference(stmtSame,inferenceModel,false,true); - } - } - - protected void generateSameAsInferences(Resource ind1, Resource ind2, Model inferenceModel) { - - OntModel unionModel = VitroModelFactory.createOntologyModel(); - unionModel.addSubModel(aboxModel); - unionModel.addSubModel(inferenceModel); - - aboxModel.enterCriticalSection(Lock.READ); - try { - Iterator iter = - unionModel.listStatements(ind1, (Property) null, (RDFNode) null); - while (iter.hasNext()) { - Statement stmt = iter.next(); - if (stmt.getObject() == null) continue; - Statement infStmt = - ResourceFactory.createStatement(ind2,stmt.getPredicate(),stmt.getObject()); - addInference(infStmt, inferenceModel,true); - } - } finally { - aboxModel.leaveCriticalSection(); - } - - return; - } - - /** - * Remove inferences for individual - */ - protected void removeInferencesForIndividual(Resource ind, Model inferenceModel) { - - Model individualInferences = ModelFactory.createDefaultModel(); - - inferenceModel.enterCriticalSection(Lock.READ); - try { - Iterator iter = - inferenceModel.listStatements(ind, (Property) null, (RDFNode) null); - - while (iter.hasNext()) { - individualInferences.add(iter.next()); - } - } finally { - inferenceModel.leaveCriticalSection(); - } - - inferenceModel.enterCriticalSection(Lock.WRITE); - try { - inferenceModel.remove(individualInferences); - } finally { - inferenceModel.leaveCriticalSection(); - } - - return; - } - - /** - * compute inferences for individual - */ - protected void computeInferencesForIndividual(Resource ind, Model inferenceModel) { - - Iterator iter = null; - aboxModel.enterCriticalSection(Lock.WRITE); - try { - iter = aboxModel.listStatements(ind, (Property) null, (RDFNode) null); - } finally { - aboxModel.leaveCriticalSection(); - } - - while (iter.hasNext()) { - Statement stmt = iter.next(); - addedStatement(stmt); - } - - return; - } - + /** * Returns true if it is entailed by class subsumption that * subject is of type cls; otherwise returns false. @@ -1087,7 +653,6 @@ public class SimpleReasoner extends StatementListener { */ protected boolean entailedStatement(Statement stmt) { //TODO think about checking class subsumption here (for convenience) - // Inverse properties List inverses = getInverseProperties(stmt); Iterator iIter = inverses.iterator(); @@ -1564,211 +1129,36 @@ public class SimpleReasoner extends StatementListener { if (recomputer != null) { recomputer.setStopRequested(); } - - this.stopRequested = true; } - - - // DeltaComputer /** - * Asynchronous reasoning mode (DeltaComputer) is used in the case of batch removals. + * Asynchronous reasoning mode (DeltaComputer) no longer used + * in the case of batch removals. */ public boolean isABoxReasoningAsynchronous() { - if (batchMode > 0) { - return true; - } else { - return false; - } - } - - private volatile boolean deltaComputerProcessing = false; - private int eventCount = 0; - - @Override - public void notifyEvent(Model model, Object event) { - - if (event instanceof BulkUpdateEvent) { - handleBulkUpdateEvent(event); - } - } - - public synchronized void handleBulkUpdateEvent(Object event) { - - if (event instanceof BulkUpdateEvent) { - if (((BulkUpdateEvent) event).getBegin()) { - - log.info("received a bulk update begin event"); - if (deltaComputerProcessing) { - eventCount++; - log.info("received a bulk update begin event while processing in asynchronous mode. Event count = " + eventCount); - return; - } else { - batchMode = 1; - if (aBoxDeltaModeler1.getRetractions().size() > 0) { - log.warn("Unexpected condition: the aBoxDeltaModeler1 retractions model was not empty when entering batch mode."); - } - - if (aBoxDeltaModeler2.getRetractions().size() > 0) { - log.warn("Unexpected condition: the aBoxDeltaModeler2 retractions model was not empty when entering batch mode."); - } - - log.info("initializing batch mode 1"); - } - } else { - log.info("received a bulk update end event"); - if (!deltaComputerProcessing) { - deltaComputerProcessing = true; - VitroBackgroundThread thread = new VitroBackgroundThread(new DeltaComputer(), - "SimpleReasoner.DeltaComputer"); - thread.setWorkLevel(WORKING); - thread.start(); - } else { - eventCount--; - log.info("received a bulk update end event while currently processing in aynchronous mode. Event count = " + eventCount); - } - } - } + return false; } - private synchronized boolean switchBatchModes() { - - if (batchMode == 1) { - aBoxDeltaModeler2.getRetractions().removeAll(); - - if (aBoxDeltaModeler1.getRetractions().size() > 0) { - batchMode = 2; - log.info("entering batch mode " + batchMode); - } else { - deltaComputerProcessing = false; - if (eventCount == 0) { - batchMode = 0; - } - } - } else if (batchMode == 2) { - aBoxDeltaModeler1.getRetractions().removeAll(); - - if (aBoxDeltaModeler2.getRetractions().size() > 0) { - batchMode = 1; - log.info("entering batch mode " + batchMode); - } else { - deltaComputerProcessing = false; - if (eventCount == 0) { - batchMode = 0; - } - } - } else { - log.warn("unexpected condition, invoked when batchMode is neither 1 nor 2. batchMode = " + batchMode); - deltaComputerProcessing = false; - } - - return deltaComputerProcessing; + boolean isABoxInferenceGraph(String graphURI) { + return ModelNames.ABOX_INFERENCES.equals(graphURI); + } + + boolean isTBoxGraph(String graphURI) { + return ( ModelNames.TBOX_ASSERTIONS.equals(graphURI) + || ModelNames.TBOX_INFERENCES.equals(graphURI) + || (graphURI != null && graphURI.contains("tbox")) ); + } + + @Override + public void notifyEvent(String string, Object event) { + // don't care } - - private class DeltaComputer extends Thread { - public DeltaComputer() { - } - - @Override - public void run() { - log.info("starting DeltaComputer.run"); - boolean abort = false; - Model retractions = ModelFactory.createDefaultModel(); - String qualifier = ""; - - while (deltaComputerProcessing && !stopRequested) { - - if (switchBatchModes()) { - if (batchMode == 1) { - qualifier = "2"; - retractions = aBoxDeltaModeler2.getRetractions(); - } else if (batchMode == 2) { - qualifier = "1"; - retractions = aBoxDeltaModeler1.getRetractions(); - } - } else { - break; - } - - retractions.enterCriticalSection(Lock.READ); - int num = 0; - - try { - log.info("started computing inferences for batch " + qualifier + " updates"); - - - ResIterator subIt = retractions.listSubjects(); - while (subIt.hasNext()) { - Resource subj = subIt.nextResource(); - StmtIterator iter = retractions.listStatements( - subj, null, (RDFNode) null); - boolean typesModified = false; - try { - List typeURIs = null; - while (iter.hasNext() && !stopRequested) { - Statement stmt = iter.next(); - num++; - try { - if (stmt.getPredicate().equals(RDF.type)) { - typesModified = true; - if (typeURIs == null) { - typeURIs = getRemainingAssertedTypeURIs(stmt.getSubject()); - } - removedABoxTypeAssertion(stmt, inferenceModel, typeURIs); - } else if (doSameAs && stmt.getPredicate().equals(OWL.sameAs)) { - removedABoxSameAsAssertion(stmt, inferenceModel); - } else { - removedABoxAssertion(stmt, inferenceModel); - } - doPlugins(ModelUpdate.Operation.RETRACT,stmt); - } catch (NullPointerException npe) { - abort = true; - break; - } catch (Exception e) { - log.error("exception in batch mode ",e); - } - - if ((num % 6000) == 0) { - log.info("still computing inferences for batch " + qualifier + " update..."); - } - - if (stopRequested) { - log.info("a stopRequested signal was received during DeltaComputer.run. Halting Processing."); - return; - } - } - } finally { - iter.close(); - if (typesModified) { - setMostSpecificTypes(subj, inferenceModel, new HashSet()); - } - } - } - } finally { - retractions.removeAll(); - retractions.leaveCriticalSection(); - } - - if (stopRequested) { - log.info("a stopRequested signal was received during DeltaComputer.run. Halting Processing."); - deltaComputerProcessing = false; - return; - } - - if (abort) { - log.error("a NullPointerException was received while computing inferences in batch " + qualifier + " mode. Halting inference computation."); - deltaComputerProcessing = false; - return; - } - - log.info("finished computing inferences for batch " + qualifier + " updates"); - log.debug("\t--> processed " + num + " statements"); - } - - log.info("ending DeltaComputer.run. batchMode = " + batchMode); - } - } - + + @Override + public void notifyEvent(Model model, Object event) { + // don't care + } + /** * Utility method for logging */ @@ -1779,5 +1169,5 @@ public class SimpleReasoner extends StatementListener { ? ((Literal)statement.getObject()).getLexicalForm() + " (Literal)" : ((Resource)statement.getObject()).getURI() + " (Resource)") + "]"; } - + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxListener.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxListener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/DisableSameAs.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/DisableSameAs.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/DisableSameAs.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/DisableSameAs.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimpleBridgingRule.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimpleBridgingRule.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimpleBridgingRule.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimpleBridgingRule.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimplePropertyAndTypeRule.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimplePropertyAndTypeRule.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimplePropertyAndTypeRule.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SimplePropertyAndTypeRule.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/VitroSearchTermNames.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/VitroSearchTermNames.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/VitroSearchTermNames.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/VitroSearchTermNames.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/AutocompleteController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/AutocompleteController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/AutocompleteController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/AutocompleteController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/DataAutocompleteController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/DataAutocompleteController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/DataAutocompleteController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/DataAutocompleteController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/IndexController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexHistory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/IndexHistory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/IndexHistory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/IndexHistory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/SearchHelpController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchHelpController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/SearchHelpController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchHelpController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/SearchServiceController.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchServiceController.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/SearchServiceController.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchServiceController.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndex.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndex.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndex.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndex.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/InstrumentedSearchEngineWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/InstrumentedSearchEngineWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/InstrumentedSearchEngineWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/InstrumentedSearchEngineWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/SearchEngineLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/SearchEngineLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/SearchEngineLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/SearchEngineLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchFacetField.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchFacetField.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchFacetField.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchFacetField.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocument.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocument.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocument.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocument.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputField.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputField.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputField.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputField.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchQuery.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchQuery.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchQuery.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchQuery.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResponse.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResponse.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResponse.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResponse.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResultDocument.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResultDocument.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResultDocument.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchResultDocument.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrConversionUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrConversionUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrConversionUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrConversionUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchEngine.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchEngine.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchEngine.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchEngine.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchResultDocumentList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchResultDocumentList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchResultDocumentList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchengine/solr/SolrSearchResultDocumentList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/IndexingChangeListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/IndexingChangeListener.java similarity index 73% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/IndexingChangeListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/IndexingChangeListener.java index 42899c419..091aebb0a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/IndexingChangeListener.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/IndexingChangeListener.java @@ -2,6 +2,9 @@ package edu.cornell.mannlib.vitro.webapp.searchindex; +import static edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer.Event.Type.REBUILD_REQUESTED; +import static edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer.Event.Type.START_REBUILD; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -16,18 +19,17 @@ import org.apache.jena.riot.tokens.Tokenizer; import org.apache.jena.riot.tokens.TokenizerFactory; import com.hp.hpl.jena.graph.Triple; +import com.hp.hpl.jena.rdf.listeners.StatementListener; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Statement; import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent; import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer; import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer.Event; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; import edu.cornell.mannlib.vitro.webapp.utils.threads.VitroBackgroundThread; -import static edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer.Event.Type.*; - /** * When a change is heard, wait for an interval to see if more changes come in. * When changes stop coming in for a specified interval, send what has @@ -52,8 +54,8 @@ import static edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndex * which is semantically equivalent to the original, and add that to the list * instead. The original statement is released. */ -public class IndexingChangeListener implements ChangeListener, - SearchIndexer.Listener { +public class IndexingChangeListener extends StatementListener + implements ModelChangedListener, SearchIndexer.Listener { private static final Log log = LogFactory .getLog(IndexingChangeListener.class); @@ -105,16 +107,16 @@ public class IndexingChangeListener implements ChangeListener, } @Override - public void addedStatement(String serializedTriple, String graphURI) { + public void addedStatement(Statement stmt) { if (!rebuildScheduled) { - noteChange(parseTriple(serializedTriple)); + noteChange(stmt); } } @Override - public void removedStatement(String serializedTriple, String graphURI) { + public void removedStatement(Statement stmt) { if (!rebuildScheduled) { - noteChange(parseTriple(serializedTriple)); + noteChange(stmt); } } @@ -122,7 +124,7 @@ public class IndexingChangeListener implements ChangeListener, * We only care about events that signal the end of an edit operation. */ @Override - public void notifyEvent(String graphURI, Object event) { + public void notifyEvent(Model model, Object event) { if ((event instanceof EditEvent)) { EditEvent editEvent = (EditEvent) event; if (!editEvent.getBegin()) { // editEvent is the end of an edit @@ -135,34 +137,33 @@ public class IndexingChangeListener implements ChangeListener, } } - // TODO avoid duplication with JenaChangeListener - private Statement parseTriple(String serializedTriple) { - try { - // Use RiotReader to parse a Triple - // NB A Triple can be serialized correctly with: FmtUtils.stringForTriple(triple, PrefixMapping.Factory.create()) + " .";' - Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(serializedTriple); - Iterator it = RiotReader.createParserNTriples(tokenizer, null); - - if (it.hasNext()) { - Triple triple = it.next(); - - if (it.hasNext()) { - log.warn("More than one triple parsed from change event: '" + serializedTriple + "'"); - } - - // Use the retained defaultModel instance to convert the Triple to a Statement - // This does not add the Statement to the Model, so the Statement can be disposed when unused - // And whilst the Model is attached to the Statement, using a single instance means only one Model - // is created and attached to all of the Statements created by this instance - return defaultModel.asStatement(triple); - } else { - throw new RuntimeException("no triple parsed from change event: '" + serializedTriple + "'"); - } - } catch (RuntimeException riot) { - log.error("Failed to parse triple " + serializedTriple, riot); - throw riot; - } - } +// private Statement parseTriple(String serializedTriple) { +// try { +// // Use RiotReader to parse a Triple +// // NB A Triple can be serialized correctly with: FmtUtils.stringForTriple(triple, PrefixMapping.Factory.create()) + " .";' +// Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(serializedTriple); +// Iterator it = RiotReader.createParserNTriples(tokenizer, null); +// +// if (it.hasNext()) { +// Triple triple = it.next(); +// +// if (it.hasNext()) { +// log.warn("More than one triple parsed from change event: '" + serializedTriple + "'"); +// } +// +// // Use the retained defaultModel instance to convert the Triple to a Statement +// // This does not add the Statement to the Model, so the Statement can be disposed when unused +// // And whilst the Model is attached to the Statement, using a single instance means only one Model +// // is created and attached to all of the Statements created by this instance +// return defaultModel.asStatement(triple); +// } else { +// throw new RuntimeException("no triple parsed from change event: '" + serializedTriple + "'"); +// } +// } catch (RuntimeException riot) { +// log.error("Failed to parse triple " + serializedTriple, riot); +// throw riot; +// } +// } // ---------------------------------------------------------------------- // helper classes diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerSetup.java similarity index 95% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerSetup.java index 028b1d026..1d3a867c3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerSetup.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerSetup.java @@ -55,7 +55,7 @@ public class SearchIndexerSetup implements ServletContextListener { listener = new IndexingChangeListener(searchIndexer); listenerWrapper = new DeveloperDisabledChangeListener(listener, Key.SEARCH_INDEX_SUPPRESS_MODEL_CHANGE_LISTENER); - RDFServiceUtils.getRDFServiceFactory(ctx).registerListener( + RDFServiceUtils.getRDFServiceFactory(ctx).registerJenaModelChangedListener( listenerWrapper); this.history = new IndexHistory(); @@ -78,7 +78,7 @@ public class SearchIndexerSetup implements ServletContextListener { searchIndexer.removeListener(this.history); try { - RDFServiceUtils.getRDFServiceFactory(ctx).unregisterListener( + RDFServiceUtils.getRDFServiceFactory(ctx).unregisterJenaModelChangedListener( listenerWrapper); } catch (RDFServiceException e) { log.warn("Failed to unregister the indexing listener."); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifier.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifier.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifier.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifier.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListBasic.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListBasic.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListBasic.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListBasic.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListDeveloper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListDeveloper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListDeveloper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/DocumentModifierListDeveloper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/FieldBooster.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/FieldBooster.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/FieldBooster.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/FieldBooster.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/SelectQueryDocumentModifier.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/SelectQueryDocumentModifier.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/SelectQueryDocumentModifier.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/SelectQueryDocumentModifier.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURL.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURL.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURL.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURL.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnNamespace.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnNamespace.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnNamespace.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnNamespace.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnType.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnType.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnType.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnType.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeNamespace.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeNamespace.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeNamespace.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeNamespace.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListBasic.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListBasic.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListBasic.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListBasic.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListDeveloper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListDeveloper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListDeveloper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SearchIndexExcluderListDeveloper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SyncingExcludeBasedOnType.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SyncingExcludeBasedOnType.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SyncingExcludeBasedOnType.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/SyncingExcludeBasedOnType.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChanges.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChanges.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChanges.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChanges.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForDataProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForDataProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForDataProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForDataProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatements.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatements.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatements.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatements.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListBasic.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListDeveloper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListDeveloper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListDeveloper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/IndexingUriFinderListDeveloper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/URIsForClassGroupChange.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/URIsForClassGroupChange.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/URIsForClassGroupChange.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/URIsForClassGroupChange.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/FindUrisForStatementWorkUnit.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/FindUrisForStatementWorkUnit.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/FindUrisForStatementWorkUnit.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/FindUrisForStatementWorkUnit.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateDocumentWorkUnit.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateDocumentWorkUnit.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateDocumentWorkUnit.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateDocumentWorkUnit.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateStatementsTask.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingService.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingService.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingService.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingService.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/freemarker/FreemarkerProcessingServiceSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/FakeApplicationOntologyService.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/FakeApplicationOntologyService.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/FakeApplicationOntologyService.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/FakeApplicationOntologyService.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewService.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewService.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewService.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewService.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/ShortViewServiceSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ConfigurationModelsSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/ConfigurationModelsSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ConfigurationModelsSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/ConfigurationModelsSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/FileGraphSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/FileGraphSetup.java similarity index 96% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/FileGraphSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/FileGraphSetup.java index ef2f03519..0a42817f2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/FileGraphSetup.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/FileGraphSetup.java @@ -160,7 +160,9 @@ public class FileGraphSetup implements ServletContextListener { try { OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); String fn = p.getFileName().toString().toLowerCase(); - if ( fn.endsWith(".n3") || fn.endsWith(".ttl") ) { + if ( fn.endsWith(".nt") ) { + model.read( fis, null, "N-TRIPLE" ); + } else if ( fn.endsWith(".n3") || fn.endsWith(".ttl") ) { model.read( fis, null, "N3" ); } else if ( fn.endsWith(".owl") || fn.endsWith(".rdf") || fn.endsWith(".xml") ) { model.read( fis, null, "RDF/XML" ); @@ -212,13 +214,10 @@ public class FileGraphSetup implements ServletContextListener { public boolean updateGraphInDB(RDFService rdfService, Model fileModel, String type, Path path) throws RDFServiceException { String graphURI = pathToURI(path,type); - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - fileModel.write(buffer, "N-TRIPLE"); - InputStream inStream = new ByteArrayInputStream(buffer.toByteArray()); - if (rdfService.isEquivalentGraph(graphURI, inStream, ModelSerializationFormat.NTRIPLE)) { - return false; - } - + if (rdfService.isEquivalentGraph(graphURI, fileModel)) { + return false; + } + Model dbModel = new RDFServiceDataset(rdfService).getNamedModel(graphURI); if (log.isDebugEnabled()) { log.debug(String.format( diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/JenaDataSourceSetupBase.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/JenaDataSourceSetupBase.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/JenaDataSourceSetupBase.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/JenaDataSourceSetupBase.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/JvmSmokeTests.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/JvmSmokeTests.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/JvmSmokeTests.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/JvmSmokeTests.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/PropertyMaskingSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java similarity index 98% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java index 653bfccde..c24f43382 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java @@ -174,6 +174,8 @@ public class RDFFilesLoader { String filename = p.getFileName().toString().toLowerCase(); if (filename.endsWith("n3")) return "N3"; + else if (filename.endsWith("nt")) + return "N-TRIPLES"; else if (filename.endsWith("ttl")) return "TURTLE"; else diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RunSparqlConstructs.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/RunSparqlConstructs.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RunSparqlConstructs.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/RunSparqlConstructs.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/SimpleReasonerSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/SimpleReasonerSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/SimpleReasonerSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/SimpleReasonerSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/SolrSmokeTest.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/SolrSmokeTest.java similarity index 92% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/SolrSmokeTest.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/SolrSmokeTest.java index cb6702ee8..0701c8594 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/SolrSmokeTest.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/SolrSmokeTest.java @@ -12,6 +12,7 @@ import java.net.UnknownHostException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import edu.cornell.mannlib.vitro.webapp.utils.http.HttpClientFactory; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpException; @@ -24,6 +25,7 @@ import org.apache.http.impl.client.DefaultHttpClient; import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus; import edu.cornell.mannlib.vitro.webapp.utils.threads.VitroBackgroundThread; +import org.apache.http.util.EntityUtils; /** * Spin off a thread that will try to connect to Solr. @@ -207,7 +209,7 @@ public class SolrSmokeTest implements ServletContextListener { private static final long SLEEP_INTERVAL = 20000; // 20 seconds private final URL solrUrl; - private final HttpClient httpClient = new DefaultHttpClient(); + private final HttpClient httpClient = HttpClientFactory.getHttpClient(); private int statusCode; @@ -238,8 +240,12 @@ public class SolrSmokeTest implements ServletContextListener { HttpGet method = new HttpGet(solrUrl.toExternalForm()); SolrSmokeTest.log.debug("Trying to connect to Solr"); HttpResponse response = httpClient.execute(method); - statusCode = response.getStatusLine().getStatusCode(); - SolrSmokeTest.log.debug("HTTP status was " + statusCode); + try { + statusCode = response.getStatusLine().getStatusCode(); + SolrSmokeTest.log.debug("HTTP status was " + statusCode); + } finally { + EntityUtils.consume(response.getEntity()); + } } catch (SocketTimeoutException e) { // Catch the exception so we can retry this. // Save the status so we know why we failed. @@ -274,7 +280,7 @@ public class SolrSmokeTest implements ServletContextListener { */ private static class SolrPinger { private final URL solrUrl; - private final HttpClient httpClient = new DefaultHttpClient(); + private final HttpClient httpClient = HttpClientFactory.getHttpClient(); public SolrPinger(URL solrUrl) { this.solrUrl = solrUrl; @@ -286,10 +292,14 @@ public class SolrSmokeTest implements ServletContextListener { + "/admin/ping"); SolrSmokeTest.log.debug("Trying to ping Solr"); HttpResponse response = httpClient.execute(method); - SolrSmokeTest.log.debug("Finished pinging Solr"); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode != HttpStatus.SC_OK) { - throw new SolrProblemException(statusCode); + try { + SolrSmokeTest.log.debug("Finished pinging Solr"); + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) { + throw new SolrProblemException(statusCode); + } + } finally { + EntityUtils.consume(response.getEntity()); } } catch (IOException e) { throw new SolrProblemException(e); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ThemeInfoSetup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/ThemeInfoSetup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ThemeInfoSetup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/ThemeInfoSetup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetAllClasses.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetAllClasses.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetAllClasses.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetAllClasses.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetAllPrefix.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetAllPrefix.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetAllPrefix.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetAllPrefix.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzAllProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzAllProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzAllProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzAllProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzDataProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzDataProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzDataProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzDataProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzObjectProperties.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzObjectProperties.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzObjectProperties.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetClazzObjectProperties.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetObjectClasses.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetObjectClasses.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/sparql/GetObjectClasses.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/sparql/GetObjectClasses.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/startup/ComponentStartupStatusImpl.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/startup/ComponentStartupStatusImpl.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/startup/ComponentStartupStatusImpl.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/startup/ComponentStartupStatusImpl.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/startup/StartupManager.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/startup/StartupManager.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/startup/StartupManager.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/startup/StartupManager.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/startup/StartupStatus.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/startup/StartupStatus.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/startup/StartupStatus.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/startup/StartupStatus.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/InferenceModelUpdater.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/InferenceModelUpdater.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/InferenceModelUpdater.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/InferenceModelUpdater.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/PatternListBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/PatternListBuilder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/PatternListBuilder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/PatternListBuilder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerConfiguration.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerConfiguration.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerConfiguration.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerConfiguration.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerStatementPattern.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerStatementPattern.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerStatementPattern.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ReasonerStatementPattern.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasoner.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasoner.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasoner.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasoner.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasonerDriver.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasonerDriver.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasonerDriver.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxReasonerDriver.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/BasicTBoxReasonerDriver.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/BasicTBoxReasonerDriver.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/BasicTBoxReasonerDriver.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/BasicTBoxReasonerDriver.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/TBoxInferencesAccumulator.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/TBoxInferencesAccumulator.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/TBoxInferencesAccumulator.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/TBoxInferencesAccumulator.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasoner.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasoner.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasoner.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasoner.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasonerModule.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasonerModule.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasonerModule.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/tboxreasoner/impl/jfact/JFactTBoxReasonerModule.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/CombinedTripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/CombinedTripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/CombinedTripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/CombinedTripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/ShortTermCombinedTripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/ShortTermCombinedTripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/ShortTermCombinedTripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/ShortTermCombinedTripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicCombinedTripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicCombinedTripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicCombinedTripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicCombinedTripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicShortTermCombinedTripleSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicShortTermCombinedTripleSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicShortTermCombinedTripleSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/BasicShortTermCombinedTripleSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBConnectionSmokeTests.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBConnectionSmokeTests.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBConnectionSmokeTests.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBConnectionSmokeTests.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sparql/ContentTripleSourceSPARQL.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sparql/ContentTripleSourceSPARQL.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sparql/ContentTripleSourceSPARQL.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sparql/ContentTripleSourceSPARQL.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ConfigurationTripleSourceTDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ConfigurationTripleSourceTDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ConfigurationTripleSourceTDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ConfigurationTripleSourceTDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/virtuoso/ContentTripleSourceVirtuoso.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/virtuoso/ContentTripleSourceVirtuoso.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/virtuoso/ContentTripleSourceVirtuoso.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/virtuoso/ContentTripleSourceVirtuoso.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/ApplicationConfigurationOntologyUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/ApplicationConfigurationOntologyUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/ApplicationConfigurationOntologyUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/ApplicationConfigurationOntologyUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/Csv2Rdf.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/Csv2Rdf.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/Csv2Rdf.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/Csv2Rdf.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/FedoraConfiguration.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/FedoraConfiguration.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/FedoraConfiguration.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/FedoraConfiguration.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/FrontEndEditingUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/FrontEndEditingUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/FrontEndEditingUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/FrontEndEditingUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/Html2Text.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/Html2Text.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/Html2Text.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/Html2Text.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/IterableAdaptor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/IterableAdaptor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/IterableAdaptor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/IterableAdaptor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/JsonToFmModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/JsonToFmModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/JsonToFmModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/JsonToFmModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/MailUtil.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/MailUtil.java similarity index 97% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/MailUtil.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/MailUtil.java index 1604dbeae..19a19e634 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/MailUtil.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/MailUtil.java @@ -56,7 +56,7 @@ public class MailUtil { msg.setSubject( subject ); // add the multipart to the message - msg.setContent(messageText,"text/html"); + msg.setContent(messageText,"text/html; charset=UTF-8"); // set the Date: header msg.setSentDate( new Date() ); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/MakeTidy.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/MakeTidy.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/MakeTidy.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/MakeTidy.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapperFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapperFactory.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapperFactory.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/NamespaceMapperFactory.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/SimpleStemmer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/SimpleStemmer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/SimpleStemmer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/SimpleStemmer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunner.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunner.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunner.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunner.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/Stemmer.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/Stemmer.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/Stemmer.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/Stemmer.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoader.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoader.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoader.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoader.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdf.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdf.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdf.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdf.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdfParser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdfParser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdfParser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationRdfParser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ContextModelsUser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ContextModelsUser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/ContextModelsUser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ContextModelsUser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/InstanceWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/InstanceWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/InstanceWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/InstanceWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/Property.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/Property.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/Property.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/Property.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/PropertyType.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/PropertyType.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/PropertyType.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/PropertyType.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/RequestModelsUser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/RequestModelsUser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/RequestModelsUser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/RequestModelsUser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/Validation.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/Validation.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/Validation.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/Validation.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/WrappedInstance.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/WrappedInstance.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/configuration/WrappedInstance.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/WrappedInstance.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/BrowseDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/BrowseDataGetter.java similarity index 98% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/BrowseDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/BrowseDataGetter.java index 5873d7e4f..e1c9542f8 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/BrowseDataGetter.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/BrowseDataGetter.java @@ -11,6 +11,7 @@ import java.util.Map; import javax.servlet.ServletContext; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividualBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONArray; @@ -174,7 +175,7 @@ public class BrowseDataGetter extends DataGetterBase implements DataGetter { List tInds = new ArrayList(inds.size()); for( Individual ind : inds){ - tInds.add(new ListedIndividual(ind, vreq)); + tInds.add(ListedIndividualBuilder.build(ind, vreq)); } map.put("individualsInClass", tInds); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ClassGroupPageData.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ClassGroupPageData.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ClassGroupPageData.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ClassGroupPageData.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterBase.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterBase.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterBase.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterBase.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ExecuteDataRetrieval.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ExecuteDataRetrieval.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ExecuteDataRetrieval.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/ExecuteDataRetrieval.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/FixedHTMLDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/FixedHTMLDataGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/FixedHTMLDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/FixedHTMLDataGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/IndividualsForClassesDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/IndividualsForClassesDataGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/IndividualsForClassesDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/IndividualsForClassesDataGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SearchIndividualsDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SearchIndividualsDataGetter.java similarity index 98% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SearchIndividualsDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SearchIndividualsDataGetter.java index 753f1c56c..6b731d147 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SearchIndividualsDataGetter.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SearchIndividualsDataGetter.java @@ -9,6 +9,7 @@ import java.util.Map; import javax.servlet.ServletContext; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividualBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -183,7 +184,7 @@ public class SearchIndividualsDataGetter extends DataGetterBase implements DataG List indsTm = new ArrayList(); if (inds != null) { for ( Individual ind : inds ) { - indsTm.add(new ListedIndividual(ind,vreq)); + indsTm.add(ListedIndividualBuilder.build(ind,vreq)); } } body.put("individuals", indsTm); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java similarity index 99% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java index 547f5641d..6bb296d1e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java @@ -165,7 +165,7 @@ public class SparqlQueryDataGetter extends DataGetterBase implements DataGetter{ private String bindParameters(String text, Map merged) { String bound = text; for (String key : merged.keySet()) { - bound = bound.replaceAll("[?$]" + key + "[^a-zA-Z0-9_\\-]", '<' + merged.get(key) + '>'); + bound = bound.replaceAll("([?$]" + key + ")([^a-zA-Z0-9_\\-])", "<" + merged.get(key) + ">$2"); } if (log.isDebugEnabled()) { log.debug("parameters: " + merged); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettings.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettings.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettings.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettings.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettingsServlet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettingsServlet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettingsServlet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/DeveloperSettingsServlet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/Key.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/Key.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/Key.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/Key.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledChangeListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledChangeListener.java similarity index 59% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledChangeListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledChangeListener.java index 2c5d035ef..1bb0cbe7e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledChangeListener.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledChangeListener.java @@ -2,7 +2,11 @@ package edu.cornell.mannlib.vitro.webapp.utils.developer.listeners; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; +import com.hp.hpl.jena.rdf.listeners.StatementListener; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelChangedListener; +import com.hp.hpl.jena.rdf.model.Statement; + import edu.cornell.mannlib.vitro.webapp.utils.developer.DeveloperSettings; import edu.cornell.mannlib.vitro.webapp.utils.developer.Key; @@ -11,11 +15,12 @@ import edu.cornell.mannlib.vitro.webapp.utils.developer.Key; * * Set the flag and this becomes opaque, passing no events through. */ -public class DeveloperDisabledChangeListener implements ChangeListener { - private final ChangeListener inner; +public class DeveloperDisabledChangeListener extends StatementListener + implements ModelChangedListener { + private final ModelChangedListener inner; private final Key disablingKey; - public DeveloperDisabledChangeListener(ChangeListener inner, + public DeveloperDisabledChangeListener(ModelChangedListener inner, Key disablingKey) { this.inner = inner; this.disablingKey = disablingKey; @@ -30,23 +35,23 @@ public class DeveloperDisabledChangeListener implements ChangeListener { // ---------------------------------------------------------------------- @Override - public void addedStatement(String serializedTriple, String graphURI) { + public void addedStatement(Statement stmt) { if (isEnabled()) { - inner.addedStatement(serializedTriple, graphURI); + inner.addedStatement(stmt); } } @Override - public void removedStatement(String serializedTriple, String graphURI) { + public void removedStatement(Statement stmt) { if (isEnabled()) { - inner.removedStatement(serializedTriple, graphURI); + inner.removedStatement(stmt); } } @Override - public void notifyEvent(String graphURI, Object event) { + public void notifyEvent(Model model, Object event) { if (isEnabled()) { - inner.notifyEvent(graphURI, event); + inner.notifyEvent(model, event); } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledModelChangeListener.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledModelChangeListener.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledModelChangeListener.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/listeners/DeveloperDisabledModelChangeListener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/loggers/StackTraceUtility.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/loggers/StackTraceUtility.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/developer/loggers/StackTraceUtility.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/developer/loggers/StackTraceUtility.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/fields/FieldUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/fields/FieldUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/fields/FieldUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/fields/FieldUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/generators/EditModeUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/generators/EditModeUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/generators/EditModeUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/generators/EditModeUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/http/AcceptHeaderParsingException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/AcceptHeaderParsingException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/http/AcceptHeaderParsingException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/AcceptHeaderParsingException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtil.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtil.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtil.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtil.java diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/HttpClientFactory.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/HttpClientFactory.java new file mode 100644 index 000000000..f3ae24ee4 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/HttpClientFactory.java @@ -0,0 +1,22 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.utils.http; + +import org.apache.http.client.HttpClient; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.impl.conn.PoolingClientConnectionManager; + +public final class HttpClientFactory { + private static final DefaultHttpClient httpClient; + + static { + PoolingClientConnectionManager cm = new PoolingClientConnectionManager(); + cm.setDefaultMaxPerRoute(50); + cm.setMaxTotal(300); + httpClient = new DefaultHttpClient(cm); + } + + public static HttpClient getHttpClient() { + return httpClient; + } +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/http/NotAcceptableException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/NotAcceptableException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/http/NotAcceptableException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/http/NotAcceptableException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/DedupAndExtract.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/DedupAndExtract.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/DedupAndExtract.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/DedupAndExtract.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/ExtendedLinkedDataUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/ExtendedLinkedDataUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/ExtendedLinkedDataUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/ExtendedLinkedDataUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestWorkflowProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestWorkflowProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestWorkflowProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestWorkflowProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaOutputUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaOutputUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaOutputUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaOutputUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/NamespaceMapperJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/NamespaceMapperJena.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/NamespaceMapperJena.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/NamespaceMapperJena.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/URIUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/URIUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/URIUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/URIUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/WorkflowOntology.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/WorkflowOntology.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/WorkflowOntology.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/WorkflowOntology.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModelSelector.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModelSelector.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModelSelector.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockableOntModelSelector.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedOntModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedOntModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedOntModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/jena/criticalsection/LockedOntModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/log/LogUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/log/LogUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/log/LogUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/log/LogUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/logging/ComplexStringFormatter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/ComplexStringFormatter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/logging/ComplexStringFormatter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/ComplexStringFormatter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/logging/ToString.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/ToString.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/logging/ToString.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/ToString.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java similarity index 65% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java index 9e7ebb44a..67553827a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/MenuManagementDataUtils.java @@ -16,13 +16,23 @@ import org.apache.commons.logging.LogFactory; public class MenuManagementDataUtils { private static final Log log = LogFactory.getLog(MenuManagementDataUtils.class); + private static IMenuManagementDataUtils impl = null; + //Data that is to be returned to template that does not involve data getters //e.g. what are the current class groups, etc. public static void includeRequiredSystemData(ServletContext context, Map templateData) { - - + if (impl != null) { + impl.includeRequiredSystemData(context, templateData); + } + } + + public static void setImplementation(IMenuManagementDataUtils impl) { + MenuManagementDataUtils.impl = impl; } + public interface IMenuManagementDataUtils { + public void includeRequiredSystemData(ServletContext context, Map templateData); + } } \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessClassGroup.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessClassGroup.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessClassGroup.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessClassGroup.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessDataGetter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessDataGetter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessDataGetter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessDataGetter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessIndividualsForClasses.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessIndividualsForClasses.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessIndividualsForClasses.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/ProcessIndividualsForClasses.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWords.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWords.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWords.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWords.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/FieldMap.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/FieldMap.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/FieldMap.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/FieldMap.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/Formatter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/Formatter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/Formatter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/Formatter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchQueryUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchQueryUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchQueryUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchQueryUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResponseFilter.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResponseFilter.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResponseFilter.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResponseFilter.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResultsParser.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResultsParser.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResultsParser.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/SearchResultsParser.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/RdfServiceQueryContext.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/RdfServiceQueryContext.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/RdfServiceQueryContext.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/RdfServiceQueryContext.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/ResultSetIterators.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/ResultSetIterators.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/ResultSetIterators.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/ResultSetIterators.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryHolder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryHolder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryHolder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryHolder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryRunner.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryRunner.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryRunner.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/sparql/SelectQueryRunner.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/threads/VitroBackgroundThread.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/threads/VitroBackgroundThread.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/utils/threads/VitroBackgroundThread.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/threads/VitroBackgroundThread.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/AntiScript.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/AntiScript.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/AntiScript.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/AntiScript.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/ContentType.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/ContentType.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/ContentType.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/ContentType.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/MiscWebUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/MiscWebUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/MiscWebUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/MiscWebUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/TemplateUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/TemplateUtils.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/TemplateUtils.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/TemplateUtils.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/URLEncoder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/URLEncoder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/URLEncoder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/URLEncoder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/ViewFinder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/ViewFinder.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/ViewFinder.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/ViewFinder.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/beanswrappers/ReadOnlyBeansWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/beanswrappers/ReadOnlyBeansWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/beanswrappers/ReadOnlyBeansWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/beanswrappers/ReadOnlyBeansWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/BaseTemplateDirectiveModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/BaseTemplateDirectiveModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/BaseTemplateDirectiveModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/BaseTemplateDirectiveModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/EmailDirective.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/EmailDirective.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/EmailDirective.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/EmailDirective.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/IndividualShortViewDirective.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/IndividualShortViewDirective.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/IndividualShortViewDirective.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/IndividualShortViewDirective.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/UrlDirective.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/UrlDirective.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/UrlDirective.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/UrlDirective.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/WidgetDirective.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/WidgetDirective.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/WidgetDirective.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/directives/WidgetDirective.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/images/PlaceholderUtil.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/images/PlaceholderUtil.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/images/PlaceholderUtil.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/images/PlaceholderUtil.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/ConfirmAuthorization.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/ConfirmAuthorization.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/ConfirmAuthorization.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/ConfirmAuthorization.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/JsonSet.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/JsonSet.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/JsonSet.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/JsonSet.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/ListSparqlTag.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/ListSparqlTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/ListSparqlTag.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/ListSparqlTag.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/Options.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/Options.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/Options.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/Options.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForClassTag.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForClassTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForClassTag.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForClassTag.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForPropertyTag.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForPropertyTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForPropertyTag.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/OptionsForPropertyTag.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/StringProcessorTag.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/StringProcessorTag.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/StringProcessorTag.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/StringProcessorTag.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/Value.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/Value.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/jsptags/Value.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/jsptags/Value.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/BaseTemplateMethodModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/BaseTemplateMethodModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/BaseTemplateMethodModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/BaseTemplateMethodModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualLocalNameMethod.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualLocalNameMethod.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualLocalNameMethod.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualLocalNameMethod.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualPlaceholderImageUrlMethod.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualPlaceholderImageUrlMethod.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualPlaceholderImageUrlMethod.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualPlaceholderImageUrlMethod.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualProfileUrlMethod.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualProfileUrlMethod.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualProfileUrlMethod.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/methods/IndividualProfileUrlMethod.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/LinkTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/LinkTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/LinkTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/LinkTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/Tags.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/Tags.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/Tags.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/Tags.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/User.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassGroupTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassGroupTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassGroupTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassGroupTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/VClassTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFile.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFile.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFile.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFile.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewLogger.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewLogger.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewLogger.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewLogger.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/DataPropertyListConfig.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/DataPropertyListConfig.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/DataPropertyListConfig.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/DataPropertyListConfig.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/InvalidConfigurationException.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/InvalidConfigurationException.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/InvalidConfigurationException.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/InvalidConfigurationException.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/PropertyListConfig.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/PropertyListConfig.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/PropertyListConfig.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/PropertyListConfig.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/MultiValueEditSubmissionTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseIndividualTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseObjectPropertyDataPostProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseObjectPropertyDataPostProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseObjectPropertyDataPostProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/BaseObjectPropertyDataPostProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/CollatedObjectPropertyTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyStatementTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultListViewDataPostProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultListViewDataPostProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultListViewDataPostProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultListViewDataPostProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultObjectPropertyDataPostProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultObjectPropertyDataPostProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultObjectPropertyDataPostProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DefaultObjectPropertyDataPostProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/FauxObjectPropertyWrapper.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/FauxObjectPropertyWrapper.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/FauxObjectPropertyWrapper.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/FauxObjectPropertyWrapper.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java similarity index 87% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java index a00129d10..c45020b47 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java @@ -12,8 +12,7 @@ public class IndividualTemplateModel extends BaseIndividualTemplateModel { private static final Log log = LogFactory.getLog(IndividualTemplateModel.class); - public IndividualTemplateModel(Individual individual, VitroRequest vreq) { + IndividualTemplateModel(Individual individual, VitroRequest vreq) { super(individual, vreq); } - } diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModelBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModelBuilder.java new file mode 100644 index 000000000..c8e2e6eb6 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModelBuilder.java @@ -0,0 +1,25 @@ +package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual; + +import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividual; + +public class IndividualTemplateModelBuilder { + static IIndividualTemplateModelBuilder customBuilder = null; + + static public IndividualTemplateModel build(Individual individual, VitroRequest vreq) { + if (customBuilder != null) { + return customBuilder.build(individual, vreq); + } + + return new IndividualTemplateModel(individual, vreq); + } + + static public void setCustomBuilder(IIndividualTemplateModelBuilder builder) { + customBuilder = builder; + } + + public interface IIndividualTemplateModelBuilder { + public IndividualTemplateModel build(Individual individual, VitroRequest vreq); + } +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/MaintainDuplicatesObjectPropertyDataPostProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/MaintainDuplicatesObjectPropertyDataPostProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/MaintainDuplicatesObjectPropertyDataPostProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/MaintainDuplicatesObjectPropertyDataPostProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/NameStatementTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/NameStatementTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/NameStatementTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/NameStatementTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyDataPostProcessor.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyDataPostProcessor.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyDataPostProcessor.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyDataPostProcessor.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyStatementTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyGroupTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyStatementTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/PropertyTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/SubclassTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/SubclassTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/SubclassTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/SubclassTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java similarity index 97% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java index 3b93429ae..1d0a6426e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/BaseListedIndividual.java @@ -30,7 +30,7 @@ public abstract class BaseListedIndividual extends BaseTemplateModel { public static List getIndividualTemplateModels(List individuals, VitroRequest vreq) { List models = new ArrayList(individuals.size()); for (Individual individual : individuals) { - models.add(new ListedIndividual(individual, vreq)); + models.add(ListedIndividualBuilder.build(individual, vreq)); } return models; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividual.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividual.java similarity index 88% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividual.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividual.java index 328b4bfd8..1e10f5752 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividual.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividual.java @@ -12,8 +12,7 @@ public class ListedIndividual extends BaseListedIndividual { private static final Log log = LogFactory.getLog(ListedIndividual.class); - public ListedIndividual(Individual individual, VitroRequest vreq) { + ListedIndividual(Individual individual, VitroRequest vreq) { super(individual, vreq); } - } diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividualBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividualBuilder.java new file mode 100644 index 000000000..0970f7fa6 --- /dev/null +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individuallist/ListedIndividualBuilder.java @@ -0,0 +1,24 @@ +package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist; + +import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; + +public class ListedIndividualBuilder { + static ILIstedIndividualBuilder customBuilder = null; + + static public ListedIndividual build(Individual individual, VitroRequest vreq) { + if (customBuilder != null) { + return customBuilder.build(individual, vreq); + } + + return new ListedIndividual(individual, vreq); + } + + static public void setCustomBuilder(ILIstedIndividualBuilder builder) { + customBuilder = builder; + } + + public interface ILIstedIndividualBuilder { + public ListedIndividual build(Individual individual, VitroRequest vreq); + } +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenu.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenuItem.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenuItem.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenuItem.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MainMenuItem.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/Menu.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/menu/MenuItem.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java similarity index 51% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java index 7fa0fce6d..b477c9cd3 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/BaseIndividualSearchResult.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java @@ -2,69 +2,90 @@ package edu.cornell.mannlib.vitro.webapp.web.templatemodels.searchresult; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - +import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; +import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyStatementDao; +import edu.cornell.mannlib.vitro.webapp.web.ViewFinder; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.BaseTemplateModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; -import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyStatementDao; -import edu.cornell.mannlib.vitro.webapp.web.ViewFinder; -import edu.cornell.mannlib.vitro.webapp.web.ViewFinder.ClassView; -import edu.cornell.mannlib.vitro.webapp.web.templatemodels.BaseTemplateModel; -public abstract class BaseIndividualSearchResult extends BaseTemplateModel { +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +public class IndividualSearchResult extends BaseTemplateModel { + + private static final Log log = LogFactory.getLog(IndividualSearchResult.class); + + private static Class resultClass = IndividualSearchResult.class; - private static final Log log = LogFactory.getLog(BaseIndividualSearchResult.class); - protected final VitroRequest vreq; protected final Individual individual; - - public BaseIndividualSearchResult(Individual individual, VitroRequest vreq) { + + public IndividualSearchResult(Individual individual, VitroRequest vreq) { this.vreq = vreq; this.individual = individual; } - protected String getView(ClassView view) { + protected String getView(ViewFinder.ClassView view) { ViewFinder vf = new ViewFinder(view); return vf.findClassView(individual, vreq); } - + public static List getIndividualTemplateModels(List individuals, VitroRequest vreq) { List models = new ArrayList(individuals.size()); for (Individual individual : individuals) { - models.add(new IndividualSearchResult(individual, vreq)); - } +// models.add(new IndividualSearchResult(individual, vreq)); + + try { + Constructor ctor = resultClass.getDeclaredConstructor(Individual.class, VitroRequest.class); + models.add((IndividualSearchResult)ctor.newInstance(individual, vreq)); + } catch (NoSuchMethodException e) { + log.error("Unable to create IndividualSearchResult", e); + } catch (InstantiationException e) { + log.error("Unable to create IndividualSearchResult", e); + } catch (IllegalAccessException e) { + log.error("Unable to create IndividualSearchResult", e); + } catch (InvocationTargetException e) { + log.error("Unable to create IndividualSearchResult", e); + } + } return models; } - + /* Template properties */ - public String getUri() { - return individual.getURI(); - } - + public String getUri() { + return individual.getURI(); + } + public String getProfileUrl() { return UrlBuilder.getIndividualProfileUrl(individual, vreq); - } - - public String getName() { + } + + public String getName() { return individual.getName(); } - + public Collection getMostSpecificTypes() { ObjectPropertyStatementDao opsDao = vreq.getWebappDaoFactory().getObjectPropertyStatementDao(); - Map types = opsDao.getMostSpecificTypesInClassgroupsForIndividual(individual.getURI()); - return types.values(); + Map types = opsDao.getMostSpecificTypesInClassgroupsForIndividual(individual.getURI()); + return types.values(); } - - public String getSnippet() { + + public String getSnippet() { return individual.getSearchSnippet(); } - -} + + protected static void registerResultClass(Class clazz) { + if (IndividualSearchResult.class.isAssignableFrom(clazz)) { + resultClass = clazz; + } + } +} \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/BrowseWidget.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/BrowseWidget.java similarity index 98% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/BrowseWidget.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/BrowseWidget.java index 5f2d05c11..e4ee39874 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/BrowseWidget.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/BrowseWidget.java @@ -11,6 +11,7 @@ import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individuallist.ListedIndividualBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONArray; @@ -163,7 +164,7 @@ public class BrowseWidget extends Widget { List tInds = new ArrayList(inds.size()); for( Individual ind : inds){ - tInds.add(new ListedIndividual(ind, vreq)); + tInds.add(ListedIndividualBuilder.build(ind, vreq)); } map.put("individualsInClass", tInds); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/DateTimeWidget.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/DateTimeWidget.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/DateTimeWidget.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/DateTimeWidget.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/LoginWidget.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/LoginWidget.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/LoginWidget.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/LoginWidget.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/TestWidget.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/TestWidget.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/TestWidget.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/TestWidget.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java rename to api/src/main/java/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java diff --git a/webapp/src/edu/ucsf/vitro/opensocial/GadgetController.java b/api/src/main/java/edu/ucsf/vitro/opensocial/GadgetController.java similarity index 100% rename from webapp/src/edu/ucsf/vitro/opensocial/GadgetController.java rename to api/src/main/java/edu/ucsf/vitro/opensocial/GadgetController.java diff --git a/webapp/src/edu/ucsf/vitro/opensocial/GadgetSpec.java b/api/src/main/java/edu/ucsf/vitro/opensocial/GadgetSpec.java similarity index 100% rename from webapp/src/edu/ucsf/vitro/opensocial/GadgetSpec.java rename to api/src/main/java/edu/ucsf/vitro/opensocial/GadgetSpec.java diff --git a/webapp/src/edu/ucsf/vitro/opensocial/GadgetViewRequirements.java b/api/src/main/java/edu/ucsf/vitro/opensocial/GadgetViewRequirements.java similarity index 100% rename from webapp/src/edu/ucsf/vitro/opensocial/GadgetViewRequirements.java rename to api/src/main/java/edu/ucsf/vitro/opensocial/GadgetViewRequirements.java diff --git a/webapp/src/edu/ucsf/vitro/opensocial/OpenSocialManager.java b/api/src/main/java/edu/ucsf/vitro/opensocial/OpenSocialManager.java similarity index 100% rename from webapp/src/edu/ucsf/vitro/opensocial/OpenSocialManager.java rename to api/src/main/java/edu/ucsf/vitro/opensocial/OpenSocialManager.java diff --git a/webapp/src/edu/ucsf/vitro/opensocial/OpenSocialSmokeTests.java b/api/src/main/java/edu/ucsf/vitro/opensocial/OpenSocialSmokeTests.java similarity index 98% rename from webapp/src/edu/ucsf/vitro/opensocial/OpenSocialSmokeTests.java rename to api/src/main/java/edu/ucsf/vitro/opensocial/OpenSocialSmokeTests.java index 08d050ca5..ec0223a24 100644 --- a/webapp/src/edu/ucsf/vitro/opensocial/OpenSocialSmokeTests.java +++ b/api/src/main/java/edu/ucsf/vitro/opensocial/OpenSocialSmokeTests.java @@ -18,12 +18,14 @@ import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import edu.cornell.mannlib.vitro.webapp.utils.http.HttpClientFactory; import org.apache.commons.dbcp.BasicDataSource; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; +import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; @@ -349,7 +351,7 @@ public class OpenSocialSmokeTests implements ServletContextListener { private final String shindigBaseUrl; private final String shindigTestUrl; - private final DefaultHttpClient httpClient = new DefaultHttpClient(); + private final HttpClient httpClient = HttpClientFactory.getHttpClient(); private int statusCode = Integer.MIN_VALUE; diff --git a/webapp/src/edu/ucsf/vitro/opensocial/PreparedGadget.java b/api/src/main/java/edu/ucsf/vitro/opensocial/PreparedGadget.java similarity index 100% rename from webapp/src/edu/ucsf/vitro/opensocial/PreparedGadget.java rename to api/src/main/java/edu/ucsf/vitro/opensocial/PreparedGadget.java diff --git a/webapp/src/freemarker/ext/beans/WrapperExtractor.java b/api/src/main/java/freemarker/ext/beans/WrapperExtractor.java similarity index 100% rename from webapp/src/freemarker/ext/beans/WrapperExtractor.java rename to api/src/main/java/freemarker/ext/beans/WrapperExtractor.java diff --git a/webapp/src/freemarker/ext/dump/BaseDumpDirective.java b/api/src/main/java/freemarker/ext/dump/BaseDumpDirective.java similarity index 100% rename from webapp/src/freemarker/ext/dump/BaseDumpDirective.java rename to api/src/main/java/freemarker/ext/dump/BaseDumpDirective.java diff --git a/webapp/src/freemarker/ext/dump/DumpAllDirective.java b/api/src/main/java/freemarker/ext/dump/DumpAllDirective.java similarity index 100% rename from webapp/src/freemarker/ext/dump/DumpAllDirective.java rename to api/src/main/java/freemarker/ext/dump/DumpAllDirective.java diff --git a/webapp/src/freemarker/ext/dump/DumpDirective.java b/api/src/main/java/freemarker/ext/dump/DumpDirective.java similarity index 100% rename from webapp/src/freemarker/ext/dump/DumpDirective.java rename to api/src/main/java/freemarker/ext/dump/DumpDirective.java diff --git a/webapp/src/freemarker/ext/dump/HelpDirective.java b/api/src/main/java/freemarker/ext/dump/HelpDirective.java similarity index 100% rename from webapp/src/freemarker/ext/dump/HelpDirective.java rename to api/src/main/java/freemarker/ext/dump/HelpDirective.java diff --git a/webapp/src/org/json/CDL.java b/api/src/main/java/org/json/CDL.java similarity index 100% rename from webapp/src/org/json/CDL.java rename to api/src/main/java/org/json/CDL.java diff --git a/webapp/src/org/json/Cookie.java b/api/src/main/java/org/json/Cookie.java similarity index 100% rename from webapp/src/org/json/Cookie.java rename to api/src/main/java/org/json/Cookie.java diff --git a/webapp/src/org/json/CookieList.java b/api/src/main/java/org/json/CookieList.java similarity index 100% rename from webapp/src/org/json/CookieList.java rename to api/src/main/java/org/json/CookieList.java diff --git a/webapp/src/org/json/HTTP.java b/api/src/main/java/org/json/HTTP.java similarity index 100% rename from webapp/src/org/json/HTTP.java rename to api/src/main/java/org/json/HTTP.java diff --git a/webapp/src/org/json/HTTPTokener.java b/api/src/main/java/org/json/HTTPTokener.java similarity index 100% rename from webapp/src/org/json/HTTPTokener.java rename to api/src/main/java/org/json/HTTPTokener.java diff --git a/webapp/src/org/json/JSONArray.java b/api/src/main/java/org/json/JSONArray.java similarity index 100% rename from webapp/src/org/json/JSONArray.java rename to api/src/main/java/org/json/JSONArray.java diff --git a/webapp/src/org/json/JSONException.java b/api/src/main/java/org/json/JSONException.java similarity index 100% rename from webapp/src/org/json/JSONException.java rename to api/src/main/java/org/json/JSONException.java diff --git a/webapp/src/org/json/JSONObject.java b/api/src/main/java/org/json/JSONObject.java similarity index 100% rename from webapp/src/org/json/JSONObject.java rename to api/src/main/java/org/json/JSONObject.java diff --git a/webapp/src/org/json/JSONString.java b/api/src/main/java/org/json/JSONString.java similarity index 100% rename from webapp/src/org/json/JSONString.java rename to api/src/main/java/org/json/JSONString.java diff --git a/webapp/src/org/json/JSONStringer.java b/api/src/main/java/org/json/JSONStringer.java similarity index 100% rename from webapp/src/org/json/JSONStringer.java rename to api/src/main/java/org/json/JSONStringer.java diff --git a/webapp/src/org/json/JSONTokener.java b/api/src/main/java/org/json/JSONTokener.java similarity index 100% rename from webapp/src/org/json/JSONTokener.java rename to api/src/main/java/org/json/JSONTokener.java diff --git a/webapp/src/org/json/JSONWriter.java b/api/src/main/java/org/json/JSONWriter.java similarity index 100% rename from webapp/src/org/json/JSONWriter.java rename to api/src/main/java/org/json/JSONWriter.java diff --git a/webapp/src/org/json/Test.java b/api/src/main/java/org/json/Test.java similarity index 100% rename from webapp/src/org/json/Test.java rename to api/src/main/java/org/json/Test.java diff --git a/webapp/src/org/json/XML.java b/api/src/main/java/org/json/XML.java similarity index 100% rename from webapp/src/org/json/XML.java rename to api/src/main/java/org/json/XML.java diff --git a/webapp/src/org/json/XMLTokener.java b/api/src/main/java/org/json/XMLTokener.java similarity index 100% rename from webapp/src/org/json/XMLTokener.java rename to api/src/main/java/org/json/XMLTokener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/antisamy-vitro-1.4.4.xml b/api/src/main/resources/edu/cornell/mannlib/vitro/webapp/web/antisamy-vitro-1.4.4.xml similarity index 100% rename from webapp/src/edu/cornell/mannlib/vitro/webapp/web/antisamy-vitro-1.4.4.xml rename to api/src/main/resources/edu/cornell/mannlib/vitro/webapp/web/antisamy-vitro-1.4.4.xml diff --git a/webapp/test/edu/cornell/mannlib/vedit/util/OperationUtils_CloneBeanTest.java b/api/src/test/java/edu/cornell/mannlib/vedit/util/OperationUtils_CloneBeanTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vedit/util/OperationUtils_CloneBeanTest.java rename to api/src/test/java/edu/cornell/mannlib/vedit/util/OperationUtils_CloneBeanTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/testing/AbstractTestClass.java b/api/src/test/java/edu/cornell/mannlib/vitro/testing/AbstractTestClass.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/testing/AbstractTestClass.java rename to api/src/test/java/edu/cornell/mannlib/vitro/testing/AbstractTestClass.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/testing/ModelUtilitiesTestHelper.java b/api/src/test/java/edu/cornell/mannlib/vitro/testing/ModelUtilitiesTestHelper.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/testing/ModelUtilitiesTestHelper.java rename to api/src/test/java/edu/cornell/mannlib/vitro/testing/ModelUtilitiesTestHelper.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/testing/RecordingProxy.java b/api/src/test/java/edu/cornell/mannlib/vitro/testing/RecordingProxy.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/testing/RecordingProxy.java rename to api/src/test/java/edu/cornell/mannlib/vitro/testing/RecordingProxy.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactoryTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactoryTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactoryTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/HasPermissionFactoryTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactoryTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactoryTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactoryTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsRootUserFactoryTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactoryTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactoryTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactoryTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/identifier/factory/IsUserFactoryTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_AuthorizationRequestTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_AuthorizationRequestTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_AuthorizationRequestTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_AuthorizationRequestTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_ModelsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_ModelsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_ModelsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_ModelsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_StatementsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_StatementsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_StatementsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/PolicyHelper_StatementsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicyTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicyTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicyTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicyTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy_2_Test.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy_2_Test.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy_2_Test.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/SelfEditingPolicy_2_Test.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImplTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImplTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImplTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanImplTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequestTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequestTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequestTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/auth/requestedAction/AuthorizationRequestTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBeanTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBeanTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBeanTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoBeanTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetupTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetupTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetupTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/config/RevisionInfoSetupTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteriaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteriaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteriaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectionCriteriaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest.java diff --git a/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiTest.java new file mode 100644 index 000000000..130c28373 --- /dev/null +++ b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/api/SparqlUpdateApiTest.java @@ -0,0 +1,90 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.controller.api; + +import static org.junit.Assert.*; + +import java.io.StringReader; + +import junit.framework.Assert; + +import org.junit.Before; +import org.junit.Test; + +import com.hp.hpl.jena.query.Dataset; +import com.hp.hpl.jena.query.DatasetFactory; +import com.hp.hpl.jena.query.ReadWrite; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.update.GraphStore; +import com.hp.hpl.jena.update.GraphStoreFactory; +import com.hp.hpl.jena.update.UpdateAction; +import com.hp.hpl.jena.update.UpdateFactory; + +import edu.cornell.mannlib.vitro.testing.AbstractTestClass; +import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset; +import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; +import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.model.RDFServiceModel; + +/** + * Test that the SparqlQueryApiExecutor can handle all query types and all + * formats. + */ +public class SparqlUpdateApiTest extends AbstractTestClass { + + private final String GRAPH_URI = "http://example.org/graph"; + + private final String updateStr1 = + "INSERT DATA { GRAPH <" + GRAPH_URI + "> { \n" + + " a . \n" + + "} } ; \n" + + "INSERT { GRAPH <" + GRAPH_URI + "> { \n " + + " ?x a . \n " + + "} } WHERE { \n" + + " GRAPH <" + GRAPH_URI + "> { ?x a } \n " + + "}"; + + private final String result1 = + " a . \n" + + " a ." ; + + // look at how the SimpleReasoner is set up. + + private Model model; + private RDFService rdfService; + + @Before + public void setup() { + model = ModelFactory.createDefaultModel(); + Dataset ds = DatasetFactory.createMem(); + ds.addNamedModel(GRAPH_URI, model); + rdfService = new RDFServiceModel(ds); + } + + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + @Test + public void nullRdfService() throws Exception { + model.removeAll(); + Model desiredResults = ModelFactory.createDefaultModel(); + desiredResults.read(new StringReader(result1), null, "N3"); + Dataset ds = new RDFServiceDataset(rdfService); + GraphStore graphStore = GraphStoreFactory.create(ds); + try { + if(ds.supportsTransactions()) { + ds.begin(ReadWrite.WRITE); + System.out.println("yep"); + } + UpdateAction.execute(UpdateFactory.create(updateStr1), graphStore); + } finally { + if(ds.supportsTransactions()) { + ds.commit(); + ds.end(); + } + } + assertEquals("updateStr1 yields result1", desiredResults.toString(), model.toString()); + } + +} diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutorTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutorTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutorTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/api/sparqlquery/SparqlQueryApiExecutorTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AuthenticatorStub.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AuthenticatorStub.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AuthenticatorStub.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/AuthenticatorStub.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLoginTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLoginTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLoginTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/authenticate/ProgramLoginTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/edit/AuthenticateTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/edit/AuthenticateTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/edit/AuthenticateTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/edit/AuthenticateTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEditTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEditTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEditTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/edit/PrimitiveRdfEditTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilderTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilderTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilderTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/UrlBuilderTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServletTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServletTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServletTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/grefine/JSONReconcileServletTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalyzerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServletTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServletTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServletTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/controller/json/JsonServletTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitroTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitroTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitroTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/NewURIMakerVitroTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFilteringByStatementTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFilteringByStatementTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFilteringByStatementTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/IndividualFilteringByStatementTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersFactoryTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersFactoryTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersFactoryTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/filtering/filters/VitroFiltersFactoryTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/DependentResourceDeleteJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDaoTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao_2_Test.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao_2_Test.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao_2_Test.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao_2_Test.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/MenuDaoJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSegementationTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSegementationTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSegementationTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/OntModelSegementationTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyInstanceDaoJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtilsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtilsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtilsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtilsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/UserAccountsDaoJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassDaoTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCacheTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCacheTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCacheTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCacheTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJenaTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJenaTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJenaTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassJenaTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearchTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearchTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearchTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/dao/vclassgroup/ProhibitedFromSearchTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/EditLiteralTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/EditLiteralTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/EditLiteralTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/EditLiteralTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/EditN3UtilsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/EditN3UtilsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/EditN3UtilsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/EditN3UtilsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwoTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwoTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwoTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BasicValidationVTwoTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtilsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtilsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtilsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditConfigurationUtilsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwoTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwoTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwoTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/EditN3GeneratorVTwoTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfFormTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfFormTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfFormTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/ProcessRdfFormTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidationTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidationTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidationTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/validators/AntiXssValidationTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/RdfLiteralHashTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/RdfLiteralHashTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/RdfLiteralHashTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/RdfLiteralHashTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelperTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelperTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelperTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/filestorage/FileServingHelperTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelperTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelperTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelperTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageHelperTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/filestorage/impl/FileStorageImplTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponseTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponseTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponseTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/filters/URLRewritingHttpServletResponseTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoaderTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoaderTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoaderTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/freemarker/loader/FreemarkerTemplateLoaderTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/i18n/I18nTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/i18n/I18nTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/i18n/I18nTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/i18n/I18nTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetupTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetupTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetupTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/i18n/selection/LocaleSelectionSetupTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester2.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester2.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester2.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/imageprocessor/jai/JaiImageProcessorTester2.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMakerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMakerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMakerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ListCachingModelMakerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMakerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMakerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMakerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/MemoryMappingModelMakerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModelsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModelsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModelsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/modelaccess/adapters/ModelMakerWithPersistentEmptyModelsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactoryTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactoryTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactoryTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/rdfservice/adapters/VitroModelFactoryTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFServiceTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFServiceTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFServiceTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/rdfservice/filter/LanguageFilteringRDFServiceTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerInversePropertyTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerInversePropertyTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerInversePropertyTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerInversePropertyTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerPluginTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerPluginTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerPluginTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerPluginTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerSameAsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerSameAsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerSameAsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerSameAsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxHelper.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxHelper.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxHelper.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTBoxHelper.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasonerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SamplePlugin.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SamplePlugin.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SamplePlugin.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/reasoner/plugin/SamplePlugin.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchControllerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchControllerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchControllerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchControllerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndexTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndexTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndexTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/search/controller/UpdateUrisInIndexTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocumentTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocumentTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocumentTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchengine/base/BaseSearchInputDocumentTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURLTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURLTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURLTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/ThumbnailImageURLTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/exclusions/ExcludeBasedOnTypeTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChangesTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChangesTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChangesTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForClassGroupChangesTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectPropertiesTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectPropertiesTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectPropertiesTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForObjectPropertiesTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatementsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatementsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatementsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/AdditionalURIsForTypeStatementsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinderTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinderTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinderTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/searchindex/indexing/SelectQueryUriFinderTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBaseTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBaseTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBaseTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBaseTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/startup/StartupManagerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/startup/StartupManagerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/startup/StartupManagerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/startup/StartupManagerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/test/JenaOntologyLoader.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/test/JenaOntologyLoader.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/test/JenaOntologyLoader.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/test/JenaOntologyLoader.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/MakeTidyTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/MakeTidyTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/MakeTidyTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/MakeTidyTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunnerTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunnerTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunnerTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/SparqlQueryRunnerTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/configuration/ConfigurationBeanLoaderTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtilsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtilsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtilsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/DataGetterUtilsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetterTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetterTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetterTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetterTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtilTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtilTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtilTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/http/ContentTypeUtilTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/JenaIngestUtilsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/ingest/JenaIngestUtilsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/JenaIngestUtilsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/ingest/JenaIngestUtilsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtilsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtilsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtilsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/jena/JenaIngestUtilsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWordsTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWordsTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWordsTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/utils/searchengine/AutoCompleteWordsTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/ContentTypeTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/ContentTypeTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/ContentTypeTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/ContentTypeTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModelTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModelTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModelTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/BaseTemplateModelTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFileTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFileTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFileTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/customlistview/CustomListViewConfigFileTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel_PropertyListConfigTest.java b/api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel_PropertyListConfigTest.java similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel_PropertyListConfigTest.java rename to api/src/test/java/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/ObjectPropertyTemplateModel_PropertyListConfigTest.java diff --git a/webapp/test/freemarker/ext/dump/DumpAllDirectiveTest.java b/api/src/test/java/freemarker/ext/dump/DumpAllDirectiveTest.java similarity index 100% rename from webapp/test/freemarker/ext/dump/DumpAllDirectiveTest.java rename to api/src/test/java/freemarker/ext/dump/DumpAllDirectiveTest.java diff --git a/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java b/api/src/test/java/freemarker/ext/dump/DumpDirectiveTest.java similarity index 100% rename from webapp/test/freemarker/ext/dump/DumpDirectiveTest.java rename to api/src/test/java/freemarker/ext/dump/DumpDirectiveTest.java diff --git a/webapp/test/stubs/com/hp/hpl/jena/rdf/model/LiteralStub.java b/api/src/test/java/stubs/com/hp/hpl/jena/rdf/model/LiteralStub.java similarity index 100% rename from webapp/test/stubs/com/hp/hpl/jena/rdf/model/LiteralStub.java rename to api/src/test/java/stubs/com/hp/hpl/jena/rdf/model/LiteralStub.java diff --git a/webapp/test/stubs/com/hp/hpl/jena/rdf/model/ModelMaker/ModelMakerStub.java b/api/src/test/java/stubs/com/hp/hpl/jena/rdf/model/ModelMaker/ModelMakerStub.java similarity index 100% rename from webapp/test/stubs/com/hp/hpl/jena/rdf/model/ModelMaker/ModelMakerStub.java rename to api/src/test/java/stubs/com/hp/hpl/jena/rdf/model/ModelMaker/ModelMakerStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/auth/policy/bean/PropertyRestrictionBeanStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/beans/IndividualStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/beans/IndividualStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/beans/IndividualStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/beans/IndividualStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfigurationStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfigurationStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfigurationStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/beans/SelfEditingConfigurationStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/config/ConfigurationPropertiesStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRequestAnalysisContextStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/ApplicationDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/DataPropertyDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/FauxPropertyDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/IndividualDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/IndividualDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/IndividualDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/IndividualDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/MenuDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/MenuDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/MenuDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/MenuDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/ObjectPropertyStatementDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/OntologyDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/OntologyDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/OntologyDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/OntologyDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/UserAccountsDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/VClassDaoStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/VClassDaoStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/VClassDaoStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/VClassDaoStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/dao/WebappDaoFactoryStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/i18n/I18nStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/i18n/I18nStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/i18n/I18nStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/i18n/I18nStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccessStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccessStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccessStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ContextModelAccessStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccessFactoryStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccessFactoryStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccessFactoryStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/ModelAccessFactoryStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccessStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccessStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccessStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modelaccess/RequestModelAccessStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/ApplicationStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/ApplicationStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/ApplicationStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/ApplicationStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchEngineStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQueryStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQueryStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQueryStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchQueryStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponseStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponseStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponseStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchEngine/SearchResponseStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/modules/searchIndexer/SearchIndexerStub.java diff --git a/webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/startup/StartupStatusStub.java b/api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/startup/StartupStatusStub.java similarity index 100% rename from webapp/test/stubs/edu/cornell/mannlib/vitro/webapp/startup/StartupStatusStub.java rename to api/src/test/java/stubs/edu/cornell/mannlib/vitro/webapp/startup/StartupStatusStub.java diff --git a/webapp/test/stubs/freemarker/cache/TemplateLoaderStub.java b/api/src/test/java/stubs/freemarker/cache/TemplateLoaderStub.java similarity index 100% rename from webapp/test/stubs/freemarker/cache/TemplateLoaderStub.java rename to api/src/test/java/stubs/freemarker/cache/TemplateLoaderStub.java diff --git a/webapp/test/stubs/javax/naming/ContextStub.java b/api/src/test/java/stubs/javax/naming/ContextStub.java similarity index 100% rename from webapp/test/stubs/javax/naming/ContextStub.java rename to api/src/test/java/stubs/javax/naming/ContextStub.java diff --git a/webapp/test/stubs/javax/naming/InitialContextStub.java b/api/src/test/java/stubs/javax/naming/InitialContextStub.java similarity index 100% rename from webapp/test/stubs/javax/naming/InitialContextStub.java rename to api/src/test/java/stubs/javax/naming/InitialContextStub.java diff --git a/webapp/test/stubs/javax/naming/spi/InitialContextFactoryStub.java b/api/src/test/java/stubs/javax/naming/spi/InitialContextFactoryStub.java similarity index 100% rename from webapp/test/stubs/javax/naming/spi/InitialContextFactoryStub.java rename to api/src/test/java/stubs/javax/naming/spi/InitialContextFactoryStub.java diff --git a/webapp/test/stubs/javax/servlet/ServletConfigStub.java b/api/src/test/java/stubs/javax/servlet/ServletConfigStub.java similarity index 100% rename from webapp/test/stubs/javax/servlet/ServletConfigStub.java rename to api/src/test/java/stubs/javax/servlet/ServletConfigStub.java diff --git a/webapp/test/stubs/javax/servlet/ServletContextStub.java b/api/src/test/java/stubs/javax/servlet/ServletContextStub.java similarity index 100% rename from webapp/test/stubs/javax/servlet/ServletContextStub.java rename to api/src/test/java/stubs/javax/servlet/ServletContextStub.java diff --git a/webapp/test/stubs/javax/servlet/http/HttpServletRequestStub.java b/api/src/test/java/stubs/javax/servlet/http/HttpServletRequestStub.java similarity index 100% rename from webapp/test/stubs/javax/servlet/http/HttpServletRequestStub.java rename to api/src/test/java/stubs/javax/servlet/http/HttpServletRequestStub.java diff --git a/webapp/test/stubs/javax/servlet/http/HttpServletResponseStub.java b/api/src/test/java/stubs/javax/servlet/http/HttpServletResponseStub.java similarity index 100% rename from webapp/test/stubs/javax/servlet/http/HttpServletResponseStub.java rename to api/src/test/java/stubs/javax/servlet/http/HttpServletResponseStub.java diff --git a/webapp/test/stubs/javax/servlet/http/HttpSessionStub.java b/api/src/test/java/stubs/javax/servlet/http/HttpSessionStub.java similarity index 100% rename from webapp/test/stubs/javax/servlet/http/HttpSessionStub.java rename to api/src/test/java/stubs/javax/servlet/http/HttpSessionStub.java diff --git a/webapp/test/commons-logging.properties b/api/src/test/resources/commons-logging.properties similarity index 100% rename from webapp/test/commons-logging.properties rename to api/src/test/resources/commons-logging.properties diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsSelectorTest.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UnionModel.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UnionModel.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UnionModel.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UnionModel.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UserAccountsModel.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UserAccountsModel.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UserAccountsModel.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/accounts/manageproxies/ProxyRelationshipSelectorTest_UserAccountsModel.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.nq b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.nq similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.nq rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/datatools/dumprestore/NQuadLineSplitterTest.nq diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.filteredRdf.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.filteredRdf.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.filteredRdf.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.filteredRdf.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.rawRdf.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.rawRdf.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.rawRdf.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.rawRdf.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.unfilteredRdf.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.unfilteredRdf.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.unfilteredRdf.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualRdfAssemblerTest.unfilteredRdf.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/UserAccountsDaoJenaTest.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/UserAccountsDaoJenaTest.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/UserAccountsDaoJenaTest.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/UserAccountsDaoJenaTest.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/dorkyhobbies.owl b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/dorkyhobbies.owl similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/dorkyhobbies.owl rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/dorkyhobbies.owl diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/menuForTest.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/menuForTest.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/menuForTest.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/dao/jena/resources/menuForTest.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/testEditConfig.json b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/edit/n3editing/testEditConfig.json similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/edit/n3editing/testEditConfig.json rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/edit/n3editing/testEditConfig.json diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/testPerson.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/testPerson.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/testPerson.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/searchindex/documentBuilding/testPerson.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/test_config.properties b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/test_config.properties similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/test_config.properties rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/test_config.properties diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/test_config_default.properties b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/test_config_default.properties similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/test_config_default.properties rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/test_config_default.properties diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/test_config_invalid.properties b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/test_config_invalid.properties similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/test_config_invalid.properties rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/test_config_invalid.properties diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/resources/dataGetterTest.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/resources/dataGetterTest.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/resources/dataGetterTest.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/resources/dataGetterTest.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/abox.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/abox.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/abox.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/abox.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/merge.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/merge.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/merge.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/merge.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultMultipleLabels.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultMultipleLabels.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultMultipleLabels.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultMultipleLabels.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultSingleLabel.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultSingleLabel.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultSingleLabel.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/mergeResultSingleLabel.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/renameBlank.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/renameBlank.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/renameBlank.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/renameBlank.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.1.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.1.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.1.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.1.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.2.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.2.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.2.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.2.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.3.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.3.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.3.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.3.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.4.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.4.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.4.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.4.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.5.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.5.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.5.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.5.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.6.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.6.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.6.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.end.6.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.start.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.start.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.start.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/smush.start.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/tbox.n3 b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/tbox.n3 similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/utils/ingest/tbox.n3 rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/utils/ingest/tbox.n3 diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMissing.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMissing.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMissing.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMissing.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMultiple.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMultiple.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMultiple.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-constructQueryMultiple.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-default.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-default.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-default.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-default.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotFound.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotFound.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotFound.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotFound.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotSuitable.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotSuitable.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotSuitable.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorClassNotSuitable.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorConstructorThrowsException.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorConstructorThrowsException.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorConstructorThrowsException.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorConstructorThrowsException.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorNameEmpty.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorNameEmpty.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorNameEmpty.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorNameEmpty.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorOK.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorOK.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorOK.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorOK.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorWrongConstructor.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorWrongConstructor.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorWrongConstructor.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-postProcessorWrongConstructor.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoOrder.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoOrder.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoOrder.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoOrder.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoSelect.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoSelect.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoSelect.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedNoSelect.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedValid.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedValid.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedValid.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-selectQueryCollatedValid.xml diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-templateDoesNotExist.xml b/api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-templateDoesNotExist.xml similarity index 100% rename from webapp/test/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-templateDoesNotExist.xml rename to api/src/test/resources/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/testConfig-templateDoesNotExist.xml diff --git a/webapp/test/log4j.properties b/api/src/test/resources/log4j.properties similarity index 100% rename from webapp/test/log4j.properties rename to api/src/test/resources/log4j.properties diff --git a/webapp/test/testontologies/SolrQueryTestRDF/jcr.rdf b/api/src/test/resources/testontologies/SolrQueryTestRDF/jcr.rdf similarity index 100% rename from webapp/test/testontologies/SolrQueryTestRDF/jcr.rdf rename to api/src/test/resources/testontologies/SolrQueryTestRDF/jcr.rdf diff --git a/webapp/test/testontologies/SolrQueryTestRDF/vivo15.2.n3 b/api/src/test/resources/testontologies/SolrQueryTestRDF/vivo15.2.n3 similarity index 100% rename from webapp/test/testontologies/SolrQueryTestRDF/vivo15.2.n3 rename to api/src/test/resources/testontologies/SolrQueryTestRDF/vivo15.2.n3 diff --git a/webapp/test/testontologies/SolrQueryTestRDF/vivo15.n3 b/api/src/test/resources/testontologies/SolrQueryTestRDF/vivo15.n3 similarity index 100% rename from webapp/test/testontologies/SolrQueryTestRDF/vivo15.n3 rename to api/src/test/resources/testontologies/SolrQueryTestRDF/vivo15.n3 diff --git a/webapp/test/testontologies/smallVivo-20070809.owl b/api/src/test/resources/testontologies/smallVivo-20070809.owl similarity index 100% rename from webapp/test/testontologies/smallVivo-20070809.owl rename to api/src/test/resources/testontologies/smallVivo-20070809.owl diff --git a/webapp/test/testontologies/vitro1.owl b/api/src/test/resources/testontologies/vitro1.owl similarity index 100% rename from webapp/test/testontologies/vitro1.owl rename to api/src/test/resources/testontologies/vitro1.owl diff --git a/webapp/test/testontologies/vivo-users.owl b/api/src/test/resources/testontologies/vivo-users.owl similarity index 100% rename from webapp/test/testontologies/vivo-users.owl rename to api/src/test/resources/testontologies/vivo-users.owl diff --git a/dependencies/pom.xml b/dependencies/pom.xml new file mode 100644 index 000000000..638e8dbfc --- /dev/null +++ b/dependencies/pom.xml @@ -0,0 +1,298 @@ + + + 4.0.0 + + org.vivoweb + vitro-dependencies + 1.9.0-SNAPSHOT + pom + + + org.vivoweb + vitro-project + 1.9.0-SNAPSHOT + .. + + + Vitro Dependencies + + + + + asm + asm + 3.1 + + + + com.github.ansell.aterms + aterm-java + 1.8.2 + + + + cglib + cglib + 2.2 + + + + com.servlets + cos + 05Nov2002 + + + + org.apache.cxf.xjc-utils + cxf-xjc-runtime + 2.6.2 + + + + org.apache.cxf.xjcplugins + cxf-xjc-ts + 2.6.2 + + + + dom4j + dom4j + 1.6.1 + + + + + + + com.github.jsonld-java + jsonld-java + 0.2 + + + + com.github.jsonld-java + jsonld-java-jena + 0.2 + + + com.ibm.icu + icu4j + 3.4.4 + + + com.mchange + c3p0 + 0.9.2-pre4 + + + com.twelvemonkeys.imageio + imageio-jpeg + 3.2.1 + + + com.twelvemonkeys.imageio + imageio-tiff + 3.2.1 + + + com.twelvemonkeys.servlet + servlet + 3.2.1 + + + commons-dbcp + commons-dbcp + 1.4 + + + commons-fileupload + commons-fileupload + 1.2.1 + + + commons-io + commons-io + 2.4 + + + commons-lang + commons-lang + 2.6 + + + commons-logging + commons-logging + 1.1.1 + + + joda-time + joda-time + 1.4 + + + mysql + mysql-connector-java + 5.1.36 + + + net.sf.jga + jga + 0.8.3 + + + jre + javaws + + + + + net.sf.json-lib + json-lib + 2.2.2 + jdk15 + + + net.sf.saxon + Saxon-HE + 9.6.0-7 + + + net.sourceforge.owlapi + jfact + 4.0.0 + + + net.sourceforge.owlapi + owlapi-distribution + 4.0.1 + + + * + * + + + + + org.apache.httpcomponents + httpcore + 4.2.4 + + + org.apache.httpcomponents + httpmime + 4.2.5 + + + org.apache.jena + jena-arq + 2.10.1 + + + org.apache.jena + jena-core + 2.10.1 + + + org.apache.jena + jena-sdb + 1.3.6 + + + org.apache.jena + jena-tdb + 0.10.0 + + + org.apache.solr + solr-solrj + 4.7.2 + + + org.directwebremoting + dwr + 2.0.M2.8 + + + org.freemarker + freemarker + 2.3.23 + + + org.hibernate + jtidy + r8-20060801 + + + org.jsoup + jsoup + 1.6.1 + + + org.owasp.antisamy + antisamy + 1.4.4 + + + + + + org.apache.taglibs + taglibs-standard-spec + 1.2.1 + + + org.apache.taglibs + taglibs-standard-impl + 1.2.1 + + + + org.vivoweb.dependencies + csv + 1.0 + + + org.vivoweb.dependencies + fedora-client + 1.0 + + + org.vivoweb.dependencies + jai_codec + 1.1.3 + + + org.vivoweb.dependencies + jai_core + 1.1.3 + + + org.vivoweb.dependencies + sparqltag + 1.0 + + + + javax.json + javax.json-api + 1.0 + + + javax.mail + mail + 1.4 + + + javax.xml + jaxrpc + 1.1 + + + diff --git a/home/pom.xml b/home/pom.xml new file mode 100644 index 000000000..df01165cc --- /dev/null +++ b/home/pom.xml @@ -0,0 +1,83 @@ + + + 4.0.0 + + org.vivoweb + vitro-home + 1.9.0-SNAPSHOT + pom + + + org.vivoweb + vitro-project + 1.9.0-SNAPSHOT + .. + + + Vitro Home + + + + + maven-assembly-plugin + 2.5.5 + + + src/main/assembly/home.xml + + false + + + + package + + single + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + true + + + attach-artifacts + package + + attach-artifact + + + + + target/${project.artifactId}-${project.version}.tar.gz + tar.gz + + + + + + + + + + + + diff --git a/home/src/main/assembly/home.xml b/home/src/main/assembly/home.xml new file mode 100644 index 000000000..675ad4192 --- /dev/null +++ b/home/src/main/assembly/home.xml @@ -0,0 +1,33 @@ + + home + + tar.gz + + + false + + + ${project.basedir} + / + + README* + LICENSE* + NOTICE* + + + + ${project.basedir}/src/main/resources + / + + + + \ No newline at end of file diff --git a/webapp/config/example.applicationSetup.n3 b/home/src/main/resources/config/example.applicationSetup.n3 similarity index 95% rename from webapp/config/example.applicationSetup.n3 rename to home/src/main/resources/config/example.applicationSetup.n3 index 6110a364f..eeb8678a9 100644 --- a/webapp/config/example.applicationSetup.n3 +++ b/home/src/main/resources/config/example.applicationSetup.n3 @@ -23,7 +23,7 @@ ; :hasSearchEngine :instrumentedSearchEngineWrapper ; :hasSearchIndexer :basicSearchIndexer ; - :hasImageProcessor :jaiImageProcessor ; + :hasImageProcessor :iioImageProcessor ; :hasFileStorage :ptiFileStorage ; :hasContentTripleSource :sdbContentTripleSource ; :hasConfigurationTripleSource :tdbConfigurationTripleSource ; @@ -32,12 +32,10 @@ # ---------------------------- # # Image processor module: -# The JAI-based implementation is the only standard option. -# It requires no parameters. # -:jaiImageProcessor - a , +:iioImageProcessor + a , . # ---------------------------- diff --git a/webapp/config/example.developer.properties b/home/src/main/resources/config/example.developer.properties similarity index 100% rename from webapp/config/example.developer.properties rename to home/src/main/resources/config/example.developer.properties diff --git a/webapp/rdf/auth/everytime/permission_config.n3 b/home/src/main/resources/rdf/auth/everytime/permission_config.n3 similarity index 100% rename from webapp/rdf/auth/everytime/permission_config.n3 rename to home/src/main/resources/rdf/auth/everytime/permission_config.n3 diff --git a/webapp/rdf/display/everytime/dataGetterLabels.n3 b/home/src/main/resources/rdf/display/everytime/dataGetterLabels.n3 similarity index 100% rename from webapp/rdf/display/everytime/dataGetterLabels.n3 rename to home/src/main/resources/rdf/display/everytime/dataGetterLabels.n3 diff --git a/webapp/rdf/display/everytime/displayModelListViews.rdf b/home/src/main/resources/rdf/display/everytime/displayModelListViews.rdf similarity index 100% rename from webapp/rdf/display/everytime/displayModelListViews.rdf rename to home/src/main/resources/rdf/display/everytime/displayModelListViews.rdf diff --git a/webapp/rdf/display/everytime/pageList.n3 b/home/src/main/resources/rdf/display/everytime/pageList.n3 similarity index 100% rename from webapp/rdf/display/everytime/pageList.n3 rename to home/src/main/resources/rdf/display/everytime/pageList.n3 diff --git a/webapp/rdf/display/everytime/permissions.n3 b/home/src/main/resources/rdf/display/everytime/permissions.n3 similarity index 100% rename from webapp/rdf/display/everytime/permissions.n3 rename to home/src/main/resources/rdf/display/everytime/permissions.n3 diff --git a/webapp/rdf/display/everytime/searchIndexerConfigurationVitro.n3 b/home/src/main/resources/rdf/display/everytime/searchIndexerConfigurationVitro.n3 similarity index 100% rename from webapp/rdf/display/everytime/searchIndexerConfigurationVitro.n3 rename to home/src/main/resources/rdf/display/everytime/searchIndexerConfigurationVitro.n3 diff --git a/webapp/rdf/display/everytime/vitroSearchProhibited.n3 b/home/src/main/resources/rdf/display/everytime/vitroSearchProhibited.n3 similarity index 100% rename from webapp/rdf/display/everytime/vitroSearchProhibited.n3 rename to home/src/main/resources/rdf/display/everytime/vitroSearchProhibited.n3 diff --git a/webapp/rdf/display/firsttime/application.owl b/home/src/main/resources/rdf/display/firsttime/application.owl similarity index 100% rename from webapp/rdf/display/firsttime/application.owl rename to home/src/main/resources/rdf/display/firsttime/application.owl diff --git a/webapp/rdf/display/firsttime/menu.n3 b/home/src/main/resources/rdf/display/firsttime/menu.n3 similarity index 100% rename from webapp/rdf/display/firsttime/menu.n3 rename to home/src/main/resources/rdf/display/firsttime/menu.n3 diff --git a/webapp/rdf/display/firsttime/pageList_editableStatements.n3 b/home/src/main/resources/rdf/display/firsttime/pageList_editableStatements.n3 similarity index 100% rename from webapp/rdf/display/firsttime/pageList_editableStatements.n3 rename to home/src/main/resources/rdf/display/firsttime/pageList_editableStatements.n3 diff --git a/webapp/rdf/display/firsttime/profilePageType.n3 b/home/src/main/resources/rdf/display/firsttime/profilePageType.n3 similarity index 100% rename from webapp/rdf/display/firsttime/profilePageType.n3 rename to home/src/main/resources/rdf/display/firsttime/profilePageType.n3 diff --git a/webapp/rdf/displayDisplay/everytime/displayDisplay.n3 b/home/src/main/resources/rdf/displayDisplay/everytime/displayDisplay.n3 similarity index 100% rename from webapp/rdf/displayDisplay/everytime/displayDisplay.n3 rename to home/src/main/resources/rdf/displayDisplay/everytime/displayDisplay.n3 diff --git a/webapp/rdf/displayTbox/everytime/displayTBOX.n3 b/home/src/main/resources/rdf/displayTbox/everytime/displayTBOX.n3 similarity index 100% rename from webapp/rdf/displayTbox/everytime/displayTBOX.n3 rename to home/src/main/resources/rdf/displayTbox/everytime/displayTBOX.n3 diff --git a/webapp/rdf/tbox/filegraph/vitro-0.7.owl b/home/src/main/resources/rdf/tbox/filegraph/vitro-0.7.owl similarity index 100% rename from webapp/rdf/tbox/filegraph/vitro-0.7.owl rename to home/src/main/resources/rdf/tbox/filegraph/vitro-0.7.owl diff --git a/webapp/rdf/tbox/filegraph/vitroPublic.owl b/home/src/main/resources/rdf/tbox/filegraph/vitroPublic.owl similarity index 100% rename from webapp/rdf/tbox/filegraph/vitroPublic.owl rename to home/src/main/resources/rdf/tbox/filegraph/vitroPublic.owl diff --git a/solr/homeDirectoryTemplate/README.txt b/home/src/main/resources/solr/README.txt similarity index 97% rename from solr/homeDirectoryTemplate/README.txt rename to home/src/main/resources/solr/README.txt index f3bb69a75..6bd90efb2 100644 --- a/solr/homeDirectoryTemplate/README.txt +++ b/home/src/main/resources/solr/README.txt @@ -1,54 +1,54 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -Example "Solr Home" Directory -============================= - -This directory is provided as an example of what a "Solr Home" directory -should look like. - -It's not strictly necessary that you copy all of the files in this -directory when setting up a new instance of Solr, but it is recommended. - - -Basic Directory Structure -------------------------- - -The Solr Home directory typically contains the following subdirectories... - - conf/ - This directory is mandatory and must contain your solrconfig.xml - and schema.xml. Any other optional configuration files would also - be kept here. - - data/ - This directory is the default location where Solr will keep your - index, and is used by the replication scripts for dealing with - snapshots. You can override this location in the solrconfig.xml - and scripts.conf files. Solr will create this directory if it - does not already exist. - - lib/ - This directory is optional. If it exists, Solr will load any Jars - found in this directory and use them to resolve any "plugins" - specified in your solrconfig.xml or schema.xml (ie: Analyzers, - Request Handlers, etc...). Alternatively you can use the - syntax in solrconfig.xml to direct Solr to your plugins. See the - example solrconfig.xml file for details. - - bin/ - This directory is optional. It is the default location used for - keeping the replication scripts. +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +Example "Solr Home" Directory +============================= + +This directory is provided as an example of what a "Solr Home" directory +should look like. + +It's not strictly necessary that you copy all of the files in this +directory when setting up a new instance of Solr, but it is recommended. + + +Basic Directory Structure +------------------------- + +The Solr Home directory typically contains the following subdirectories... + + conf/ + This directory is mandatory and must contain your solrconfig.xml + and schema.xml. Any other optional configuration files would also + be kept here. + + data/ + This directory is the default location where Solr will keep your + index, and is used by the replication scripts for dealing with + snapshots. You can override this location in the solrconfig.xml + and scripts.conf files. Solr will create this directory if it + does not already exist. + + lib/ + This directory is optional. If it exists, Solr will load any Jars + found in this directory and use them to resolve any "plugins" + specified in your solrconfig.xml or schema.xml (ie: Analyzers, + Request Handlers, etc...). Alternatively you can use the + syntax in solrconfig.xml to direct Solr to your plugins. See the + example solrconfig.xml file for details. + + bin/ + This directory is optional. It is the default location used for + keeping the replication scripts. diff --git a/solr/homeDirectoryTemplate/conf/admin-extra.html b/home/src/main/resources/solr/conf/admin-extra.html similarity index 100% rename from solr/homeDirectoryTemplate/conf/admin-extra.html rename to home/src/main/resources/solr/conf/admin-extra.html diff --git a/solr/homeDirectoryTemplate/conf/admin-extra.menu-bottom.html b/home/src/main/resources/solr/conf/admin-extra.menu-bottom.html similarity index 100% rename from solr/homeDirectoryTemplate/conf/admin-extra.menu-bottom.html rename to home/src/main/resources/solr/conf/admin-extra.menu-bottom.html diff --git a/solr/homeDirectoryTemplate/conf/admin-extra.menu-top.html b/home/src/main/resources/solr/conf/admin-extra.menu-top.html similarity index 100% rename from solr/homeDirectoryTemplate/conf/admin-extra.menu-top.html rename to home/src/main/resources/solr/conf/admin-extra.menu-top.html diff --git a/solr/homeDirectoryTemplate/conf/clustering/carrot2/kmeans-attributes.xml b/home/src/main/resources/solr/conf/clustering/carrot2/kmeans-attributes.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/clustering/carrot2/kmeans-attributes.xml rename to home/src/main/resources/solr/conf/clustering/carrot2/kmeans-attributes.xml diff --git a/solr/homeDirectoryTemplate/conf/clustering/carrot2/lingo-attributes.xml b/home/src/main/resources/solr/conf/clustering/carrot2/lingo-attributes.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/clustering/carrot2/lingo-attributes.xml rename to home/src/main/resources/solr/conf/clustering/carrot2/lingo-attributes.xml diff --git a/solr/homeDirectoryTemplate/conf/clustering/carrot2/stc-attributes.xml b/home/src/main/resources/solr/conf/clustering/carrot2/stc-attributes.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/clustering/carrot2/stc-attributes.xml rename to home/src/main/resources/solr/conf/clustering/carrot2/stc-attributes.xml diff --git a/solr/homeDirectoryTemplate/conf/currency.xml b/home/src/main/resources/solr/conf/currency.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/currency.xml rename to home/src/main/resources/solr/conf/currency.xml diff --git a/solr/homeDirectoryTemplate/conf/elevate.xml b/home/src/main/resources/solr/conf/elevate.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/elevate.xml rename to home/src/main/resources/solr/conf/elevate.xml diff --git a/solr/homeDirectoryTemplate/conf/lang/contractions_ca.txt b/home/src/main/resources/solr/conf/lang/contractions_ca.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/contractions_ca.txt rename to home/src/main/resources/solr/conf/lang/contractions_ca.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/contractions_fr.txt b/home/src/main/resources/solr/conf/lang/contractions_fr.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/contractions_fr.txt rename to home/src/main/resources/solr/conf/lang/contractions_fr.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/contractions_ga.txt b/home/src/main/resources/solr/conf/lang/contractions_ga.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/contractions_ga.txt rename to home/src/main/resources/solr/conf/lang/contractions_ga.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/contractions_it.txt b/home/src/main/resources/solr/conf/lang/contractions_it.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/contractions_it.txt rename to home/src/main/resources/solr/conf/lang/contractions_it.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/hyphenations_ga.txt b/home/src/main/resources/solr/conf/lang/hyphenations_ga.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/hyphenations_ga.txt rename to home/src/main/resources/solr/conf/lang/hyphenations_ga.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stemdict_nl.txt b/home/src/main/resources/solr/conf/lang/stemdict_nl.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stemdict_nl.txt rename to home/src/main/resources/solr/conf/lang/stemdict_nl.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stoptags_ja.txt b/home/src/main/resources/solr/conf/lang/stoptags_ja.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stoptags_ja.txt rename to home/src/main/resources/solr/conf/lang/stoptags_ja.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ar.txt b/home/src/main/resources/solr/conf/lang/stopwords_ar.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ar.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ar.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_bg.txt b/home/src/main/resources/solr/conf/lang/stopwords_bg.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_bg.txt rename to home/src/main/resources/solr/conf/lang/stopwords_bg.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ca.txt b/home/src/main/resources/solr/conf/lang/stopwords_ca.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ca.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ca.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ckb.txt b/home/src/main/resources/solr/conf/lang/stopwords_ckb.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ckb.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ckb.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_cz.txt b/home/src/main/resources/solr/conf/lang/stopwords_cz.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_cz.txt rename to home/src/main/resources/solr/conf/lang/stopwords_cz.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_da.txt b/home/src/main/resources/solr/conf/lang/stopwords_da.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_da.txt rename to home/src/main/resources/solr/conf/lang/stopwords_da.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_de.txt b/home/src/main/resources/solr/conf/lang/stopwords_de.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_de.txt rename to home/src/main/resources/solr/conf/lang/stopwords_de.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_el.txt b/home/src/main/resources/solr/conf/lang/stopwords_el.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_el.txt rename to home/src/main/resources/solr/conf/lang/stopwords_el.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_en.txt b/home/src/main/resources/solr/conf/lang/stopwords_en.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_en.txt rename to home/src/main/resources/solr/conf/lang/stopwords_en.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_es.txt b/home/src/main/resources/solr/conf/lang/stopwords_es.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_es.txt rename to home/src/main/resources/solr/conf/lang/stopwords_es.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_eu.txt b/home/src/main/resources/solr/conf/lang/stopwords_eu.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_eu.txt rename to home/src/main/resources/solr/conf/lang/stopwords_eu.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_fa.txt b/home/src/main/resources/solr/conf/lang/stopwords_fa.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_fa.txt rename to home/src/main/resources/solr/conf/lang/stopwords_fa.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_fi.txt b/home/src/main/resources/solr/conf/lang/stopwords_fi.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_fi.txt rename to home/src/main/resources/solr/conf/lang/stopwords_fi.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_fr.txt b/home/src/main/resources/solr/conf/lang/stopwords_fr.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_fr.txt rename to home/src/main/resources/solr/conf/lang/stopwords_fr.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ga.txt b/home/src/main/resources/solr/conf/lang/stopwords_ga.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ga.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ga.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_gl.txt b/home/src/main/resources/solr/conf/lang/stopwords_gl.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_gl.txt rename to home/src/main/resources/solr/conf/lang/stopwords_gl.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_hi.txt b/home/src/main/resources/solr/conf/lang/stopwords_hi.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_hi.txt rename to home/src/main/resources/solr/conf/lang/stopwords_hi.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_hu.txt b/home/src/main/resources/solr/conf/lang/stopwords_hu.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_hu.txt rename to home/src/main/resources/solr/conf/lang/stopwords_hu.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_hy.txt b/home/src/main/resources/solr/conf/lang/stopwords_hy.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_hy.txt rename to home/src/main/resources/solr/conf/lang/stopwords_hy.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_id.txt b/home/src/main/resources/solr/conf/lang/stopwords_id.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_id.txt rename to home/src/main/resources/solr/conf/lang/stopwords_id.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_it.txt b/home/src/main/resources/solr/conf/lang/stopwords_it.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_it.txt rename to home/src/main/resources/solr/conf/lang/stopwords_it.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ja.txt b/home/src/main/resources/solr/conf/lang/stopwords_ja.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ja.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ja.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_lv.txt b/home/src/main/resources/solr/conf/lang/stopwords_lv.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_lv.txt rename to home/src/main/resources/solr/conf/lang/stopwords_lv.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_nl.txt b/home/src/main/resources/solr/conf/lang/stopwords_nl.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_nl.txt rename to home/src/main/resources/solr/conf/lang/stopwords_nl.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_no.txt b/home/src/main/resources/solr/conf/lang/stopwords_no.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_no.txt rename to home/src/main/resources/solr/conf/lang/stopwords_no.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_pt.txt b/home/src/main/resources/solr/conf/lang/stopwords_pt.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_pt.txt rename to home/src/main/resources/solr/conf/lang/stopwords_pt.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ro.txt b/home/src/main/resources/solr/conf/lang/stopwords_ro.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ro.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ro.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_ru.txt b/home/src/main/resources/solr/conf/lang/stopwords_ru.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_ru.txt rename to home/src/main/resources/solr/conf/lang/stopwords_ru.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_sv.txt b/home/src/main/resources/solr/conf/lang/stopwords_sv.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_sv.txt rename to home/src/main/resources/solr/conf/lang/stopwords_sv.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_th.txt b/home/src/main/resources/solr/conf/lang/stopwords_th.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_th.txt rename to home/src/main/resources/solr/conf/lang/stopwords_th.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/stopwords_tr.txt b/home/src/main/resources/solr/conf/lang/stopwords_tr.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/stopwords_tr.txt rename to home/src/main/resources/solr/conf/lang/stopwords_tr.txt diff --git a/solr/homeDirectoryTemplate/conf/lang/userdict_ja.txt b/home/src/main/resources/solr/conf/lang/userdict_ja.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/lang/userdict_ja.txt rename to home/src/main/resources/solr/conf/lang/userdict_ja.txt diff --git a/solr/homeDirectoryTemplate/conf/mapping-FoldToASCII.txt b/home/src/main/resources/solr/conf/mapping-FoldToASCII.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/mapping-FoldToASCII.txt rename to home/src/main/resources/solr/conf/mapping-FoldToASCII.txt diff --git a/solr/homeDirectoryTemplate/conf/mapping-ISOLatin1Accent.txt b/home/src/main/resources/solr/conf/mapping-ISOLatin1Accent.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/mapping-ISOLatin1Accent.txt rename to home/src/main/resources/solr/conf/mapping-ISOLatin1Accent.txt diff --git a/solr/homeDirectoryTemplate/conf/protwords.txt b/home/src/main/resources/solr/conf/protwords.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/protwords.txt rename to home/src/main/resources/solr/conf/protwords.txt diff --git a/solr/homeDirectoryTemplate/conf/schema-old.xml b/home/src/main/resources/solr/conf/schema-old.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/schema-old.xml rename to home/src/main/resources/solr/conf/schema-old.xml diff --git a/solr/homeDirectoryTemplate/conf/schema.xml b/home/src/main/resources/solr/conf/schema.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/schema.xml rename to home/src/main/resources/solr/conf/schema.xml diff --git a/solr/homeDirectoryTemplate/conf/scripts.conf b/home/src/main/resources/solr/conf/scripts.conf similarity index 100% rename from solr/homeDirectoryTemplate/conf/scripts.conf rename to home/src/main/resources/solr/conf/scripts.conf diff --git a/solr/homeDirectoryTemplate/conf/solrconfig-old.xml b/home/src/main/resources/solr/conf/solrconfig-old.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/solrconfig-old.xml rename to home/src/main/resources/solr/conf/solrconfig-old.xml diff --git a/solr/homeDirectoryTemplate/conf/solrconfig.xml b/home/src/main/resources/solr/conf/solrconfig.xml similarity index 100% rename from solr/homeDirectoryTemplate/conf/solrconfig.xml rename to home/src/main/resources/solr/conf/solrconfig.xml diff --git a/solr/homeDirectoryTemplate/conf/spellings.txt b/home/src/main/resources/solr/conf/spellings.txt similarity index 87% rename from solr/homeDirectoryTemplate/conf/spellings.txt rename to home/src/main/resources/solr/conf/spellings.txt index 765190ae5..162a044d5 100644 --- a/solr/homeDirectoryTemplate/conf/spellings.txt +++ b/home/src/main/resources/solr/conf/spellings.txt @@ -1,2 +1,2 @@ -pizza -history +pizza +history diff --git a/solr/homeDirectoryTemplate/conf/stopwords-name.txt b/home/src/main/resources/solr/conf/stopwords-name.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/stopwords-name.txt rename to home/src/main/resources/solr/conf/stopwords-name.txt diff --git a/solr/homeDirectoryTemplate/conf/stopwords.txt b/home/src/main/resources/solr/conf/stopwords.txt similarity index 91% rename from solr/homeDirectoryTemplate/conf/stopwords.txt rename to home/src/main/resources/solr/conf/stopwords.txt index 3db0263cc..b1039761d 100644 --- a/solr/homeDirectoryTemplate/conf/stopwords.txt +++ b/home/src/main/resources/solr/conf/stopwords.txt @@ -1,171 +1,171 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#----------------------------------------------------------------------- -# a couple of test stopwords to test that the words are really being -# configured from this file: -stopworda -stopwordb - -#Standard english stop words taken from Lucene's StopAnalyzer -a -an -and -are -as -at -be -but -by -for -if -in -into -is -it -no -not -of -on -or -s -such -t -that -the -their -then -there -these -they -this -to -was -will -with - -# these stopwords are taken -# from http://www.onjava.com/pub/a/onjava/2003/01/15/lucene.html?page=2 - -about -after -all -also -an -and -another -any -are -as -at -be -because -been -before -being -between -both -but -by -came -can -come -could -did -do -does -each -else -for -from -get -got -has -had -he -have -her -here -him -himself -his -how -if -in -into -is -it -its -just -like -make -many -me -might -more -most -much -must -my -never -now -of -on -only -or -other -our -out -over -re -should -since -so -some -still -such -take -than -that -the -their -them -then -there -these -they -this -those -through -to -too -under -up -very -want -was -we -were -what -when -where -which -while -who -will -with -would -you -your +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#----------------------------------------------------------------------- +# a couple of test stopwords to test that the words are really being +# configured from this file: +stopworda +stopwordb + +#Standard english stop words taken from Lucene's StopAnalyzer +a +an +and +are +as +at +be +but +by +for +if +in +into +is +it +no +not +of +on +or +s +such +t +that +the +their +then +there +these +they +this +to +was +will +with + +# these stopwords are taken +# from http://www.onjava.com/pub/a/onjava/2003/01/15/lucene.html?page=2 + +about +after +all +also +an +and +another +any +are +as +at +be +because +been +before +being +between +both +but +by +came +can +come +could +did +do +does +each +else +for +from +get +got +has +had +he +have +her +here +him +himself +his +how +if +in +into +is +it +its +just +like +make +many +me +might +more +most +much +must +my +never +now +of +on +only +or +other +our +out +over +re +should +since +so +some +still +such +take +than +that +the +their +them +then +there +these +they +this +those +through +to +too +under +up +very +want +was +we +were +what +when +where +which +while +who +will +with +would +you +your diff --git a/solr/homeDirectoryTemplate/conf/syn.txt b/home/src/main/resources/solr/conf/syn.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/syn.txt rename to home/src/main/resources/solr/conf/syn.txt diff --git a/solr/homeDirectoryTemplate/conf/synonyms.txt b/home/src/main/resources/solr/conf/synonyms.txt similarity index 97% rename from solr/homeDirectoryTemplate/conf/synonyms.txt rename to home/src/main/resources/solr/conf/synonyms.txt index f00294b0c..7f7212830 100644 --- a/solr/homeDirectoryTemplate/conf/synonyms.txt +++ b/home/src/main/resources/solr/conf/synonyms.txt @@ -1,29 +1,29 @@ -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#----------------------------------------------------------------------- -#some test synonym mappings unlikely to appear in real input text -aaafoo => aaabar -bbbfoo => bbbfoo bbbbar -cccfoo => cccbar cccbaz -fooaaa,baraaa,bazaaa - -# Some synonym groups specific to this example -GB,gib,gigabyte,gigabytes -MB,mib,megabyte,megabytes -Television, Televisions, TV, TVs -#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming -#after us won't split it into two words. - -# Synonym mappings can be used for spelling correction too -pixima => pixma - +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#----------------------------------------------------------------------- +#some test synonym mappings unlikely to appear in real input text +aaafoo => aaabar +bbbfoo => bbbfoo bbbbar +cccfoo => cccbar cccbaz +fooaaa,baraaa,bazaaa + +# Some synonym groups specific to this example +GB,gib,gigabyte,gigabytes +MB,mib,megabyte,megabytes +Television, Televisions, TV, TVs +#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming +#after us won't split it into two words. + +# Synonym mappings can be used for spelling correction too +pixima => pixma + diff --git a/solr/homeDirectoryTemplate/conf/velocity/README.txt b/home/src/main/resources/solr/conf/velocity/README.txt similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/README.txt rename to home/src/main/resources/solr/conf/velocity/README.txt diff --git a/solr/homeDirectoryTemplate/conf/velocity/VM_global_library.vm b/home/src/main/resources/solr/conf/velocity/VM_global_library.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/VM_global_library.vm rename to home/src/main/resources/solr/conf/velocity/VM_global_library.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/browse.vm b/home/src/main/resources/solr/conf/velocity/browse.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/browse.vm rename to home/src/main/resources/solr/conf/velocity/browse.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/cluster.vm b/home/src/main/resources/solr/conf/velocity/cluster.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/cluster.vm rename to home/src/main/resources/solr/conf/velocity/cluster.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/cluster_results.vm b/home/src/main/resources/solr/conf/velocity/cluster_results.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/cluster_results.vm rename to home/src/main/resources/solr/conf/velocity/cluster_results.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/debug.vm b/home/src/main/resources/solr/conf/velocity/debug.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/debug.vm rename to home/src/main/resources/solr/conf/velocity/debug.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/did_you_mean.vm b/home/src/main/resources/solr/conf/velocity/did_you_mean.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/did_you_mean.vm rename to home/src/main/resources/solr/conf/velocity/did_you_mean.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/error.vm b/home/src/main/resources/solr/conf/velocity/error.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/error.vm rename to home/src/main/resources/solr/conf/velocity/error.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/facet_fields.vm b/home/src/main/resources/solr/conf/velocity/facet_fields.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/facet_fields.vm rename to home/src/main/resources/solr/conf/velocity/facet_fields.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/facet_pivot.vm b/home/src/main/resources/solr/conf/velocity/facet_pivot.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/facet_pivot.vm rename to home/src/main/resources/solr/conf/velocity/facet_pivot.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/facet_queries.vm b/home/src/main/resources/solr/conf/velocity/facet_queries.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/facet_queries.vm rename to home/src/main/resources/solr/conf/velocity/facet_queries.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/facet_ranges.vm b/home/src/main/resources/solr/conf/velocity/facet_ranges.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/facet_ranges.vm rename to home/src/main/resources/solr/conf/velocity/facet_ranges.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/facets.vm b/home/src/main/resources/solr/conf/velocity/facets.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/facets.vm rename to home/src/main/resources/solr/conf/velocity/facets.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/footer.vm b/home/src/main/resources/solr/conf/velocity/footer.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/footer.vm rename to home/src/main/resources/solr/conf/velocity/footer.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/head.vm b/home/src/main/resources/solr/conf/velocity/head.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/head.vm rename to home/src/main/resources/solr/conf/velocity/head.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/header.vm b/home/src/main/resources/solr/conf/velocity/header.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/header.vm rename to home/src/main/resources/solr/conf/velocity/header.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/hit.vm b/home/src/main/resources/solr/conf/velocity/hit.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/hit.vm rename to home/src/main/resources/solr/conf/velocity/hit.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/hit_grouped.vm b/home/src/main/resources/solr/conf/velocity/hit_grouped.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/hit_grouped.vm rename to home/src/main/resources/solr/conf/velocity/hit_grouped.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/hit_plain.vm b/home/src/main/resources/solr/conf/velocity/hit_plain.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/hit_plain.vm rename to home/src/main/resources/solr/conf/velocity/hit_plain.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/join_doc.vm b/home/src/main/resources/solr/conf/velocity/join_doc.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/join_doc.vm rename to home/src/main/resources/solr/conf/velocity/join_doc.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/jquery.autocomplete.css b/home/src/main/resources/solr/conf/velocity/jquery.autocomplete.css similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/jquery.autocomplete.css rename to home/src/main/resources/solr/conf/velocity/jquery.autocomplete.css diff --git a/solr/homeDirectoryTemplate/conf/velocity/jquery.autocomplete.js b/home/src/main/resources/solr/conf/velocity/jquery.autocomplete.js similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/jquery.autocomplete.js rename to home/src/main/resources/solr/conf/velocity/jquery.autocomplete.js diff --git a/solr/homeDirectoryTemplate/conf/velocity/layout.vm b/home/src/main/resources/solr/conf/velocity/layout.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/layout.vm rename to home/src/main/resources/solr/conf/velocity/layout.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/main.css b/home/src/main/resources/solr/conf/velocity/main.css similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/main.css rename to home/src/main/resources/solr/conf/velocity/main.css diff --git a/solr/homeDirectoryTemplate/conf/velocity/mime_type_lists.vm b/home/src/main/resources/solr/conf/velocity/mime_type_lists.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/mime_type_lists.vm rename to home/src/main/resources/solr/conf/velocity/mime_type_lists.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/pagination_bottom.vm b/home/src/main/resources/solr/conf/velocity/pagination_bottom.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/pagination_bottom.vm rename to home/src/main/resources/solr/conf/velocity/pagination_bottom.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/pagination_top.vm b/home/src/main/resources/solr/conf/velocity/pagination_top.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/pagination_top.vm rename to home/src/main/resources/solr/conf/velocity/pagination_top.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/product_doc.vm b/home/src/main/resources/solr/conf/velocity/product_doc.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/product_doc.vm rename to home/src/main/resources/solr/conf/velocity/product_doc.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/query.vm b/home/src/main/resources/solr/conf/velocity/query.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/query.vm rename to home/src/main/resources/solr/conf/velocity/query.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/query_form.vm b/home/src/main/resources/solr/conf/velocity/query_form.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/query_form.vm rename to home/src/main/resources/solr/conf/velocity/query_form.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/query_group.vm b/home/src/main/resources/solr/conf/velocity/query_group.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/query_group.vm rename to home/src/main/resources/solr/conf/velocity/query_group.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/query_spatial.vm b/home/src/main/resources/solr/conf/velocity/query_spatial.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/query_spatial.vm rename to home/src/main/resources/solr/conf/velocity/query_spatial.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/results_list.vm b/home/src/main/resources/solr/conf/velocity/results_list.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/results_list.vm rename to home/src/main/resources/solr/conf/velocity/results_list.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/richtext_doc.vm b/home/src/main/resources/solr/conf/velocity/richtext_doc.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/richtext_doc.vm rename to home/src/main/resources/solr/conf/velocity/richtext_doc.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/suggest.vm b/home/src/main/resources/solr/conf/velocity/suggest.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/suggest.vm rename to home/src/main/resources/solr/conf/velocity/suggest.vm diff --git a/solr/homeDirectoryTemplate/conf/velocity/tabs.vm b/home/src/main/resources/solr/conf/velocity/tabs.vm similarity index 100% rename from solr/homeDirectoryTemplate/conf/velocity/tabs.vm rename to home/src/main/resources/solr/conf/velocity/tabs.vm diff --git a/solr/homeDirectoryTemplate/conf/xslt/example.xsl b/home/src/main/resources/solr/conf/xslt/example.xsl similarity index 100% rename from solr/homeDirectoryTemplate/conf/xslt/example.xsl rename to home/src/main/resources/solr/conf/xslt/example.xsl diff --git a/solr/homeDirectoryTemplate/conf/xslt/example_atom.xsl b/home/src/main/resources/solr/conf/xslt/example_atom.xsl similarity index 100% rename from solr/homeDirectoryTemplate/conf/xslt/example_atom.xsl rename to home/src/main/resources/solr/conf/xslt/example_atom.xsl diff --git a/solr/homeDirectoryTemplate/conf/xslt/example_rss.xsl b/home/src/main/resources/solr/conf/xslt/example_rss.xsl similarity index 100% rename from solr/homeDirectoryTemplate/conf/xslt/example_rss.xsl rename to home/src/main/resources/solr/conf/xslt/example_rss.xsl diff --git a/solr/homeDirectoryTemplate/conf/xslt/luke.xsl b/home/src/main/resources/solr/conf/xslt/luke.xsl similarity index 100% rename from solr/homeDirectoryTemplate/conf/xslt/luke.xsl rename to home/src/main/resources/solr/conf/xslt/luke.xsl diff --git a/solr/homeDirectoryTemplate/conf/xslt/updateXml.xsl b/home/src/main/resources/solr/conf/xslt/updateXml.xsl similarity index 100% rename from solr/homeDirectoryTemplate/conf/xslt/updateXml.xsl rename to home/src/main/resources/solr/conf/xslt/updateXml.xsl diff --git a/solr/homeDirectoryTemplate/solr.xml b/home/src/main/resources/solr/solr.xml similarity index 100% rename from solr/homeDirectoryTemplate/solr.xml rename to home/src/main/resources/solr/solr.xml diff --git a/solr/homeDirectoryTemplate/solr_newversion.xml b/home/src/main/resources/solr/solr_newversion.xml similarity index 100% rename from solr/homeDirectoryTemplate/solr_newversion.xml rename to home/src/main/resources/solr/solr_newversion.xml diff --git a/doc/css/doc.css b/legacy/doc/css/doc.css similarity index 100% rename from doc/css/doc.css rename to legacy/doc/css/doc.css diff --git a/doc/images/VITRO-logo.png b/legacy/doc/images/VITRO-logo.png similarity index 100% rename from doc/images/VITRO-logo.png rename to legacy/doc/images/VITRO-logo.png diff --git a/doc/images/header-background.gif b/legacy/doc/images/header-background.gif similarity index 100% rename from doc/images/header-background.gif rename to legacy/doc/images/header-background.gif diff --git a/doc/install.html b/legacy/doc/install.html similarity index 100% rename from doc/install.html rename to legacy/doc/install.html diff --git a/doc/license.txt b/legacy/doc/license.txt similarity index 100% rename from doc/license.txt rename to legacy/doc/license.txt diff --git a/opensocial/build_orng.xml b/legacy/opensocial/build_orng.xml similarity index 100% rename from opensocial/build_orng.xml rename to legacy/opensocial/build_orng.xml diff --git a/opensocial/sample-gadgets/Links.xml b/legacy/opensocial/sample-gadgets/Links.xml similarity index 100% rename from opensocial/sample-gadgets/Links.xml rename to legacy/opensocial/sample-gadgets/Links.xml diff --git a/opensocial/sample-gadgets/Mentor.xml b/legacy/opensocial/sample-gadgets/Mentor.xml similarity index 100% rename from opensocial/sample-gadgets/Mentor.xml rename to legacy/opensocial/sample-gadgets/Mentor.xml diff --git a/opensocial/sample-gadgets/ProfileListTool.xml b/legacy/opensocial/sample-gadgets/ProfileListTool.xml similarity index 100% rename from opensocial/sample-gadgets/ProfileListTool.xml rename to legacy/opensocial/sample-gadgets/ProfileListTool.xml diff --git a/opensocial/sample-gadgets/RDFTest.xml b/legacy/opensocial/sample-gadgets/RDFTest.xml similarity index 100% rename from opensocial/sample-gadgets/RDFTest.xml rename to legacy/opensocial/sample-gadgets/RDFTest.xml diff --git a/opensocial/sample-gadgets/SearchExample.xml b/legacy/opensocial/sample-gadgets/SearchExample.xml similarity index 100% rename from opensocial/sample-gadgets/SearchExample.xml rename to legacy/opensocial/sample-gadgets/SearchExample.xml diff --git a/opensocial/sample-gadgets/SlideShare.xml b/legacy/opensocial/sample-gadgets/SlideShare.xml similarity index 100% rename from opensocial/sample-gadgets/SlideShare.xml rename to legacy/opensocial/sample-gadgets/SlideShare.xml diff --git a/opensocial/sample-gadgets/Twitter.xml b/legacy/opensocial/sample-gadgets/Twitter.xml similarity index 100% rename from opensocial/sample-gadgets/Twitter.xml rename to legacy/opensocial/sample-gadgets/Twitter.xml diff --git a/opensocial/sample-gadgets/WEB-INF/web.xml b/legacy/opensocial/sample-gadgets/WEB-INF/web.xml similarity index 100% rename from opensocial/sample-gadgets/WEB-INF/web.xml rename to legacy/opensocial/sample-gadgets/WEB-INF/web.xml diff --git a/opensocial/shindig_example_gadgets.sql b/legacy/opensocial/shindig_example_gadgets.sql similarity index 100% rename from opensocial/shindig_example_gadgets.sql rename to legacy/opensocial/shindig_example_gadgets.sql diff --git a/opensocial/shindig_orng_tables.sql b/legacy/opensocial/shindig_orng_tables.sql similarity index 96% rename from opensocial/shindig_orng_tables.sql rename to legacy/opensocial/shindig_orng_tables.sql index d73764a8a..344b63d86 100644 --- a/opensocial/shindig_orng_tables.sql +++ b/legacy/opensocial/shindig_orng_tables.sql @@ -1,153 +1,153 @@ - --- --- Table structure for table `orng_activity` --- - -DROP TABLE IF EXISTS `orng_activity`; -CREATE TABLE `orng_activity` ( - `activityId` int(11) NOT NULL AUTO_INCREMENT, - `userId` varchar(255) default NULL, - `appId` int(11) default NULL, - `createdDT` datetime default NULL, - `activity` text, - PRIMARY KEY (`activityId`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Table structure for table `orng_appdata` --- - -DROP TABLE IF EXISTS `orng_appdata`; -CREATE TABLE `orng_appdata` ( - `userId` varchar(255) NOT NULL, - `appId` int(11) NOT NULL, - `keyname` varchar(255) NOT NULL, - `value` varchar(4000) default NULL, - `createdDT` datetime default NULL, - `updatedDT` datetime default NULL, - KEY `userId` (`userId`,`appId`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Table structure for table `orng_apps` --- - -DROP TABLE IF EXISTS `orng_apps`; -CREATE TABLE `orng_apps` ( - `appid` int(11) NOT NULL, - `name` varchar(255) NOT NULL, - `url` varchar(255) NOT NULL, - `PersonFilterID` int(11) default NULL, - `enabled` tinyint(1) NOT NULL default '1', - `channels` varchar(255) default NULL, - PRIMARY KEY (`appid`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Table structure for table `orng_app_registry` --- - -DROP TABLE IF EXISTS `orng_app_registry`; -CREATE TABLE `orng_app_registry` ( - `appid` int(11) NOT NULL, - `personId` varchar(255) NOT NULL, - `createdDT` datetime NOT NULL, - PRIMARY KEY (`appid`, `personId` ) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Table structure for table `orng_app_views` --- - -DROP TABLE IF EXISTS `orng_app_views`; -CREATE TABLE `orng_app_views` ( - `appid` int(11) NOT NULL, - `viewer_req` char(1) default NULL, - `owner_req` char(1) default NULL, - `page` varchar(50) default NULL, - `view` varchar(50) default NULL, - `chromeId` varchar(50) default NULL, - `display_order` int(11) default NULL, - `opt_params` varchar(255) default NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Table structure for table `orng_messages` --- - -DROP TABLE IF EXISTS `orng_messages`; -CREATE TABLE `orng_messages` ( - `msgId` varchar(255) NOT NULL, - `senderId` varchar(255) default NULL, - `recipientId` varchar(255) default NULL, - `coll` varchar(255) default NULL, - `title` varchar(255) default NULL, - `body` varchar(4000) default NULL, - `createdDT` datetime default NULL, - PRIMARY KEY (`msgId`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - - -DROP PROCEDURE IF EXISTS `orng_registerAppPerson`; -DROP PROCEDURE IF EXISTS `orng_upsertAppData`; -DROP PROCEDURE IF EXISTS `orng_deleteAppData`; - -DELIMITER // -CREATE PROCEDURE orng_registerAppPerson (uid varchar(255), aid INT, v BOOL) -BEGIN - IF (v) - THEN - INSERT INTO orng_app_registry (appId, personId, createdDT) values (aid, uid, now()); - ELSE - DELETE FROM orng_app_registry where appId = aid AND personId = uid; - END IF; -END // -DELIMITER ; - -DELIMITER // -CREATE PROCEDURE orng_upsertAppData(uid varchar(255), aid INT, kn varchar(255),v varchar(4000)) -BEGIN - DECLARE cnt int; - SELECT count(*) FROM orng_appdata WHERE userId = uid AND appId = aid and keyname = kn INTO cnt; - IF (cnt > 0) - THEN - UPDATE orng_appdata set `value` = v, updatedDT = NOW() WHERE userId = uid AND appId = aid and keyname = kn; - ELSE - INSERT INTO orng_appdata (userId, appId, keyname, `value`) values (uid, aid, kn, v); - END IF; - -- if keyname is VISIBLE, do more - IF (kn = 'VISIBLE' AND v = 'Y') - THEN - CALL orng_registerAppPerson(uid, aid, 1); - ELSEIF (kn = 'VISIBLE' ) - THEN - CALL orng_registerAppPerson(uid, aid, 0); - END IF; -END // -DELIMITER ; - -DELIMITER // -CREATE PROCEDURE orng_deleteAppData(uid varchar(255), aid INT, kn varchar(255)) -BEGIN - DELETE FROM orng_appdata WHERE userId = uid AND appId = aid and keyname = kn; - -- if keyname is VISIBLE, do more - IF (kn = 'VISIBLE' ) - THEN - CALL orng_registerAppPerson(uid, aid, 0); - END IF; -END // -DELIMITER ; - - + +-- +-- Table structure for table `orng_activity` +-- + +DROP TABLE IF EXISTS `orng_activity`; +CREATE TABLE `orng_activity` ( + `activityId` int(11) NOT NULL AUTO_INCREMENT, + `userId` varchar(255) default NULL, + `appId` int(11) default NULL, + `createdDT` datetime default NULL, + `activity` text, + PRIMARY KEY (`activityId`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `orng_appdata` +-- + +DROP TABLE IF EXISTS `orng_appdata`; +CREATE TABLE `orng_appdata` ( + `userId` varchar(255) NOT NULL, + `appId` int(11) NOT NULL, + `keyname` varchar(255) NOT NULL, + `value` varchar(4000) default NULL, + `createdDT` datetime default NULL, + `updatedDT` datetime default NULL, + KEY `userId` (`userId`,`appId`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `orng_apps` +-- + +DROP TABLE IF EXISTS `orng_apps`; +CREATE TABLE `orng_apps` ( + `appid` int(11) NOT NULL, + `name` varchar(255) NOT NULL, + `url` varchar(255) NOT NULL, + `PersonFilterID` int(11) default NULL, + `enabled` tinyint(1) NOT NULL default '1', + `channels` varchar(255) default NULL, + PRIMARY KEY (`appid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `orng_app_registry` +-- + +DROP TABLE IF EXISTS `orng_app_registry`; +CREATE TABLE `orng_app_registry` ( + `appid` int(11) NOT NULL, + `personId` varchar(255) NOT NULL, + `createdDT` datetime NOT NULL, + PRIMARY KEY (`appid`, `personId` ) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `orng_app_views` +-- + +DROP TABLE IF EXISTS `orng_app_views`; +CREATE TABLE `orng_app_views` ( + `appid` int(11) NOT NULL, + `viewer_req` char(1) default NULL, + `owner_req` char(1) default NULL, + `page` varchar(50) default NULL, + `view` varchar(50) default NULL, + `chromeId` varchar(50) default NULL, + `display_order` int(11) default NULL, + `opt_params` varchar(255) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `orng_messages` +-- + +DROP TABLE IF EXISTS `orng_messages`; +CREATE TABLE `orng_messages` ( + `msgId` varchar(255) NOT NULL, + `senderId` varchar(255) default NULL, + `recipientId` varchar(255) default NULL, + `coll` varchar(255) default NULL, + `title` varchar(255) default NULL, + `body` varchar(4000) default NULL, + `createdDT` datetime default NULL, + PRIMARY KEY (`msgId`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + + +DROP PROCEDURE IF EXISTS `orng_registerAppPerson`; +DROP PROCEDURE IF EXISTS `orng_upsertAppData`; +DROP PROCEDURE IF EXISTS `orng_deleteAppData`; + +DELIMITER // +CREATE PROCEDURE orng_registerAppPerson (uid varchar(255), aid INT, v BOOL) +BEGIN + IF (v) + THEN + INSERT INTO orng_app_registry (appId, personId, createdDT) values (aid, uid, now()); + ELSE + DELETE FROM orng_app_registry where appId = aid AND personId = uid; + END IF; +END // +DELIMITER ; + +DELIMITER // +CREATE PROCEDURE orng_upsertAppData(uid varchar(255), aid INT, kn varchar(255),v varchar(4000)) +BEGIN + DECLARE cnt int; + SELECT count(*) FROM orng_appdata WHERE userId = uid AND appId = aid and keyname = kn INTO cnt; + IF (cnt > 0) + THEN + UPDATE orng_appdata set `value` = v, updatedDT = NOW() WHERE userId = uid AND appId = aid and keyname = kn; + ELSE + INSERT INTO orng_appdata (userId, appId, keyname, `value`) values (uid, aid, kn, v); + END IF; + -- if keyname is VISIBLE, do more + IF (kn = 'VISIBLE' AND v = 'Y') + THEN + CALL orng_registerAppPerson(uid, aid, 1); + ELSEIF (kn = 'VISIBLE' ) + THEN + CALL orng_registerAppPerson(uid, aid, 0); + END IF; +END // +DELIMITER ; + +DELIMITER // +CREATE PROCEDURE orng_deleteAppData(uid varchar(255), aid INT, kn varchar(255)) +BEGIN + DELETE FROM orng_appdata WHERE userId = uid AND appId = aid and keyname = kn; + -- if keyname is VISIBLE, do more + IF (kn = 'VISIBLE' ) + THEN + CALL orng_registerAppPerson(uid, aid, 0); + END IF; +END // +DELIMITER ; + + diff --git a/opensocial/shindigorng.properties.template b/legacy/opensocial/shindigorng.properties.template similarity index 100% rename from opensocial/shindigorng.properties.template rename to legacy/opensocial/shindigorng.properties.template diff --git a/opensocial/shindigorng.war b/legacy/opensocial/shindigorng.war similarity index 100% rename from opensocial/shindigorng.war rename to legacy/opensocial/shindigorng.war diff --git a/solr/README.txt b/legacy/solr/README.txt similarity index 100% rename from solr/README.txt rename to legacy/solr/README.txt diff --git a/utilities/buildutils/jarUsageScanner.rb b/legacy/utilities/buildutils/jarUsageScanner.rb similarity index 100% rename from utilities/buildutils/jarUsageScanner.rb rename to legacy/utilities/buildutils/jarUsageScanner.rb diff --git a/utilities/buildutils/lib/ant.jar b/legacy/utilities/buildutils/lib/ant.jar similarity index 100% rename from utilities/buildutils/lib/ant.jar rename to legacy/utilities/buildutils/lib/ant.jar diff --git a/utilities/buildutils/lib/jarjar-1.1.jar b/legacy/utilities/buildutils/lib/jarjar-1.1.jar similarity index 100% rename from utilities/buildutils/lib/jarjar-1.1.jar rename to legacy/utilities/buildutils/lib/jarjar-1.1.jar diff --git a/utilities/buildutils/lib/junit-4.8.1.jar b/legacy/utilities/buildutils/lib/junit-4.8.1.jar similarity index 100% rename from utilities/buildutils/lib/junit-4.8.1.jar rename to legacy/utilities/buildutils/lib/junit-4.8.1.jar diff --git a/utilities/buildutils/src/com/tonicsystems/jarjar/KlugedDepFind.java b/legacy/utilities/buildutils/src/com/tonicsystems/jarjar/KlugedDepFind.java similarity index 100% rename from utilities/buildutils/src/com/tonicsystems/jarjar/KlugedDepFind.java rename to legacy/utilities/buildutils/src/com/tonicsystems/jarjar/KlugedDepFind.java diff --git a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/containerneutral/CheckContainerNeutrality.java b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/containerneutral/CheckContainerNeutrality.java similarity index 100% rename from utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/containerneutral/CheckContainerNeutrality.java rename to legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/containerneutral/CheckContainerNeutrality.java diff --git a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/jarlist/JarLister.java b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/jarlist/JarLister.java similarity index 100% rename from utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/jarlist/JarLister.java rename to legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/jarlist/JarLister.java diff --git a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/ProcessRunner.java b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/ProcessRunner.java similarity index 95% rename from utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/ProcessRunner.java rename to legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/ProcessRunner.java index 1e1ffb88b..994b98eb1 100644 --- a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/ProcessRunner.java +++ b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/ProcessRunner.java @@ -1,161 +1,161 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.utilities.revisioninfo; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringWriter; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * A harness that runs a system-level command. - * - * No provision is made for standard input. - * - * The standard output and standard error streams are asynchronously read, so - * the sub-process will not block on full buffers. Warning: if either of these - * streams contain more data than can fit into a String, then we will have a - * problem. - */ -public class ProcessRunner { - private int returnCode; - private String stdOut = ""; - private String stdErr = ""; - private File workingDirectory; - - private final Map environmentAdditions = new HashMap(); - - /** Set the directory that the command will run in. */ - public void setWorkingDirectory(File workingDirectory) { - this.workingDirectory = workingDirectory; - } - - /** Add (or replace) any environment variable. */ - public void setEnvironmentVariable(String key, String value) { - this.environmentAdditions.put(key, value); - } - - /** - * Run the command. - * - * @param command - * a list containing the operating system program and its - * arguments. See - * {@link java.lang.ProcessBuilder#ProcessBuilder(List)}. - */ - public void run(List command) throws ProcessException { - try { - ProcessBuilder builder = new ProcessBuilder(command); - - if (workingDirectory != null) { - builder.directory(workingDirectory); - } - - if (!environmentAdditions.isEmpty()) { - builder.environment().putAll(this.environmentAdditions); - } - - Process process = builder.start(); - StreamEater outputEater = new StreamEater(process.getInputStream()); - StreamEater errorEater = new StreamEater(process.getErrorStream()); - - this.returnCode = process.waitFor(); - - outputEater.join(); - this.stdOut = outputEater.getContents(); - - errorEater.join(); - this.stdErr = errorEater.getContents(); - } catch (IOException e) { - throw new ProcessException("Exception when handling sub-process:", - e); - } catch (InterruptedException e) { - throw new ProcessException("Exception when handling sub-process:", - e); - } - } - - public int getReturnCode() { - return returnCode; - } - - public String getStdErr() { - return stdErr; - } - - public String getStdOut() { - return stdOut; - } - - /** - * A thread that reads an InputStream until it reaches end of file, then - * closes the stream. - */ - private static class StreamEater extends Thread { - private final InputStream stream; - - private final StringWriter contents = new StringWriter(); - - private final byte[] buffer = new byte[4096]; - - public StreamEater(InputStream stream) { - this.stream = stream; - this.start(); - } - - @Override - public void run() { - try { - int howMany = 0; - while (true) { - howMany = stream.read(buffer); - if (howMany > 0) { - contents.write(new String(buffer, 0, howMany)); - } else if (howMany == 0) { - Thread.yield(); - } else { - break; - } - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - stream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - public String getContents() { - return contents.toString(); - } - } - - /** - * Indicates a problem when dealing with a spawned sub-process. - */ - public static class ProcessException extends Exception { - - public ProcessException() { - } - - public ProcessException(String message) { - super(message); - } - - public ProcessException(Throwable cause) { - super(cause); - } - - public ProcessException(String message, Throwable cause) { - super(message, cause); - } - - } - -} +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.utilities.revisioninfo; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A harness that runs a system-level command. + * + * No provision is made for standard input. + * + * The standard output and standard error streams are asynchronously read, so + * the sub-process will not block on full buffers. Warning: if either of these + * streams contain more data than can fit into a String, then we will have a + * problem. + */ +public class ProcessRunner { + private int returnCode; + private String stdOut = ""; + private String stdErr = ""; + private File workingDirectory; + + private final Map environmentAdditions = new HashMap(); + + /** Set the directory that the command will run in. */ + public void setWorkingDirectory(File workingDirectory) { + this.workingDirectory = workingDirectory; + } + + /** Add (or replace) any environment variable. */ + public void setEnvironmentVariable(String key, String value) { + this.environmentAdditions.put(key, value); + } + + /** + * Run the command. + * + * @param command + * a list containing the operating system program and its + * arguments. See + * {@link java.lang.ProcessBuilder#ProcessBuilder(List)}. + */ + public void run(List command) throws ProcessException { + try { + ProcessBuilder builder = new ProcessBuilder(command); + + if (workingDirectory != null) { + builder.directory(workingDirectory); + } + + if (!environmentAdditions.isEmpty()) { + builder.environment().putAll(this.environmentAdditions); + } + + Process process = builder.start(); + StreamEater outputEater = new StreamEater(process.getInputStream()); + StreamEater errorEater = new StreamEater(process.getErrorStream()); + + this.returnCode = process.waitFor(); + + outputEater.join(); + this.stdOut = outputEater.getContents(); + + errorEater.join(); + this.stdErr = errorEater.getContents(); + } catch (IOException e) { + throw new ProcessException("Exception when handling sub-process:", + e); + } catch (InterruptedException e) { + throw new ProcessException("Exception when handling sub-process:", + e); + } + } + + public int getReturnCode() { + return returnCode; + } + + public String getStdErr() { + return stdErr; + } + + public String getStdOut() { + return stdOut; + } + + /** + * A thread that reads an InputStream until it reaches end of file, then + * closes the stream. + */ + private static class StreamEater extends Thread { + private final InputStream stream; + + private final StringWriter contents = new StringWriter(); + + private final byte[] buffer = new byte[4096]; + + public StreamEater(InputStream stream) { + this.stream = stream; + this.start(); + } + + @Override + public void run() { + try { + int howMany = 0; + while (true) { + howMany = stream.read(buffer); + if (howMany > 0) { + contents.write(new String(buffer, 0, howMany)); + } else if (howMany == 0) { + Thread.yield(); + } else { + break; + } + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + stream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public String getContents() { + return contents.toString(); + } + } + + /** + * Indicates a problem when dealing with a spawned sub-process. + */ + public static class ProcessException extends Exception { + + public ProcessException() { + } + + public ProcessException(String message) { + super(message); + } + + public ProcessException(Throwable cause) { + super(cause); + } + + public ProcessException(String message, Throwable cause) { + super(message, cause); + } + + } + +} diff --git a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/RevisionInfoBuilder.java b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/RevisionInfoBuilder.java similarity index 100% rename from utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/RevisionInfoBuilder.java rename to legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/revisioninfo/RevisionInfoBuilder.java diff --git a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunListener.java b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunListener.java similarity index 100% rename from utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunListener.java rename to legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunListener.java diff --git a/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunner.java b/legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunner.java similarity index 100% rename from utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunner.java rename to legacy/utilities/buildutils/src/edu/cornell/mannlib/vitro/utilities/testing/VitroTestRunner.java diff --git a/utilities/licenser/licenser.rb b/legacy/utilities/licenser/licenser.rb similarity index 100% rename from utilities/licenser/licenser.rb rename to legacy/utilities/licenser/licenser.rb diff --git a/utilities/licenser/licenser_stats.rb b/legacy/utilities/licenser/licenser_stats.rb similarity index 100% rename from utilities/licenser/licenser_stats.rb rename to legacy/utilities/licenser/licenser_stats.rb diff --git a/utilities/licenser/property_file_reader.rb b/legacy/utilities/licenser/property_file_reader.rb similarity index 96% rename from utilities/licenser/property_file_reader.rb rename to legacy/utilities/licenser/property_file_reader.rb index 8b3c29b5e..3aad45124 100644 --- a/utilities/licenser/property_file_reader.rb +++ b/legacy/utilities/licenser/property_file_reader.rb @@ -1,39 +1,39 @@ -=begin --------------------------------------------------------------------------------- - -A utility class that reads a properties file and returns a hash containing the -properties. - --------------------------------------------------------------------------------- -=end - -class PropertyFileReader - # Read a properties file and return a hash. - # - # Parameters: the path to the properties file - # - # The hash includes the special property "properties_file_path", which holds - # the path to the properties file. - # - def self.read(file_path) - properties = {} - properties["properties_file_path"] = File.expand_path(file_path) - - File.open(file_path) do |file| - file.each_line do |line| - line.strip! - if line.length == 0 || line[0] == ?# || line[0] == ?! - # ignore blank lines, and lines starting with '#' or '!'. - elsif line =~ /(.*?)\s*[=:]\s*(.*)/ - # key and value are separated by '=' or ':' and optional whitespace. - properties[$1.strip] = $2 - else - # No '=' or ':' means that the value is empty. - properties[line] = '' - end - end - end - - return properties - end -end +=begin +-------------------------------------------------------------------------------- + +A utility class that reads a properties file and returns a hash containing the +properties. + +-------------------------------------------------------------------------------- +=end + +class PropertyFileReader + # Read a properties file and return a hash. + # + # Parameters: the path to the properties file + # + # The hash includes the special property "properties_file_path", which holds + # the path to the properties file. + # + def self.read(file_path) + properties = {} + properties["properties_file_path"] = File.expand_path(file_path) + + File.open(file_path) do |file| + file.each_line do |line| + line.strip! + if line.length == 0 || line[0] == ?# || line[0] == ?! + # ignore blank lines, and lines starting with '#' or '!'. + elsif line =~ /(.*?)\s*[=:]\s*(.*)/ + # key and value are separated by '=' or ':' and optional whitespace. + properties[$1.strip] = $2 + else + # No '=' or ':' means that the value is empty. + properties[line] = '' + end + end + end + + return properties + end +end diff --git a/utilities/rdbmigration/build.xml b/legacy/utilities/rdbmigration/build.xml similarity index 100% rename from utilities/rdbmigration/build.xml rename to legacy/utilities/rdbmigration/build.xml diff --git a/utilities/rdbmigration/lib/arq-2.8.5.jar b/legacy/utilities/rdbmigration/lib/arq-2.8.5.jar similarity index 100% rename from utilities/rdbmigration/lib/arq-2.8.5.jar rename to legacy/utilities/rdbmigration/lib/arq-2.8.5.jar diff --git a/utilities/rdbmigration/lib/commons-lang-2.6.jar b/legacy/utilities/rdbmigration/lib/commons-lang-2.6.jar similarity index 100% rename from utilities/rdbmigration/lib/commons-lang-2.6.jar rename to legacy/utilities/rdbmigration/lib/commons-lang-2.6.jar diff --git a/utilities/rdbmigration/lib/icu4j-3.4.4.jar b/legacy/utilities/rdbmigration/lib/icu4j-3.4.4.jar similarity index 100% rename from utilities/rdbmigration/lib/icu4j-3.4.4.jar rename to legacy/utilities/rdbmigration/lib/icu4j-3.4.4.jar diff --git a/utilities/rdbmigration/lib/iri-0.8.jar b/legacy/utilities/rdbmigration/lib/iri-0.8.jar similarity index 100% rename from utilities/rdbmigration/lib/iri-0.8.jar rename to legacy/utilities/rdbmigration/lib/iri-0.8.jar diff --git a/utilities/rdbmigration/lib/jena-2.6.4.jar b/legacy/utilities/rdbmigration/lib/jena-2.6.4.jar similarity index 100% rename from utilities/rdbmigration/lib/jena-2.6.4.jar rename to legacy/utilities/rdbmigration/lib/jena-2.6.4.jar diff --git a/utilities/rdbmigration/lib/log4j-1.2.14.jar b/legacy/utilities/rdbmigration/lib/log4j-1.2.14.jar similarity index 100% rename from utilities/rdbmigration/lib/log4j-1.2.14.jar rename to legacy/utilities/rdbmigration/lib/log4j-1.2.14.jar diff --git a/utilities/rdbmigration/lib/mysql-connector-java-5.1.16-bin.jar b/legacy/utilities/rdbmigration/lib/mysql-connector-java-5.1.16-bin.jar similarity index 100% rename from utilities/rdbmigration/lib/mysql-connector-java-5.1.16-bin.jar rename to legacy/utilities/rdbmigration/lib/mysql-connector-java-5.1.16-bin.jar diff --git a/utilities/rdbmigration/lib/slf4j-api-1.5.6.jar b/legacy/utilities/rdbmigration/lib/slf4j-api-1.5.6.jar similarity index 100% rename from utilities/rdbmigration/lib/slf4j-api-1.5.6.jar rename to legacy/utilities/rdbmigration/lib/slf4j-api-1.5.6.jar diff --git a/utilities/rdbmigration/lib/slf4j-log4j12-1.5.6.jar b/legacy/utilities/rdbmigration/lib/slf4j-log4j12-1.5.6.jar similarity index 100% rename from utilities/rdbmigration/lib/slf4j-log4j12-1.5.6.jar rename to legacy/utilities/rdbmigration/lib/slf4j-log4j12-1.5.6.jar diff --git a/utilities/rdbmigration/lib/tdb-0.8.7.jar b/legacy/utilities/rdbmigration/lib/tdb-0.8.7.jar similarity index 100% rename from utilities/rdbmigration/lib/tdb-0.8.7.jar rename to legacy/utilities/rdbmigration/lib/tdb-0.8.7.jar diff --git a/utilities/rdbmigration/lib/xercesImpl.jar b/legacy/utilities/rdbmigration/lib/xercesImpl.jar similarity index 100% rename from utilities/rdbmigration/lib/xercesImpl.jar rename to legacy/utilities/rdbmigration/lib/xercesImpl.jar diff --git a/utilities/rdbmigration/src/edu/cornell/mannlib/vivo/utilities/rdbmigration/RdbMigrator.java b/legacy/utilities/rdbmigration/src/edu/cornell/mannlib/vivo/utilities/rdbmigration/RdbMigrator.java similarity index 100% rename from utilities/rdbmigration/src/edu/cornell/mannlib/vivo/utilities/rdbmigration/RdbMigrator.java rename to legacy/utilities/rdbmigration/src/edu/cornell/mannlib/vivo/utilities/rdbmigration/RdbMigrator.java diff --git a/utilities/sdb_to_tdb/README.txt b/legacy/utilities/sdb_to_tdb/README.txt similarity index 100% rename from utilities/sdb_to_tdb/README.txt rename to legacy/utilities/sdb_to_tdb/README.txt diff --git a/utilities/sdb_to_tdb/build.xml b/legacy/utilities/sdb_to_tdb/build.xml similarity index 100% rename from utilities/sdb_to_tdb/build.xml rename to legacy/utilities/sdb_to_tdb/build.xml diff --git a/utilities/sdb_to_tdb/lib/jena-arq-2.10.1.jar b/legacy/utilities/sdb_to_tdb/lib/jena-arq-2.10.1.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/jena-arq-2.10.1.jar rename to legacy/utilities/sdb_to_tdb/lib/jena-arq-2.10.1.jar diff --git a/utilities/sdb_to_tdb/lib/jena-core-2.10.1.jar b/legacy/utilities/sdb_to_tdb/lib/jena-core-2.10.1.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/jena-core-2.10.1.jar rename to legacy/utilities/sdb_to_tdb/lib/jena-core-2.10.1.jar diff --git a/utilities/sdb_to_tdb/lib/jena-iri-0.9.6.jar b/legacy/utilities/sdb_to_tdb/lib/jena-iri-0.9.6.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/jena-iri-0.9.6.jar rename to legacy/utilities/sdb_to_tdb/lib/jena-iri-0.9.6.jar diff --git a/utilities/sdb_to_tdb/lib/jena-sdb-1.3.6.jar b/legacy/utilities/sdb_to_tdb/lib/jena-sdb-1.3.6.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/jena-sdb-1.3.6.jar rename to legacy/utilities/sdb_to_tdb/lib/jena-sdb-1.3.6.jar diff --git a/utilities/sdb_to_tdb/lib/jena-tdb-0.10.0.jar b/legacy/utilities/sdb_to_tdb/lib/jena-tdb-0.10.0.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/jena-tdb-0.10.0.jar rename to legacy/utilities/sdb_to_tdb/lib/jena-tdb-0.10.0.jar diff --git a/solr/additions-to-solr-war/WEB-INF/lib/log4j-1.2.16.jar b/legacy/utilities/sdb_to_tdb/lib/log4j-1.2.16.jar similarity index 100% rename from solr/additions-to-solr-war/WEB-INF/lib/log4j-1.2.16.jar rename to legacy/utilities/sdb_to_tdb/lib/log4j-1.2.16.jar diff --git a/utilities/sdb_to_tdb/lib/mysql-connector-java-5.1.30-bin.jar b/legacy/utilities/sdb_to_tdb/lib/mysql-connector-java-5.1.30-bin.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/mysql-connector-java-5.1.30-bin.jar rename to legacy/utilities/sdb_to_tdb/lib/mysql-connector-java-5.1.30-bin.jar diff --git a/utilities/sdb_to_tdb/lib/slf4j-api-1.6.6.jar b/legacy/utilities/sdb_to_tdb/lib/slf4j-api-1.6.6.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/slf4j-api-1.6.6.jar rename to legacy/utilities/sdb_to_tdb/lib/slf4j-api-1.6.6.jar diff --git a/utilities/sdb_to_tdb/lib/slf4j-log4j12-1.6.6.jar b/legacy/utilities/sdb_to_tdb/lib/slf4j-log4j12-1.6.6.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/slf4j-log4j12-1.6.6.jar rename to legacy/utilities/sdb_to_tdb/lib/slf4j-log4j12-1.6.6.jar diff --git a/utilities/sdb_to_tdb/lib/xercesImpl-2.11.0.jar b/legacy/utilities/sdb_to_tdb/lib/xercesImpl-2.11.0.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/xercesImpl-2.11.0.jar rename to legacy/utilities/sdb_to_tdb/lib/xercesImpl-2.11.0.jar diff --git a/utilities/sdb_to_tdb/lib/xml-apis-1.4.01.jar b/legacy/utilities/sdb_to_tdb/lib/xml-apis-1.4.01.jar similarity index 100% rename from utilities/sdb_to_tdb/lib/xml-apis-1.4.01.jar rename to legacy/utilities/sdb_to_tdb/lib/xml-apis-1.4.01.jar diff --git a/utilities/sdb_to_tdb/src/edu/cornell/mannlib/vitro/utilities/sdb2tdb/Sdb2Tdb.java b/legacy/utilities/sdb_to_tdb/src/edu/cornell/mannlib/vitro/utilities/sdb2tdb/Sdb2Tdb.java similarity index 100% rename from utilities/sdb_to_tdb/src/edu/cornell/mannlib/vitro/utilities/sdb2tdb/Sdb2Tdb.java rename to legacy/utilities/sdb_to_tdb/src/edu/cornell/mannlib/vitro/utilities/sdb2tdb/Sdb2Tdb.java diff --git a/utilities/solrtester/log4j.properties b/legacy/utilities/solrtester/log4j.properties similarity index 100% rename from utilities/solrtester/log4j.properties rename to legacy/utilities/solrtester/log4j.properties diff --git a/utilities/solrtester/solrtester-build.xml b/legacy/utilities/solrtester/solrtester-build.xml similarity index 100% rename from utilities/solrtester/solrtester-build.xml rename to legacy/utilities/solrtester/solrtester-build.xml diff --git a/utilities/solrtester/src/edu/cornell/mannlib/vitro/utilities/solrtest/SolrConfigTester.java b/legacy/utilities/solrtester/src/edu/cornell/mannlib/vitro/utilities/solrtest/SolrConfigTester.java similarity index 100% rename from utilities/solrtester/src/edu/cornell/mannlib/vitro/utilities/solrtest/SolrConfigTester.java rename to legacy/utilities/solrtester/src/edu/cornell/mannlib/vitro/utilities/solrtest/SolrConfigTester.java diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/CommandRunnerException.java b/legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/CommandRunnerException.java similarity index 100% rename from utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/CommandRunnerException.java rename to legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/CommandRunnerException.java diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/FatalException.java b/legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/FatalException.java similarity index 100% rename from utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/FatalException.java rename to legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/FatalException.java diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/SeleniumRunnerParameters.java b/legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/SeleniumRunnerParameters.java similarity index 100% rename from utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/SeleniumRunnerParameters.java rename to legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/SeleniumRunnerParameters.java diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/datamodel/DataModel.java b/legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/datamodel/DataModel.java similarity index 100% rename from utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/datamodel/DataModel.java rename to legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/datamodel/DataModel.java diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java b/legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java similarity index 100% rename from utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java rename to legacy/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java diff --git a/utilities/testrunner/test-user-model.owl b/legacy/utilities/testrunner/test-user-model.owl similarity index 100% rename from utilities/testrunner/test-user-model.owl rename to legacy/utilities/testrunner/test-user-model.owl diff --git a/webapp/build.xml b/legacy/webapp/build.xml similarity index 100% rename from webapp/build.xml rename to legacy/webapp/build.xml diff --git a/webapp/config/example.build.properties b/legacy/webapp/config/example.build.properties similarity index 100% rename from webapp/config/example.build.properties rename to legacy/webapp/config/example.build.properties diff --git a/webapp/config/example.runtime.properties b/legacy/webapp/config/example.runtime.properties similarity index 100% rename from webapp/config/example.runtime.properties rename to legacy/webapp/config/example.runtime.properties diff --git a/webapp/config/jarlist/known_dependencies.txt b/legacy/webapp/config/jarlist/known_dependencies.txt similarity index 100% rename from webapp/config/jarlist/known_dependencies.txt rename to legacy/webapp/config/jarlist/known_dependencies.txt diff --git a/webapp/config/licenser/known_exceptions.txt b/legacy/webapp/config/licenser/known_exceptions.txt similarity index 100% rename from webapp/config/licenser/known_exceptions.txt rename to legacy/webapp/config/licenser/known_exceptions.txt diff --git a/webapp/config/licenser/licenser.properties b/legacy/webapp/config/licenser/licenser.properties similarity index 100% rename from webapp/config/licenser/licenser.properties rename to legacy/webapp/config/licenser/licenser.properties diff --git a/webapp/config/log4j.properties b/legacy/webapp/config/log4j.properties similarity index 100% rename from webapp/config/log4j.properties rename to legacy/webapp/config/log4j.properties diff --git a/webapp/config/setenv.sh b/legacy/webapp/config/setenv.sh similarity index 100% rename from webapp/config/setenv.sh rename to legacy/webapp/config/setenv.sh diff --git a/webapp/context.xml b/legacy/webapp/context.xml similarity index 97% rename from webapp/context.xml rename to legacy/webapp/context.xml index b0cd304f7..5140362a8 100644 --- a/webapp/context.xml +++ b/legacy/webapp/context.xml @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/webapp/languages/es_GO/i18n/all_es_GO.properties b/legacy/webapp/languages/es_GO/i18n/all_es_GO.properties similarity index 100% rename from webapp/languages/es_GO/i18n/all_es_GO.properties rename to legacy/webapp/languages/es_GO/i18n/all_es_GO.properties diff --git a/webapp/languages/es_GO/templates/freemarker/search-help_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/search-help_es_GO.ftl similarity index 98% rename from webapp/languages/es_GO/templates/freemarker/search-help_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/search-help_es_GO.ftl index bde61733d..f637add43 100644 --- a/webapp/languages/es_GO/templates/freemarker/search-help_es_GO.ftl +++ b/legacy/webapp/languages/es_GO/templates/freemarker/search-help_es_GO.ftl @@ -34,8 +34,9 @@ ${stylesheets.add('' $('a#closeLink').click(function() { $('ul#advanced').css("visibility","hidden"); $('a#closeLink').css("visibility","hidden"); + return false; }); - + return false; }); }); diff --git a/webapp/languages/es_GO/templates/freemarker/termsOfUse_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/termsOfUse_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/termsOfUse_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/termsOfUse_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedEmail_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedExternalOnlyEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedExternalOnlyEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedExternalOnlyEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-acctCreatedExternalOnlyEmail_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-confirmEmailChangedEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-confirmEmailChangedEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-confirmEmailChangedEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-confirmEmailChangedEmail_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-firstTimeExternalEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-firstTimeExternalEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-firstTimeExternalEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-firstTimeExternalEmail_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordCreatedEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordCreatedEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-passwordCreatedEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordCreatedEmail_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetCompleteEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetCompleteEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetCompleteEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetCompleteEmail_es_GO.ftl diff --git a/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetPendingEmail_es_GO.ftl b/legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetPendingEmail_es_GO.ftl similarity index 100% rename from webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetPendingEmail_es_GO.ftl rename to legacy/webapp/languages/es_GO/templates/freemarker/userAccounts-passwordResetPendingEmail_es_GO.ftl diff --git a/webapp/webapp.doxyfile b/legacy/webapp/webapp.doxyfile similarity index 100% rename from webapp/webapp.doxyfile rename to legacy/webapp/webapp.doxyfile diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..e505234fa --- /dev/null +++ b/pom.xml @@ -0,0 +1,85 @@ + + + 4.0.0 + + org.vivoweb + vitro-project + 1.9.0-SNAPSHOT + pom + + + yyyy-MM-dd HH:mm:ss + ${maven.build.timestamp} + + + Vitro + + + api + dependencies + webapp + solr + home + + + + + vitro-dev + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + 1.7 + 1.7 + + + + org.codehaus.mojo + buildnumber-maven-plugin + 1.4 + + + validate + + create + + + + + false + false + 7 + + + + + + + + vivo-dependencies + VIVO Dependencies + https://raw.github.com/vivo-project/dependencies/master/ + + + + + + scm:git:git@github.com:vivo-project/Vitro.git + scm:git:git@github.com:vivo-project/Vitro.git + git@github.com:vivo-project/Vitro.git + HEAD + + diff --git a/solr/additions-to-solr-war/WEB-INF/lib/jcl-over-slf4j-1.6.1.jar b/solr/additions-to-solr-war/WEB-INF/lib/jcl-over-slf4j-1.6.1.jar deleted file mode 100644 index 79e1ec2ca..000000000 Binary files a/solr/additions-to-solr-war/WEB-INF/lib/jcl-over-slf4j-1.6.1.jar and /dev/null differ diff --git a/solr/additions-to-solr-war/WEB-INF/lib/jts-1.13.jar b/solr/additions-to-solr-war/WEB-INF/lib/jts-1.13.jar deleted file mode 100644 index bbaa20bfa..000000000 Binary files a/solr/additions-to-solr-war/WEB-INF/lib/jts-1.13.jar and /dev/null differ diff --git a/solr/additions-to-solr-war/WEB-INF/lib/jul-to-slf4j-1.6.1.jar b/solr/additions-to-solr-war/WEB-INF/lib/jul-to-slf4j-1.6.1.jar deleted file mode 100644 index e240f3b60..000000000 Binary files a/solr/additions-to-solr-war/WEB-INF/lib/jul-to-slf4j-1.6.1.jar and /dev/null differ diff --git a/solr/additions-to-solr-war/WEB-INF/lib/slf4j-api-1.6.1.jar b/solr/additions-to-solr-war/WEB-INF/lib/slf4j-api-1.6.1.jar deleted file mode 100644 index 42e0ad0de..000000000 Binary files a/solr/additions-to-solr-war/WEB-INF/lib/slf4j-api-1.6.1.jar and /dev/null differ diff --git a/solr/additions-to-solr-war/WEB-INF/lib/slf4j-log4j12-1.6.1.jar b/solr/additions-to-solr-war/WEB-INF/lib/slf4j-log4j12-1.6.1.jar deleted file mode 100644 index 873d11983..000000000 Binary files a/solr/additions-to-solr-war/WEB-INF/lib/slf4j-log4j12-1.6.1.jar and /dev/null differ diff --git a/solr/pom.xml b/solr/pom.xml new file mode 100644 index 000000000..0533f043a --- /dev/null +++ b/solr/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + org.vivoweb + vitro-solr + 1.9.0-SNAPSHOT + war + + + org.vivoweb + vitro-project + 1.9.0-SNAPSHOT + .. + + + Vitro Solr App + + + + + + org.apache.solr + solr + 4.7.2 + war + + + org.slf4j + jcl-over-slf4j + 1.6.1 + + + com.vividsolutions + jts + 1.13 + + + org.slf4j + jul-to-slf4j + 1.6.1 + + + log4j + log4j + 1.2.16 + + + org.slf4j + slf4j-api + 1.6.1 + + + org.slf4j + slf4j-log4j12 + 1.6.1 + + + diff --git a/solr/solr-4.7.2.war b/solr/solr-4.7.2.war deleted file mode 100644 index cd8f30876..000000000 Binary files a/solr/solr-4.7.2.war and /dev/null differ diff --git a/solr/additions-to-solr-war/WEB-INF/classes/log4j.properties b/solr/src/main/resources/log4j.properties similarity index 100% rename from solr/additions-to-solr-war/WEB-INF/classes/log4j.properties rename to solr/src/main/resources/log4j.properties diff --git a/solr/template.context.xml b/solr/template.context.xml deleted file mode 100644 index 8244079c8..000000000 --- a/solr/template.context.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/utilities/sdb_to_tdb/lib/log4j-1.2.16.jar b/utilities/sdb_to_tdb/lib/log4j-1.2.16.jar deleted file mode 100644 index 5429a903e..000000000 Binary files a/utilities/sdb_to_tdb/lib/log4j-1.2.16.jar and /dev/null differ diff --git a/webapp/lib/activation-1.1.jar b/webapp/lib/activation-1.1.jar deleted file mode 100644 index 53f82a1c4..000000000 Binary files a/webapp/lib/activation-1.1.jar and /dev/null differ diff --git a/webapp/lib/antisamy-1.4.4.jar b/webapp/lib/antisamy-1.4.4.jar deleted file mode 100644 index 45ce10b7d..000000000 Binary files a/webapp/lib/antisamy-1.4.4.jar and /dev/null differ diff --git a/webapp/lib/aopalliance-1.0.jar b/webapp/lib/aopalliance-1.0.jar deleted file mode 100644 index 578b1a0c3..000000000 Binary files a/webapp/lib/aopalliance-1.0.jar and /dev/null differ diff --git a/webapp/lib/asm-3.1.jar b/webapp/lib/asm-3.1.jar deleted file mode 100644 index 8217cae0a..000000000 Binary files a/webapp/lib/asm-3.1.jar and /dev/null differ diff --git a/webapp/lib/aterm-java-1.6.jar b/webapp/lib/aterm-java-1.6.jar deleted file mode 100644 index c56edd997..000000000 Binary files a/webapp/lib/aterm-java-1.6.jar and /dev/null differ diff --git a/webapp/lib/batik-css-1.7.jar b/webapp/lib/batik-css-1.7.jar deleted file mode 100755 index c1f1c9a88..000000000 Binary files a/webapp/lib/batik-css-1.7.jar and /dev/null differ diff --git a/webapp/lib/batik-css.jar b/webapp/lib/batik-css.jar deleted file mode 100644 index c1f1c9a88..000000000 Binary files a/webapp/lib/batik-css.jar and /dev/null differ diff --git a/webapp/lib/batik-util-1.7.jar b/webapp/lib/batik-util-1.7.jar deleted file mode 100644 index c50d1ff29..000000000 Binary files a/webapp/lib/batik-util-1.7.jar and /dev/null differ diff --git a/webapp/lib/c3p0-0.9.2-pre4.jar b/webapp/lib/c3p0-0.9.2-pre4.jar deleted file mode 100644 index 645f39dd4..000000000 Binary files a/webapp/lib/c3p0-0.9.2-pre4.jar and /dev/null differ diff --git a/webapp/lib/c3p0-oracle-thin-extras-0.9.2-pre4.jar b/webapp/lib/c3p0-oracle-thin-extras-0.9.2-pre4.jar deleted file mode 100644 index 0a67fb4d8..000000000 Binary files a/webapp/lib/c3p0-oracle-thin-extras-0.9.2-pre4.jar and /dev/null differ diff --git a/webapp/lib/cglib-2.2.jar b/webapp/lib/cglib-2.2.jar deleted file mode 100644 index 084ef6e54..000000000 Binary files a/webapp/lib/cglib-2.2.jar and /dev/null differ diff --git a/webapp/lib/commons-beanutils.jar b/webapp/lib/commons-beanutils.jar deleted file mode 100644 index b1b89c9c9..000000000 Binary files a/webapp/lib/commons-beanutils.jar and /dev/null differ diff --git a/webapp/lib/commons-cli-1.2.jar b/webapp/lib/commons-cli-1.2.jar deleted file mode 100644 index ce4b9fffe..000000000 Binary files a/webapp/lib/commons-cli-1.2.jar and /dev/null differ diff --git a/webapp/lib/commons-codec-1.6.jar b/webapp/lib/commons-codec-1.6.jar deleted file mode 100644 index ee1bc49ac..000000000 Binary files a/webapp/lib/commons-codec-1.6.jar and /dev/null differ diff --git a/webapp/lib/commons-collections-3.2.1.jar b/webapp/lib/commons-collections-3.2.1.jar deleted file mode 100644 index c35fa1fee..000000000 Binary files a/webapp/lib/commons-collections-3.2.1.jar and /dev/null differ diff --git a/webapp/lib/commons-dbcp-1.3.jar b/webapp/lib/commons-dbcp-1.3.jar deleted file mode 100644 index d29339738..000000000 Binary files a/webapp/lib/commons-dbcp-1.3.jar and /dev/null differ diff --git a/webapp/lib/commons-dbcp-1.4.jar b/webapp/lib/commons-dbcp-1.4.jar deleted file mode 100644 index c4c1c4f28..000000000 Binary files a/webapp/lib/commons-dbcp-1.4.jar and /dev/null differ diff --git a/webapp/lib/commons-fileupload-1.2.1.jar b/webapp/lib/commons-fileupload-1.2.1.jar deleted file mode 100644 index aa209b388..000000000 Binary files a/webapp/lib/commons-fileupload-1.2.1.jar and /dev/null differ diff --git a/webapp/lib/commons-httpclient-3.1.jar b/webapp/lib/commons-httpclient-3.1.jar deleted file mode 100644 index 7c59774ae..000000000 Binary files a/webapp/lib/commons-httpclient-3.1.jar and /dev/null differ diff --git a/webapp/lib/commons-io-2.4.jar b/webapp/lib/commons-io-2.4.jar deleted file mode 100644 index 90035a4fe..000000000 Binary files a/webapp/lib/commons-io-2.4.jar and /dev/null differ diff --git a/webapp/lib/commons-lang-2.6.jar b/webapp/lib/commons-lang-2.6.jar deleted file mode 100644 index 98467d3a6..000000000 Binary files a/webapp/lib/commons-lang-2.6.jar and /dev/null differ diff --git a/webapp/lib/commons-logging-1.1.1.jar b/webapp/lib/commons-logging-1.1.1.jar deleted file mode 100644 index 8758a96b7..000000000 Binary files a/webapp/lib/commons-logging-1.1.1.jar and /dev/null differ diff --git a/webapp/lib/commons-pool-1.3.jar b/webapp/lib/commons-pool-1.3.jar deleted file mode 100644 index 623b1c0a7..000000000 Binary files a/webapp/lib/commons-pool-1.3.jar and /dev/null differ diff --git a/webapp/lib/commons-pool-1.5.4.jar b/webapp/lib/commons-pool-1.5.4.jar deleted file mode 100644 index 43edf9963..000000000 Binary files a/webapp/lib/commons-pool-1.5.4.jar and /dev/null differ diff --git a/webapp/lib/cos.jar b/webapp/lib/cos.jar deleted file mode 100644 index 6a4a1ff5f..000000000 Binary files a/webapp/lib/cos.jar and /dev/null differ diff --git a/webapp/lib/csv-1.0.jar b/webapp/lib/csv-1.0.jar deleted file mode 100644 index e65c43b86..000000000 Binary files a/webapp/lib/csv-1.0.jar and /dev/null differ diff --git a/webapp/lib/cxf-xjc-runtime-2.6.2.jar b/webapp/lib/cxf-xjc-runtime-2.6.2.jar deleted file mode 100644 index 585894097..000000000 Binary files a/webapp/lib/cxf-xjc-runtime-2.6.2.jar and /dev/null differ diff --git a/webapp/lib/cxf-xjc-ts-2.6.2.jar b/webapp/lib/cxf-xjc-ts-2.6.2.jar deleted file mode 100644 index 283ba149d..000000000 Binary files a/webapp/lib/cxf-xjc-ts-2.6.2.jar and /dev/null differ diff --git a/webapp/lib/dom4j-1.6.1.jar b/webapp/lib/dom4j-1.6.1.jar deleted file mode 100644 index c8c4dbb92..000000000 Binary files a/webapp/lib/dom4j-1.6.1.jar and /dev/null differ diff --git a/webapp/lib/dwr-2.0.M2.8.jar b/webapp/lib/dwr-2.0.M2.8.jar deleted file mode 100644 index 5aa6736b8..000000000 Binary files a/webapp/lib/dwr-2.0.M2.8.jar and /dev/null differ diff --git a/webapp/lib/easymock-3.2.jar b/webapp/lib/easymock-3.2.jar deleted file mode 100644 index 7c439f82c..000000000 Binary files a/webapp/lib/easymock-3.2.jar and /dev/null differ diff --git a/webapp/lib/ezmorph-1.0.4.jar b/webapp/lib/ezmorph-1.0.4.jar deleted file mode 100644 index 7625af67e..000000000 Binary files a/webapp/lib/ezmorph-1.0.4.jar and /dev/null differ diff --git a/webapp/lib/fedora-client.jar b/webapp/lib/fedora-client.jar deleted file mode 100644 index 21bfea243..000000000 Binary files a/webapp/lib/fedora-client.jar and /dev/null differ diff --git a/webapp/lib/fluent-hc-4.2.5.jar b/webapp/lib/fluent-hc-4.2.5.jar deleted file mode 100644 index 2f165410b..000000000 Binary files a/webapp/lib/fluent-hc-4.2.5.jar and /dev/null differ diff --git a/webapp/lib/freemarker.jar b/webapp/lib/freemarker.jar deleted file mode 100644 index b3673e229..000000000 Binary files a/webapp/lib/freemarker.jar and /dev/null differ diff --git a/webapp/lib/gson-1.4.jar b/webapp/lib/gson-1.4.jar deleted file mode 100644 index b9c33d039..000000000 Binary files a/webapp/lib/gson-1.4.jar and /dev/null differ diff --git a/webapp/lib/hamcrest-all-1.3.jar b/webapp/lib/hamcrest-all-1.3.jar deleted file mode 100644 index 6f62ba00c..000000000 Binary files a/webapp/lib/hamcrest-all-1.3.jar and /dev/null differ diff --git a/webapp/lib/httpclient-4.2.5.jar b/webapp/lib/httpclient-4.2.5.jar deleted file mode 100644 index 5310588ef..000000000 Binary files a/webapp/lib/httpclient-4.2.5.jar and /dev/null differ diff --git a/webapp/lib/httpcore-4.2.4.jar b/webapp/lib/httpcore-4.2.4.jar deleted file mode 100644 index 9f45bd91c..000000000 Binary files a/webapp/lib/httpcore-4.2.4.jar and /dev/null differ diff --git a/webapp/lib/httpmime-4.2.5.jar b/webapp/lib/httpmime-4.2.5.jar deleted file mode 100644 index e63b24d70..000000000 Binary files a/webapp/lib/httpmime-4.2.5.jar and /dev/null differ diff --git a/webapp/lib/iText-5.0.2.jar b/webapp/lib/iText-5.0.2.jar deleted file mode 100644 index ed9565316..000000000 Binary files a/webapp/lib/iText-5.0.2.jar and /dev/null differ diff --git a/webapp/lib/icu4j-3.4.4.jar b/webapp/lib/icu4j-3.4.4.jar deleted file mode 100644 index f5e8c167e..000000000 Binary files a/webapp/lib/icu4j-3.4.4.jar and /dev/null differ diff --git a/webapp/lib/jackson-annotations-2.3.0.jar b/webapp/lib/jackson-annotations-2.3.0.jar deleted file mode 100644 index 3901f3281..000000000 Binary files a/webapp/lib/jackson-annotations-2.3.0.jar and /dev/null differ diff --git a/webapp/lib/jackson-core-2.3.0.jar b/webapp/lib/jackson-core-2.3.0.jar deleted file mode 100644 index 151210064..000000000 Binary files a/webapp/lib/jackson-core-2.3.0.jar and /dev/null differ diff --git a/webapp/lib/jackson-databind-2.3.0.jar b/webapp/lib/jackson-databind-2.3.0.jar deleted file mode 100644 index 32f12f05b..000000000 Binary files a/webapp/lib/jackson-databind-2.3.0.jar and /dev/null differ diff --git a/webapp/lib/jai_codec.jar b/webapp/lib/jai_codec.jar deleted file mode 100644 index 056ecd3a7..000000000 Binary files a/webapp/lib/jai_codec.jar and /dev/null differ diff --git a/webapp/lib/jai_core.jar b/webapp/lib/jai_core.jar deleted file mode 100644 index b29b8eed5..000000000 Binary files a/webapp/lib/jai_core.jar and /dev/null differ diff --git a/webapp/lib/jakarta-jstl1.2-jstl.jar b/webapp/lib/jakarta-jstl1.2-jstl.jar deleted file mode 100644 index a02abecc8..000000000 Binary files a/webapp/lib/jakarta-jstl1.2-jstl.jar and /dev/null differ diff --git a/webapp/lib/jakarta-jstl1.2-standard.jar b/webapp/lib/jakarta-jstl1.2-standard.jar deleted file mode 100644 index bc528acb9..000000000 Binary files a/webapp/lib/jakarta-jstl1.2-standard.jar and /dev/null differ diff --git a/webapp/lib/javax.json-1.0.4.jar b/webapp/lib/javax.json-1.0.4.jar deleted file mode 100644 index 09967d815..000000000 Binary files a/webapp/lib/javax.json-1.0.4.jar and /dev/null differ diff --git a/webapp/lib/javax.json-api-1.0.jar b/webapp/lib/javax.json-api-1.0.jar deleted file mode 100644 index d276c793c..000000000 Binary files a/webapp/lib/javax.json-api-1.0.jar and /dev/null differ diff --git a/webapp/lib/jaxrpc.jar b/webapp/lib/jaxrpc.jar deleted file mode 100644 index a2c13d9a2..000000000 Binary files a/webapp/lib/jaxrpc.jar and /dev/null differ diff --git a/webapp/lib/jcl-over-slf4j-1.6.6.jar b/webapp/lib/jcl-over-slf4j-1.6.6.jar deleted file mode 100644 index ab898c041..000000000 Binary files a/webapp/lib/jcl-over-slf4j-1.6.6.jar and /dev/null differ diff --git a/webapp/lib/jena-arq-2.10.1.jar b/webapp/lib/jena-arq-2.10.1.jar deleted file mode 100644 index b8e9547f3..000000000 Binary files a/webapp/lib/jena-arq-2.10.1.jar and /dev/null differ diff --git a/webapp/lib/jena-core-2.10.1.jar b/webapp/lib/jena-core-2.10.1.jar deleted file mode 100644 index d2a389c96..000000000 Binary files a/webapp/lib/jena-core-2.10.1.jar and /dev/null differ diff --git a/webapp/lib/jena-iri-0.9.6.jar b/webapp/lib/jena-iri-0.9.6.jar deleted file mode 100644 index e4ee0dc2a..000000000 Binary files a/webapp/lib/jena-iri-0.9.6.jar and /dev/null differ diff --git a/webapp/lib/jena-sdb-1.3.6.jar b/webapp/lib/jena-sdb-1.3.6.jar deleted file mode 100644 index 43ee9ffcc..000000000 Binary files a/webapp/lib/jena-sdb-1.3.6.jar and /dev/null differ diff --git a/webapp/lib/jena-tdb-0.10.0.jar b/webapp/lib/jena-tdb-0.10.0.jar deleted file mode 100644 index ad7101a20..000000000 Binary files a/webapp/lib/jena-tdb-0.10.0.jar and /dev/null differ diff --git a/webapp/lib/jfact-4.0.0.jar b/webapp/lib/jfact-4.0.0.jar deleted file mode 100644 index 331b02bf6..000000000 Binary files a/webapp/lib/jfact-4.0.0.jar and /dev/null differ diff --git a/webapp/lib/jga-0.8.jar b/webapp/lib/jga-0.8.jar deleted file mode 100644 index 8db44d2ce..000000000 Binary files a/webapp/lib/jga-0.8.jar and /dev/null differ diff --git a/webapp/lib/jgrapht-jdk1.5.jar b/webapp/lib/jgrapht-jdk1.5.jar deleted file mode 100644 index e6a3e46d4..000000000 Binary files a/webapp/lib/jgrapht-jdk1.5.jar and /dev/null differ diff --git a/webapp/lib/joda-time-1.4.jar b/webapp/lib/joda-time-1.4.jar deleted file mode 100644 index 351ad69c1..000000000 Binary files a/webapp/lib/joda-time-1.4.jar and /dev/null differ diff --git a/webapp/lib/json-lib-2.2.2-jdk15.jar b/webapp/lib/json-lib-2.2.2-jdk15.jar deleted file mode 100644 index 27e7c7cc5..000000000 Binary files a/webapp/lib/json-lib-2.2.2-jdk15.jar and /dev/null differ diff --git a/webapp/lib/jsonld-java-0.3-SNAPSHOT.jar b/webapp/lib/jsonld-java-0.3-SNAPSHOT.jar deleted file mode 100644 index 879586189..000000000 Binary files a/webapp/lib/jsonld-java-0.3-SNAPSHOT.jar and /dev/null differ diff --git a/webapp/lib/jsonld-java-jena-0.3-SNAPSHOT.jar b/webapp/lib/jsonld-java-jena-0.3-SNAPSHOT.jar deleted file mode 100644 index a8754a44d..000000000 Binary files a/webapp/lib/jsonld-java-jena-0.3-SNAPSHOT.jar and /dev/null differ diff --git a/webapp/lib/jsoup-1.6.1.jar b/webapp/lib/jsoup-1.6.1.jar deleted file mode 100644 index 87126a490..000000000 Binary files a/webapp/lib/jsoup-1.6.1.jar and /dev/null differ diff --git a/webapp/lib/jsp-api.jar b/webapp/lib/jsp-api.jar deleted file mode 100644 index 6ea9fac35..000000000 Binary files a/webapp/lib/jsp-api.jar and /dev/null differ diff --git a/webapp/lib/jtidy-8.0-20060801.124516-2.jar b/webapp/lib/jtidy-8.0-20060801.124516-2.jar deleted file mode 100644 index 295616d99..000000000 Binary files a/webapp/lib/jtidy-8.0-20060801.124516-2.jar and /dev/null differ diff --git a/webapp/lib/junit-4.11.jar b/webapp/lib/junit-4.11.jar deleted file mode 100644 index aaf744484..000000000 Binary files a/webapp/lib/junit-4.11.jar and /dev/null differ diff --git a/webapp/lib/ldap.jar b/webapp/lib/ldap.jar deleted file mode 100644 index 85eb8f918..000000000 Binary files a/webapp/lib/ldap.jar and /dev/null differ diff --git a/webapp/lib/log4j-1.2.16.jar b/webapp/lib/log4j-1.2.16.jar deleted file mode 100644 index 5429a903e..000000000 Binary files a/webapp/lib/log4j-1.2.16.jar and /dev/null differ diff --git a/webapp/lib/mail-1.4.jar b/webapp/lib/mail-1.4.jar deleted file mode 100644 index fd4555b35..000000000 Binary files a/webapp/lib/mail-1.4.jar and /dev/null differ diff --git a/webapp/lib/mchange-commons-java-0.2.2.jar b/webapp/lib/mchange-commons-java-0.2.2.jar deleted file mode 100644 index 19f947e8a..000000000 Binary files a/webapp/lib/mchange-commons-java-0.2.2.jar and /dev/null differ diff --git a/webapp/lib/mysql-connector-java-5.1.30-bin.jar b/webapp/lib/mysql-connector-java-5.1.30-bin.jar deleted file mode 100644 index afef9b2d0..000000000 Binary files a/webapp/lib/mysql-connector-java-5.1.30-bin.jar and /dev/null differ diff --git a/webapp/lib/nekohtml.jar b/webapp/lib/nekohtml.jar deleted file mode 100644 index 16261d2eb..000000000 Binary files a/webapp/lib/nekohtml.jar and /dev/null differ diff --git a/webapp/lib/noggit-0.5.jar b/webapp/lib/noggit-0.5.jar deleted file mode 100644 index 163ced7cc..000000000 Binary files a/webapp/lib/noggit-0.5.jar and /dev/null differ diff --git a/webapp/lib/ojdbc14_g.jar b/webapp/lib/ojdbc14_g.jar deleted file mode 100644 index 349627b9e..000000000 Binary files a/webapp/lib/ojdbc14_g.jar and /dev/null differ diff --git a/webapp/lib/owlapi-distribution-4.0.1.jar b/webapp/lib/owlapi-distribution-4.0.1.jar deleted file mode 100644 index a3f9c2882..000000000 Binary files a/webapp/lib/owlapi-distribution-4.0.1.jar and /dev/null differ diff --git a/webapp/lib/relaxngDatatype.jar b/webapp/lib/relaxngDatatype.jar deleted file mode 100644 index 5f1c323d8..000000000 Binary files a/webapp/lib/relaxngDatatype.jar and /dev/null differ diff --git a/webapp/lib/rowset-20040728-v101.jar b/webapp/lib/rowset-20040728-v101.jar deleted file mode 100644 index 91bca8893..000000000 Binary files a/webapp/lib/rowset-20040728-v101.jar and /dev/null differ diff --git a/webapp/lib/saaj.jar b/webapp/lib/saaj.jar deleted file mode 100644 index 4ea696e74..000000000 Binary files a/webapp/lib/saaj.jar and /dev/null differ diff --git a/webapp/lib/sac-1.3.jar b/webapp/lib/sac-1.3.jar deleted file mode 100755 index 39b92b1d8..000000000 Binary files a/webapp/lib/sac-1.3.jar and /dev/null differ diff --git a/webapp/lib/saxon9he.jar b/webapp/lib/saxon9he.jar deleted file mode 100644 index 0719a94fa..000000000 Binary files a/webapp/lib/saxon9he.jar and /dev/null differ diff --git a/webapp/lib/servlet-api.jar b/webapp/lib/servlet-api.jar deleted file mode 100644 index 46eee3aa2..000000000 Binary files a/webapp/lib/servlet-api.jar and /dev/null differ diff --git a/webapp/lib/slf4j-api-1.6.6.jar b/webapp/lib/slf4j-api-1.6.6.jar deleted file mode 100644 index 4c03fa6bb..000000000 Binary files a/webapp/lib/slf4j-api-1.6.6.jar and /dev/null differ diff --git a/webapp/lib/slf4j-log4j12-1.6.6.jar b/webapp/lib/slf4j-log4j12-1.6.6.jar deleted file mode 100644 index e72c2d66e..000000000 Binary files a/webapp/lib/slf4j-log4j12-1.6.6.jar and /dev/null differ diff --git a/webapp/lib/solr-core-4.7.2.jar b/webapp/lib/solr-core-4.7.2.jar deleted file mode 100644 index 84e432fe9..000000000 Binary files a/webapp/lib/solr-core-4.7.2.jar and /dev/null differ diff --git a/webapp/lib/solr-solrj-4.7.2.jar b/webapp/lib/solr-solrj-4.7.2.jar deleted file mode 100644 index e9f492c27..000000000 Binary files a/webapp/lib/solr-solrj-4.7.2.jar and /dev/null differ diff --git a/webapp/lib/sparqltag.jar b/webapp/lib/sparqltag.jar deleted file mode 100644 index ee2f00108..000000000 Binary files a/webapp/lib/sparqltag.jar and /dev/null differ diff --git a/webapp/lib/spring-aop-2.5.6.jar b/webapp/lib/spring-aop-2.5.6.jar deleted file mode 100644 index a11cc3aa5..000000000 Binary files a/webapp/lib/spring-aop-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring-beans-2.5.6.jar b/webapp/lib/spring-beans-2.5.6.jar deleted file mode 100644 index 3f306b673..000000000 Binary files a/webapp/lib/spring-beans-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring-context-2.5.6.jar b/webapp/lib/spring-context-2.5.6.jar deleted file mode 100644 index 29fabcc1d..000000000 Binary files a/webapp/lib/spring-context-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring-context-support-2.5.6.jar b/webapp/lib/spring-context-support-2.5.6.jar deleted file mode 100644 index 2927c6ebf..000000000 Binary files a/webapp/lib/spring-context-support-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring-core-2.5.6.jar b/webapp/lib/spring-core-2.5.6.jar deleted file mode 100644 index aafa33609..000000000 Binary files a/webapp/lib/spring-core-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring-web-2.5.6.jar b/webapp/lib/spring-web-2.5.6.jar deleted file mode 100644 index 432e8f036..000000000 Binary files a/webapp/lib/spring-web-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring-webmvc-2.5.6.jar b/webapp/lib/spring-webmvc-2.5.6.jar deleted file mode 100644 index 613f5953d..000000000 Binary files a/webapp/lib/spring-webmvc-2.5.6.jar and /dev/null differ diff --git a/webapp/lib/spring2.5.6.jar b/webapp/lib/spring2.5.6.jar deleted file mode 100644 index 527367005..000000000 Binary files a/webapp/lib/spring2.5.6.jar and /dev/null differ diff --git a/webapp/lib/standard-1.1.2.jar b/webapp/lib/standard-1.1.2.jar deleted file mode 100644 index bc528acb9..000000000 Binary files a/webapp/lib/standard-1.1.2.jar and /dev/null differ diff --git a/webapp/lib/stax-api-1.0.1.jar b/webapp/lib/stax-api-1.0.1.jar deleted file mode 100644 index d9a166515..000000000 Binary files a/webapp/lib/stax-api-1.0.1.jar and /dev/null differ diff --git a/webapp/lib/trippi-1.3.2-core.jar b/webapp/lib/trippi-1.3.2-core.jar deleted file mode 100644 index 13ecb582d..000000000 Binary files a/webapp/lib/trippi-1.3.2-core.jar and /dev/null differ diff --git a/webapp/lib/wsdl4j-1.5.2.jar b/webapp/lib/wsdl4j-1.5.2.jar deleted file mode 100644 index 2877271ac..000000000 Binary files a/webapp/lib/wsdl4j-1.5.2.jar and /dev/null differ diff --git a/webapp/lib/wstx-asl-3.2.7.jar b/webapp/lib/wstx-asl-3.2.7.jar deleted file mode 100644 index 277701703..000000000 Binary files a/webapp/lib/wstx-asl-3.2.7.jar and /dev/null differ diff --git a/webapp/lib/xalan.jar b/webapp/lib/xalan.jar deleted file mode 100644 index 0cb96a457..000000000 Binary files a/webapp/lib/xalan.jar and /dev/null differ diff --git a/webapp/lib/xercesImpl-2.11.0.jar b/webapp/lib/xercesImpl-2.11.0.jar deleted file mode 100644 index 0aaa990f3..000000000 Binary files a/webapp/lib/xercesImpl-2.11.0.jar and /dev/null differ diff --git a/webapp/lib/xml-apis-1.4.01.jar b/webapp/lib/xml-apis-1.4.01.jar deleted file mode 100644 index 46733464f..000000000 Binary files a/webapp/lib/xml-apis-1.4.01.jar and /dev/null differ diff --git a/webapp/lib/xpp3_min-1.1.3.4.O.jar b/webapp/lib/xpp3_min-1.1.3.4.O.jar deleted file mode 100644 index 640441dad..000000000 Binary files a/webapp/lib/xpp3_min-1.1.3.4.O.jar and /dev/null differ diff --git a/webapp/lib/xstream-1.2.2.jar b/webapp/lib/xstream-1.2.2.jar deleted file mode 100644 index 31721c5f3..000000000 Binary files a/webapp/lib/xstream-1.2.2.jar and /dev/null differ diff --git a/webapp/lib/zookeeper-3.4.5.jar b/webapp/lib/zookeeper-3.4.5.jar deleted file mode 100644 index a7966bbbc..000000000 Binary files a/webapp/lib/zookeeper-3.4.5.jar and /dev/null differ diff --git a/webapp/pom.xml b/webapp/pom.xml new file mode 100644 index 000000000..8a888dd99 --- /dev/null +++ b/webapp/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + org.vivoweb + vitro-webapp + 1.9.0-SNAPSHOT + war + + + org.vivoweb + vitro-project + 1.9.0-SNAPSHOT + .. + + + Vitro Web App + + + + + maven-war-plugin + 2.6 + + WEB-INF/lib/*.jar + false + + + src/main/webResources + true + + + + + + + + + + org.vivoweb + vitro-api + 1.9.0-SNAPSHOT + + + diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ABoxJenaChangeListener.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ABoxJenaChangeListener.java deleted file mode 100644 index aa34acb91..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ABoxJenaChangeListener.java +++ /dev/null @@ -1,40 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.dao.jena; - -import com.hp.hpl.jena.rdf.model.ModelChangedListener; - -import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames; - -public class ABoxJenaChangeListener extends JenaChangeListener { - - public ABoxJenaChangeListener(ModelChangedListener listener) { - super(listener); - ignoredGraphs.add(ModelNames.ABOX_INFERENCES); - ignoredGraphs.add(ModelNames.TBOX_ASSERTIONS); - ignoredGraphs.add(ModelNames.TBOX_INFERENCES); - } - - @Override - public void addedStatement(String serializedTriple, String graphURI) { - if (isABoxGraph(graphURI)) { - super.addedStatement(serializedTriple, graphURI); - } - } - - @Override - public void removedStatement(String serializedTriple, String graphURI) { - if (isABoxGraph(graphURI)) { - super.removedStatement(serializedTriple, graphURI); - } - } - - private boolean isABoxGraph(String graphURI) { - return (graphURI == null || - ModelNames.ABOX_ASSERTIONS.equals(graphURI) - || (!ignoredGraphs.contains(graphURI) - && !graphURI.contains("filegraph") - && !graphURI.contains("tbox"))); - } - -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaChangeListener.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaChangeListener.java deleted file mode 100644 index 9304d99a7..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaChangeListener.java +++ /dev/null @@ -1,89 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.dao.jena; - -import java.io.ByteArrayInputStream; -import java.io.UnsupportedEncodingException; -import java.util.HashSet; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.hp.hpl.jena.rdf.model.Model; -import com.hp.hpl.jena.rdf.model.ModelChangedListener; -import com.hp.hpl.jena.rdf.model.ModelFactory; -import com.hp.hpl.jena.rdf.model.Statement; -import com.hp.hpl.jena.rdf.model.StmtIterator; - -import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; -import edu.cornell.mannlib.vitro.webapp.servlet.setup.SimpleReasonerSetup; - -/** - * A ChangeListener that forwards events to a Jena ModelChangedListener - * @author bjl23 - * - */ -public class JenaChangeListener implements ChangeListener { - - private static final Log log = LogFactory.getLog(JenaChangeListener.class); - - protected HashSet ignoredGraphs = new HashSet(); - - private ModelChangedListener listener; - private Model m = ModelFactory.createDefaultModel(); - - public JenaChangeListener(ModelChangedListener listener) { - this.listener = listener; - ignoredGraphs.add(SimpleReasonerSetup.JENA_INF_MODEL_REBUILD); - ignoredGraphs.add(SimpleReasonerSetup.JENA_INF_MODEL_SCRATCHPAD); - } - - @Override - public void addedStatement(String serializedTriple, String graphURI) { - if (isRelevantGraph(graphURI)) { - listener.addedStatement(parseTriple(serializedTriple)); - } - } - - @Override - public void removedStatement(String serializedTriple, String graphURI) { - if (isRelevantGraph(graphURI)) { - listener.removedStatement(parseTriple(serializedTriple)); - } - } - - private boolean isRelevantGraph(String graphURI) { - return (graphURI == null || !ignoredGraphs.contains(graphURI)); - } - - @Override - public void notifyEvent(String graphURI, Object event) { - log.debug("event: " + event.getClass()); - listener.notifyEvent(m, event); - } - - // TODO avoid overhead of Model - private Statement parseTriple(String serializedTriple) { - try { - Model m = ModelFactory.createDefaultModel(); - m.read(new ByteArrayInputStream( - serializedTriple.getBytes("UTF-8")), null, "N3"); - StmtIterator sit = m.listStatements(); - if (!sit.hasNext()) { - throw new RuntimeException("no triple parsed from change event"); - } else { - Statement s = sit.nextStatement(); - if (sit.hasNext()) { - log.warn("More than one triple parsed from change event"); - } - return s; - } - } catch (RuntimeException riot) { - log.error("Unable to parse triple " + serializedTriple, riot); - throw riot; - } catch (UnsupportedEncodingException uee) { - throw new RuntimeException(uee); - } - } - -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Map.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Map.java deleted file mode 100644 index 7f155e574..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/utils/ProcessDataGetterN3Map.java +++ /dev/null @@ -1,25 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils; - -import java.util.HashMap; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/* - * This class determines what n3 should be returned for a particular data getter and can be overwritten or extended in VIVO. - */ -public class ProcessDataGetterN3Map { - private static final Log log = LogFactory.getLog(ProcessDataGetterN3Map.class); - public static HashMap getDataGetterTypeToProcessorMap() { - HashMap map = new HashMap(); - map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessSparqlDataGetterN3"); - map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessClassGroupDataGetterN3"); - map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessIndividualsForClassesDataGetterN3"); - map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.FixedHTMLDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessFixedHTMLN3"); - map.put("edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SearchIndividualsDataGetter", "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.utils.ProcessSearchIndividualsDataGetterN3"); - - return map; - } -} \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/ListeningGraph.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/ListeningGraph.java deleted file mode 100644 index 8fb2752e4..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/ListeningGraph.java +++ /dev/null @@ -1,236 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.hp.hpl.jena.graph.BulkUpdateHandler; -import com.hp.hpl.jena.graph.Capabilities; -import com.hp.hpl.jena.graph.Graph; -import com.hp.hpl.jena.graph.GraphEventManager; -import com.hp.hpl.jena.graph.GraphStatisticsHandler; -import com.hp.hpl.jena.graph.Node; -import com.hp.hpl.jena.graph.TransactionHandler; -import com.hp.hpl.jena.graph.Triple; -import com.hp.hpl.jena.graph.TripleMatch; -import com.hp.hpl.jena.graph.impl.GraphWithPerform; -import com.hp.hpl.jena.graph.impl.SimpleBulkUpdateHandler; -import com.hp.hpl.jena.graph.impl.SimpleEventManager; -import com.hp.hpl.jena.shared.AddDeniedException; -import com.hp.hpl.jena.shared.DeleteDeniedException; -import com.hp.hpl.jena.shared.PrefixMapping; -import com.hp.hpl.jena.shared.impl.PrefixMappingImpl; -import com.hp.hpl.jena.util.iterator.ExtendedIterator; -import com.hp.hpl.jena.util.iterator.WrappedIterator; - -import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceImpl; -import edu.cornell.mannlib.vitro.webapp.utils.logging.ToString; - -public class ListeningGraph implements GraphWithPerform { - - private static final Log log = LogFactory.getLog(ListeningGraph.class); - - private RDFServiceImpl rdfServiceImpl; - private String graphURI; - - private BulkUpdateHandler bulkUpdateHandler; - private GraphEventManager eventManager; - private PrefixMapping prefixMapping = new PrefixMappingImpl(); - - public ListeningGraph(String graphURI, RDFServiceImpl rdfServiceImpl) { - this.graphURI = graphURI; - this.rdfServiceImpl = rdfServiceImpl; - } - - @Override - public void add(Triple triple) throws AddDeniedException { - performAdd(triple); - } - - @Override - public void performAdd(Triple triple) throws AddDeniedException { - if (log.isDebugEnabled()) { - log.debug("adding " + triple + " to " + graphURI); - } - this.rdfServiceImpl.notifyListeners(triple, ModelChange.Operation.ADD, graphURI); - } - - @Override - public void delete(Triple triple) throws DeleteDeniedException { - performDelete(triple); - } - - @Override - public void performDelete(Triple triple) throws DeleteDeniedException { - if (log.isDebugEnabled()) { - log.debug("deleting " + triple + " from " + graphURI); - } - this.rdfServiceImpl.notifyListeners(triple, ModelChange.Operation.REMOVE, graphURI); - } - - @Override - public void close() { - // Nothing to close. - } - - @Override - public boolean contains(Triple arg0) { - return contains(arg0.getSubject(), arg0.getPredicate(), arg0.getObject()); - } - - @Override - public boolean contains(Node subject, Node predicate, Node object) { - return false; - } - - @Override - public boolean dependsOn(Graph arg0) { - return false; // who knows? - } - - @Override - public ExtendedIterator find(TripleMatch arg0) { - Triple t = arg0.asTriple(); - return find(t.getSubject(), t.getPredicate(), t.getObject()); - } - - @Override - public ExtendedIterator find(Node subject, Node predicate, Node object) { - List triplist = new ArrayList(); - return WrappedIterator.create(triplist.iterator()); - } - - @Override - public void clear() { - for (Triple t: find(null, null, null).toList()) { - delete(t); - } - } - - @Override - public void remove(Node subject, Node predicate, Node object) { - for (Triple t: find(subject, predicate, object).toList()) { - delete(t); - } - } - - @Override - @Deprecated - public BulkUpdateHandler getBulkUpdateHandler() { - if (this.bulkUpdateHandler == null) { - this.bulkUpdateHandler = new SimpleBulkUpdateHandler(this); - } - return this.bulkUpdateHandler; - } - - @Override - public Capabilities getCapabilities() { - return capabilities; - } - - @Override - public GraphEventManager getEventManager() { - if (eventManager == null) { - eventManager = new SimpleEventManager(this); - } - return eventManager; - } - - @Override - public PrefixMapping getPrefixMapping() { - return prefixMapping; - } - - @Override - public GraphStatisticsHandler getStatisticsHandler() { - return null; - } - - @Override - public TransactionHandler getTransactionHandler() { - return null; - } - - @Override - public boolean isClosed() { - return false; - } - - @Override - public boolean isEmpty() { - return !contains(null, null, null); - } - - @Override - public boolean isIsomorphicWith(Graph arg0) { - throw new UnsupportedOperationException("isIsomorphicWith() not supported " + - "by SPARQL graphs"); - } - - @Override - public int size() { - int size = find(null, null, null).toList().size(); - return size; - } - - private final static Capabilities capabilities = new Capabilities() { - - @Override - public boolean addAllowed() { - return false; - } - - @Override - public boolean addAllowed(boolean everyTriple) { - return false; - } - - @Override - public boolean canBeEmpty() { - return true; - } - - @Override - public boolean deleteAllowed() { - return false; - } - - @Override - public boolean deleteAllowed(boolean everyTriple) { - return false; - } - - @Override - public boolean findContractSafe() { - return true; - } - - @Override - public boolean handlesLiteralTyping() { - return true; - } - - @Override - public boolean iteratorRemoveAllowed() { - return false; - } - - @Override - public boolean sizeAccurate() { - return true; - } - }; - - @Override - public String toString() { - return "ListeningGraph["+ToString.hashHex(this) - + ", " + rdfServiceImpl - + ", " + ToString.modelName(graphURI) + "]"; - } - -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java deleted file mode 100644 index b4f865746..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java +++ /dev/null @@ -1,890 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.sparql; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.StringWriter; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.concurrent.ConcurrentLinkedQueue; - -import edu.cornell.mannlib.vitro.webapp.rdfservice.ResultSetConsumer; -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.http.HttpResponse; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.impl.conn.PoolingClientConnectionManager; -import org.apache.http.message.BasicNameValuePair; -import org.apache.jena.riot.RDFDataMgr; - -import com.hp.hpl.jena.graph.Triple; -import com.hp.hpl.jena.query.Query; -import com.hp.hpl.jena.query.QueryExecution; -import com.hp.hpl.jena.query.QueryExecutionFactory; -import com.hp.hpl.jena.query.QueryFactory; -import com.hp.hpl.jena.query.QuerySolution; -import com.hp.hpl.jena.query.ResultSet; -import com.hp.hpl.jena.query.ResultSetFactory; -import com.hp.hpl.jena.query.ResultSetFormatter; -import com.hp.hpl.jena.rdf.model.Model; -import com.hp.hpl.jena.rdf.model.ModelFactory; -import com.hp.hpl.jena.rdf.model.RDFNode; -import com.hp.hpl.jena.rdf.model.Resource; -import com.hp.hpl.jena.rdf.model.Statement; -import com.hp.hpl.jena.rdf.model.StmtIterator; -import com.hp.hpl.jena.sparql.core.Quad; - -import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset; -import edu.cornell.mannlib.vitro.webapp.dao.jena.SparqlGraph; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeListener; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet; -import edu.cornell.mannlib.vitro.webapp.rdfservice.ModelChange; -import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService; -import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.ChangeSetImpl; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceImpl; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceUtils; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.ListeningGraph; -import edu.cornell.mannlib.vitro.webapp.utils.sparql.ResultSetIterators.ResultSetQuadsIterator; -import edu.cornell.mannlib.vitro.webapp.utils.sparql.ResultSetIterators.ResultSetTriplesIterator; - -/* - * API to write, read, and update Vitro's RDF store, with support - * to allow listening, logging and auditing. - * - */ -public class RDFServiceSparql extends RDFServiceImpl implements RDFService { - - private static final Log log = LogFactory.getLog(RDFServiceImpl.class); - protected String readEndpointURI; - protected String updateEndpointURI; - protected DefaultHttpClient httpClient; - // the number of triples to be - private static final int CHUNK_SIZE = 1000; // added/removed in a single - // SPARQL UPDATE - - /** - * Returns an RDFService for a remote repository - * @param String - URI of the read SPARQL endpoint for the knowledge base - * @param String - URI of the update SPARQL endpoint for the knowledge base - * @param String - URI of the default write graph within the knowledge base. - * this is the graph that will be written to when a graph - * is not explicitly specified. - * - * The default read graph is the union of all graphs in the - * knowledge base - */ - public RDFServiceSparql(String readEndpointURI, String updateEndpointURI, String defaultWriteGraphURI) { - this.readEndpointURI = readEndpointURI; - this.updateEndpointURI = updateEndpointURI; - - PoolingClientConnectionManager cm = new PoolingClientConnectionManager(); - cm.setDefaultMaxPerRoute(50); - this.httpClient = new DefaultHttpClient(cm); - - testConnection(); - } - - private void testConnection() { - try { - this.sparqlSelectQuery( - "SELECT ?s WHERE { ?s a " + - " }", - RDFService.ResultFormat.JSON); - } catch (Exception e) { - throw new RuntimeException("Unable to connect to endpoint at " + - readEndpointURI, e); - } - } - - /** - * Returns an RDFService for a remote repository - * @param String - URI of the read SPARQL endpoint for the knowledge base - * @param String - URI of the update SPARQL endpoint for the knowledge base - * - * The default read graph is the union of all graphs in the - * knowledge base - */ - public RDFServiceSparql(String readEndpointURI, String updateEndpointURI) { - this(readEndpointURI, updateEndpointURI, null); - } - - /** - * Returns an RDFService for a remote repository - * @param String - URI of the read and update SPARQL endpoint for the knowledge base - * - * The default read graph is the union of all graphs in the - * knowledge base - */ - public RDFServiceSparql(String endpointURI) { - this(endpointURI, endpointURI, null); - } - - public void close() { - // nothing for now - } - - /** - * Perform a series of additions to and or removals from specified graphs - * in the RDF store. preConditionSparql will be executed against the - * union of all the graphs in the knowledge base before any updates are made. - * If the precondition query returns a non-empty result no updates - * will be made. - * - * @param ChangeSet - a set of changes to be performed on the RDF store. - * - * @return boolean - indicates whether the precondition was satisfied - */ - @Override - public boolean changeSetUpdate(ChangeSet changeSet) - throws RDFServiceException { - - if (changeSet.getPreconditionQuery() != null - && !isPreconditionSatisfied( - changeSet.getPreconditionQuery(), - changeSet.getPreconditionQueryType())) { - return false; - } - - try { - for (Object o : changeSet.getPreChangeEvents()) { - this.notifyListenersOfEvent(o); - } - - Iterator csIt = changeSet.getModelChanges().iterator(); - while (csIt.hasNext()) { - ModelChange modelChange = csIt.next(); - if (!modelChange.getSerializedModel().markSupported()) { - byte[] bytes = IOUtils.toByteArray(modelChange.getSerializedModel()); - modelChange.setSerializedModel(new ByteArrayInputStream(bytes)); - } - modelChange.getSerializedModel().mark(Integer.MAX_VALUE); - performChange(modelChange); - } - - // notify listeners of triple changes - csIt = changeSet.getModelChanges().iterator(); - while (csIt.hasNext()) { - ModelChange modelChange = csIt.next(); - modelChange.getSerializedModel().reset(); - Model model = ModelFactory.createModelForGraph( - new ListeningGraph(modelChange.getGraphURI(), this)); - if (modelChange.getOperation() == ModelChange.Operation.ADD) { - model.read(modelChange.getSerializedModel(), null, - getSerializationFormatString( - modelChange.getSerializationFormat())); - } else if (modelChange.getOperation() == ModelChange.Operation.REMOVE){ - Model temp = ModelFactory.createDefaultModel(); - temp.read(modelChange.getSerializedModel(), null, - getSerializationFormatString( - modelChange.getSerializationFormat())); - model.remove(temp); - } else { - log.error("Unsupported model change type " + - modelChange.getOperation().getClass().getName()); - } - } - - for (Object o : changeSet.getPostChangeEvents()) { - this.notifyListenersOfEvent(o); - } - - } catch (Exception e) { - log.error(e, e); - throw new RDFServiceException(e); - } - return true; - } - - /** - * Performs a SPARQL construct query against the knowledge base. The query may have - * an embedded graph identifier. - * - * @param String query - the SPARQL query to be executed against the RDF store - * @param RDFService.ModelSerializationFormat resultFormat - type of serialization for RDF result of the SPARQL query - * @param OutputStream outputStream - the result of the query - * - */ - @Override - public InputStream sparqlConstructQuery(String queryStr, - RDFServiceImpl.ModelSerializationFormat resultFormat) throws RDFServiceException { - - Model model = ModelFactory.createDefaultModel(); - Query query = createQuery(queryStr); - QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); - - try { - qe.execConstruct(model); - } catch (Exception e) { - log.error("Error executing CONSTRUCT against remote endpoint: " + queryStr); - } finally { - qe.close(); - } - - ByteArrayOutputStream serializedModel = new ByteArrayOutputStream(); - model.write(serializedModel,getSerializationFormatString(resultFormat)); - InputStream result = new ByteArrayInputStream(serializedModel.toByteArray()); - return result; - } - - public void sparqlConstructQuery(String queryStr, Model model) throws RDFServiceException { - - Query query = createQuery(queryStr); - QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); - - try { - qe.execConstruct(model); - } catch (Exception e) { - log.error("Error executing CONSTRUCT against remote endpoint: " + queryStr); - } finally { - qe.close(); - } - } - - /** - * Performs a SPARQL describe query against the knowledge base. The query may have - * an embedded graph identifier. - * - * @param String query - the SPARQL query to be executed against the RDF store - * @param RDFService.ModelSerializationFormat resultFormat - type of serialization for RDF result of the SPARQL query - * - * @return InputStream - the result of the query - * - */ - @Override - public InputStream sparqlDescribeQuery(String queryStr, - RDFServiceImpl.ModelSerializationFormat resultFormat) throws RDFServiceException { - - Model model = ModelFactory.createDefaultModel(); - Query query = createQuery(queryStr); - QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); - - try { - qe.execDescribe(model); - } finally { - qe.close(); - } - - ByteArrayOutputStream serializedModel = new ByteArrayOutputStream(); - model.write(serializedModel,getSerializationFormatString(resultFormat)); - InputStream result = new ByteArrayInputStream(serializedModel.toByteArray()); - return result; - } - - /** - * Performs a SPARQL select query against the knowledge base. The query may have - * an embedded graph identifier. - * - * @param String query - the SPARQL query to be executed against the RDF store - * @param RDFService.ResultFormat resultFormat - format for the result of the Select query - * - * @return InputStream - the result of the query - * - */ - @Override - public InputStream sparqlSelectQuery(String queryStr, RDFService.ResultFormat resultFormat) throws RDFServiceException { - - //QueryEngineHTTP qh = new QueryEngineHTTP(readEndpointURI, queryStr); - - try { - HttpGet meth = new HttpGet(new URIBuilder(readEndpointURI).addParameter("query", queryStr).build()); - meth.addHeader("Accept", "application/sparql-results+xml"); - HttpResponse response = httpClient.execute(meth); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode > 399) { - log.error("response " + statusCode + " to query. \n"); - log.debug("update string: \n" + queryStr); - throw new RDFServiceException("Unable to perform SPARQL UPDATE"); - } - - try (InputStream in = response.getEntity().getContent()) { - ResultSet resultSet = ResultSetFactory.fromXML(in); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - switch (resultFormat) { - case CSV: - ResultSetFormatter.outputAsCSV(outputStream, resultSet); - break; - case TEXT: - ResultSetFormatter.out(outputStream, resultSet); - break; - case JSON: - ResultSetFormatter.outputAsJSON(outputStream, resultSet); - break; - case XML: - ResultSetFormatter.outputAsXML(outputStream, resultSet); - break; - default: - throw new RDFServiceException("unrecognized result format"); - } - InputStream result = new ByteArrayInputStream( - outputStream.toByteArray()); - return result; - } - } catch (IOException ioe) { - throw new RuntimeException(ioe); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - } - - public void sparqlSelectQuery(String queryStr, ResultSetConsumer consumer) throws RDFServiceException { - - //QueryEngineHTTP qh = new QueryEngineHTTP(readEndpointURI, queryStr); - - try { - HttpGet meth = new HttpGet(new URIBuilder(readEndpointURI).addParameter("query", queryStr).build()); - meth.addHeader("Accept", "application/sparql-results+xml"); - HttpResponse response = httpClient.execute(meth); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode > 399) { - log.error("response " + statusCode + " to query. \n"); - log.debug("update string: \n" + queryStr); - throw new RDFServiceException("Unable to perform SPARQL UPDATE"); - } - - try (InputStream in = response.getEntity().getContent()) { - consumer.processResultSet(ResultSetFactory.fromXML(in)); - } - } catch (IOException ioe) { - throw new RuntimeException(ioe); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - } - - /** - * Performs a SPARQL ASK query against the knowledge base. The query may have - * an embedded graph identifier. - * - * @param String query - the SPARQL query to be executed against the RDF store - * - * @return boolean - the result of the SPARQL query - */ - @Override - public boolean sparqlAskQuery(String queryStr) throws RDFServiceException { - - Query query = createQuery(queryStr); - QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); - - try { - return qe.execAsk(); - } finally { - qe.close(); - } - } - - /** - * Get a list of all the graph URIs in the RDF store. - * - * @return List - list of all the graph URIs in the RDF store - */ - @Override - public List getGraphURIs() throws RDFServiceException { - return getGraphURIsFromSparqlQuery(); - } - - private List getGraphURIsFromSparqlQuery() throws RDFServiceException { - String fastJenaQuery = "SELECT DISTINCT ?g WHERE { GRAPH ?g {} } ORDER BY ?g"; - String standardQuery = "SELECT DISTINCT ?g WHERE { GRAPH ?g { ?s ?p ?o } } ORDER BY ?g"; - List graphURIs = new ArrayList(); - try { - graphURIs = getGraphURIsFromSparqlQuery(fastJenaQuery); - } catch (Exception e) { - log.debug("Unable to use non-standard ARQ query for graph list", e); - } - if (graphURIs.isEmpty()) { - graphURIs = getGraphURIsFromSparqlQuery(standardQuery); - } - return graphURIs; - } - - private List getGraphURIsFromSparqlQuery(String queryString) throws RDFServiceException { - final List graphURIs = new ArrayList(); - try { - sparqlSelectQuery(queryString, new ResultSetConsumer() { - @Override - protected void processQuerySolution(QuerySolution qs) { - if (qs != null) { // no idea how this happens, but it seems to - RDFNode n = qs.getResource("g"); - if (n != null && n.isResource()) { - graphURIs.add(((Resource) n).getURI()); - } - } - } - }); - } catch (Exception e) { - throw new RDFServiceException("Unable to list graph URIs", e); - } - return graphURIs; - } - - /** - * TODO - what is the definition of this method? - * @return - */ - @Override - public void getGraphMetadata() throws RDFServiceException { - - } - - /** - * Get the URI of the default write graph - * - * @return String URI of default write graph - */ - @Override - public String getDefaultWriteGraphURI() throws RDFServiceException { - return defaultWriteGraphURI; - } - - /** - * Register a listener to listen to changes in any graph in - * the RDF store. - * - */ - @Override - public synchronized void registerListener(ChangeListener changeListener) throws RDFServiceException { - - if (!registeredListeners.contains(changeListener)) { - registeredListeners.add(changeListener); - } - } - - /** - * Unregister a listener from listening to changes in any graph - * in the RDF store. - * - */ - @Override - public synchronized void unregisterListener(ChangeListener changeListener) throws RDFServiceException { - registeredListeners.remove(changeListener); - } - - /** - * Create a ChangeSet object - * - * @return a ChangeSet object - */ - @Override - public ChangeSet manufactureChangeSet() { - return new ChangeSetImpl(); - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Non-override methods below - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - protected String getReadEndpointURI() { - return readEndpointURI; - } - - protected String getUpdateEndpointURI() { - return updateEndpointURI; - } - - protected void executeUpdate(String updateString) throws RDFServiceException { - try { - HttpPost meth = new HttpPost(updateEndpointURI); - meth.addHeader("Content-Type", "application/x-www-form-urlencoded"); - meth.setEntity(new UrlEncodedFormEntity(Arrays.asList(new BasicNameValuePair("update", updateString)))); - HttpResponse response = httpClient.execute(meth); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode > 399) { - log.error("response " + response.getStatusLine() + " to update. \n"); - //log.debug("update string: \n" + updateString); - throw new RDFServiceException("Unable to perform SPARQL UPDATE"); - } - } catch (Exception e) { - throw new RDFServiceException("Unable to perform change set update", e); - } - } - - public void addModel(Model model, String graphURI) throws RDFServiceException { - verbModel(model, graphURI, "INSERT"); - } - - public void deleteModel(Model model, String graphURI) throws RDFServiceException { - verbModel(model, graphURI, "DELETE"); - } - - private void verbModel(Model model, String graphURI, String verb) throws RDFServiceException { - Model m = ModelFactory.createDefaultModel(); - StmtIterator stmtIt = model.listStatements(); - int count = 0; - try { - while (stmtIt.hasNext()) { - count++; - m.add(stmtIt.nextStatement()); - if (count % CHUNK_SIZE == 0 || !stmtIt.hasNext()) { - StringWriter sw = new StringWriter(); - m.write(sw, "N-TRIPLE"); - StringBuffer updateStringBuff = new StringBuffer(); - updateStringBuff.append(verb + " DATA { " + ((graphURI != null) ? "GRAPH <" + graphURI + "> { " : "" )); - updateStringBuff.append(sw); - updateStringBuff.append(((graphURI != null) ? " } " : "") + " }"); - - String updateString = updateStringBuff.toString(); - - executeUpdate(updateString); - - m.removeAll(); - } - } - } finally { - stmtIt.close(); - } - } - - protected void addTriple(Triple t, String graphURI) throws RDFServiceException { - - StringBuffer updateString = new StringBuffer(); - updateString.append("INSERT DATA { "); - updateString.append((graphURI != null) ? "GRAPH <" + graphURI + "> { " : "" ); - updateString.append(sparqlNodeUpdate(t.getSubject(), "")); - updateString.append(" "); - updateString.append(sparqlNodeUpdate(t.getPredicate(), "")); - updateString.append(" "); - updateString.append(sparqlNodeUpdate(t.getObject(), "")); - updateString.append(" }"); - updateString.append((graphURI != null) ? " } " : ""); - - executeUpdate(updateString.toString()); - notifyListeners(t, ModelChange.Operation.ADD, graphURI); - } - - protected void removeTriple(Triple t, String graphURI) throws RDFServiceException { - - StringBuffer updateString = new StringBuffer(); - updateString.append("DELETE DATA { "); - updateString.append((graphURI != null) ? "GRAPH <" + graphURI + "> { " : "" ); - updateString.append(sparqlNodeUpdate(t.getSubject(), "")); - updateString.append(" "); - updateString.append(sparqlNodeUpdate(t.getPredicate(), "")); - updateString.append(" "); - updateString.append(sparqlNodeUpdate(t.getObject(), "")); - updateString.append(" }"); - updateString.append((graphURI != null) ? " } " : ""); - - executeUpdate(updateString.toString()); - notifyListeners(t, ModelChange.Operation.REMOVE, graphURI); - } - - @Override - protected boolean isPreconditionSatisfied(String query, - RDFService.SPARQLQueryType queryType) - throws RDFServiceException { - Model model = ModelFactory.createDefaultModel(); - - switch (queryType) { - case DESCRIBE: - model.read(sparqlDescribeQuery(query,RDFService.ModelSerializationFormat.N3), null); - return !model.isEmpty(); - case CONSTRUCT: - model.read(sparqlConstructQuery(query,RDFService.ModelSerializationFormat.N3), null); - return !model.isEmpty(); - case SELECT: - return sparqlSelectQueryHasResults(query); - case ASK: - return sparqlAskQuery(query); - default: - throw new RDFServiceException("unrecognized SPARQL query type"); - } - } - - @Override - protected boolean sparqlSelectQueryHasResults(String queryStr) throws RDFServiceException { - - Query query = createQuery(queryStr); - QueryExecution qe = QueryExecutionFactory.sparqlService(readEndpointURI, query); - - try { - ResultSet resultSet = qe.execSelect(); - return resultSet.hasNext(); - } finally { - qe.close(); - } - } - - private void performChange(ModelChange modelChange) throws RDFServiceException { - Model model = parseModel(modelChange); - Model[] separatedModel = separateStatementsWithBlankNodes(model); - if (modelChange.getOperation() == ModelChange.Operation.ADD) { - addModel(separatedModel[1], modelChange.getGraphURI()); - addBlankNodesWithSparqlUpdate(separatedModel[0], modelChange.getGraphURI()); - } else if (modelChange.getOperation() == ModelChange.Operation.REMOVE) { - deleteModel(separatedModel[1], modelChange.getGraphURI()); - removeBlankNodesWithSparqlUpdate(separatedModel[0], modelChange.getGraphURI()); - } else { - log.error("unrecognized operation type"); - } - } - - private void addBlankNodesWithSparqlUpdate(Model model, String graphURI) - throws RDFServiceException { - updateBlankNodesWithSparqlUpdate(model, graphURI, ADD); - } - - private void removeBlankNodesWithSparqlUpdate(Model model, String graphURI) - throws RDFServiceException { - updateBlankNodesWithSparqlUpdate(model, graphURI, REMOVE); - } - - private static final boolean ADD = true; - private static final boolean REMOVE = false; - - private void updateBlankNodesWithSparqlUpdate(Model model, String graphURI, boolean add) - throws RDFServiceException { - List blankNodeStatements = new ArrayList(); - StmtIterator stmtIt = model.listStatements(); - while (stmtIt.hasNext()) { - Statement stmt = stmtIt.nextStatement(); - if (stmt.getSubject().isAnon() || stmt.getObject().isAnon()) { - blankNodeStatements.add(stmt); - } - } - - if(blankNodeStatements.size() == 0) { - return; - } - - Model blankNodeModel = ModelFactory.createDefaultModel(); - blankNodeModel.add(blankNodeStatements); - - log.debug("update model size " + model.size()); - log.debug("blank node model size " + blankNodeModel.size()); - - if (!add && blankNodeModel.size() == 1) { - log.warn("Deleting single triple with blank node: " + blankNodeModel); - log.warn("This likely indicates a problem; excessive data may be deleted."); - } - - Query rootFinderQuery = QueryFactory.create(BNODE_ROOT_QUERY); - QueryExecution qe = QueryExecutionFactory.create(rootFinderQuery, blankNodeModel); - try { - ResultSet rs = qe.execSelect(); - while (rs.hasNext()) { - QuerySolution qs = rs.next(); - com.hp.hpl.jena.rdf.model.Resource s = qs.getResource("s"); - String treeFinder = makeDescribe(s); - Query treeFinderQuery = QueryFactory.create(treeFinder); - QueryExecution qee = QueryExecutionFactory.create(treeFinderQuery, blankNodeModel); - try { - Model tree = qee.execDescribe(); - if (s.isAnon()) { - if (add) { - addModel(tree, graphURI); - } else { - removeUsingSparqlUpdate(tree, graphURI); - } - } else { - StmtIterator sit = tree.listStatements(s, null, (RDFNode) null); - while (sit.hasNext()) { - Statement stmt = sit.nextStatement(); - RDFNode n = stmt.getObject(); - Model m2 = ModelFactory.createDefaultModel(); - if (n.isResource()) { - com.hp.hpl.jena.rdf.model.Resource s2 = - (com.hp.hpl.jena.rdf.model.Resource) n; - // now run yet another describe query - String smallerTree = makeDescribe(s2); - Query smallerTreeQuery = QueryFactory.create(smallerTree); - QueryExecution qe3 = QueryExecutionFactory.create( - smallerTreeQuery, tree); - try { - qe3.execDescribe(m2); - } finally { - qe3.close(); - } - } - m2.add(stmt); - if (add) { - addModel(m2, graphURI); - } else { - removeUsingSparqlUpdate(m2, graphURI); - } - } - } - } finally { - qee.close(); - } - } - } finally { - qe.close(); - } - } - - private void removeUsingSparqlUpdate(Model model, String graphURI) - throws RDFServiceException { - - StmtIterator stmtIt = model.listStatements(); - - if (!stmtIt.hasNext()) { - stmtIt.close(); - return; - } - - StringBuffer queryBuff = new StringBuffer(); - queryBuff.append("DELETE { \n"); - if (graphURI != null) { - queryBuff.append(" GRAPH <" + graphURI + "> { \n"); - } - List stmts = stmtIt.toList(); - sort(stmts); - addStatementPatterns(stmts, queryBuff, !WHERE_CLAUSE); - if (graphURI != null) { - queryBuff.append(" } \n"); - } - queryBuff.append("} WHERE { \n"); - if (graphURI != null) { - queryBuff.append(" GRAPH <" + graphURI + "> { \n"); - } - stmtIt = model.listStatements(); - stmts = stmtIt.toList(); - sort(stmts); - addStatementPatterns(stmts, queryBuff, WHERE_CLAUSE); - if (graphURI != null) { - queryBuff.append(" } \n"); - } - queryBuff.append("} \n"); - - if(log.isDebugEnabled()) { - log.debug(queryBuff.toString()); - } - executeUpdate(queryBuff.toString()); - } - - private List sort(List stmts) { - List output = new ArrayList(); - int originalSize = stmts.size(); - if (originalSize == 1) - return stmts; - List remaining = stmts; - ConcurrentLinkedQueue subjQueue = - new ConcurrentLinkedQueue(); - for(Statement stmt : remaining) { - if(stmt.getSubject().isURIResource()) { - subjQueue.add(stmt.getSubject()); - break; - } - } - if (subjQueue.isEmpty()) { - throw new RuntimeException("No named subject in statement patterns"); - } - while(remaining.size() > 0) { - if(subjQueue.isEmpty()) { - subjQueue.add(remaining.get(0).getSubject()); - } - while(!subjQueue.isEmpty()) { - com.hp.hpl.jena.rdf.model.Resource subj = subjQueue.poll(); - List temp = new ArrayList(); - for (Statement stmt : remaining) { - if(stmt.getSubject().equals(subj)) { - output.add(stmt); - if (stmt.getObject().isResource()) { - subjQueue.add((com.hp.hpl.jena.rdf.model.Resource) stmt.getObject()); - } - } else { - temp.add(stmt); - } - } - remaining = temp; - } - } - if(output.size() != originalSize) { - throw new RuntimeException("original list size was " + originalSize + - " but sorted size is " + output.size()); - } - return output; - } - - private static final boolean WHERE_CLAUSE = true; - - private void addStatementPatterns(List stmts, StringBuffer patternBuff, boolean whereClause) { - for(Statement stmt : stmts) { - Triple t = stmt.asTriple(); - patternBuff.append(SparqlGraph.sparqlNodeDelete(t.getSubject(), null)); - patternBuff.append(" "); - patternBuff.append(SparqlGraph.sparqlNodeDelete(t.getPredicate(), null)); - patternBuff.append(" "); - patternBuff.append(SparqlGraph.sparqlNodeDelete(t.getObject(), null)); - patternBuff.append(" .\n"); - if (whereClause) { - if (t.getSubject().isBlank()) { - patternBuff.append(" FILTER(isBlank(" + SparqlGraph.sparqlNodeDelete(t.getSubject(), null)).append(")) \n"); - } - if (t.getObject().isBlank()) { - patternBuff.append(" FILTER(isBlank(" + SparqlGraph.sparqlNodeDelete(t.getObject(), null)).append(")) \n"); - } - } - } - } - - private String makeDescribe(com.hp.hpl.jena.rdf.model.Resource s) { - StringBuffer query = new StringBuffer("DESCRIBE <") ; - if (s.isAnon()) { - query.append("_:" + s.getId().toString()); - } else { - query.append(s.getURI()); - } - query.append(">"); - return query.toString(); - } - - private Model parseModel(ModelChange modelChange) { - Model model = ModelFactory.createDefaultModel(); - model.read(modelChange.getSerializedModel(), null, - getSerializationFormatString(modelChange.getSerializationFormat())); - return model; - } - - @Override - public void serializeAll(OutputStream outputStream) - throws RDFServiceException { - String query = "SELECT * WHERE { GRAPH ?g {?s ?p ?o}}"; - serialize(outputStream, query); - } - - @Override - public void serializeGraph(String graphURI, OutputStream outputStream) - throws RDFServiceException { - String query = "SELECT * WHERE { GRAPH <" + graphURI + "> {?s ?p ?o}}"; - serialize(outputStream, query); - } - - private void serialize(OutputStream outputStream, String query) throws RDFServiceException { - InputStream resultStream = sparqlSelectQuery(query, RDFService.ResultFormat.JSON); - ResultSet resultSet = ResultSetFactory.fromJSON(resultStream); - if (resultSet.getResultVars().contains("g")) { - Iterator quads = new ResultSetQuadsIterator(resultSet); - RDFDataMgr.writeQuads(outputStream, quads); - } else { - Iterator triples = new ResultSetTriplesIterator(resultSet); - RDFDataMgr.writeTriples(outputStream, triples); - } - } - - /** - * The basic version. Parse the model from the file, read the model from the - * tripleStore, and ask whether they are isomorphic. - */ - @Override - public boolean isEquivalentGraph(String graphURI, InputStream serializedGraph, - ModelSerializationFormat serializationFormat) throws RDFServiceException { - Model fileModel = RDFServiceUtils.parseModel(serializedGraph, serializationFormat); - Model tripleStoreModel = new RDFServiceDataset(this).getNamedModel(graphURI); - Model fromTripleStoreModel = ModelFactory.createDefaultModel().add(tripleStoreModel); - return fileModel.isIsomorphicWith(fromTripleStoreModel); - } - -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java deleted file mode 100644 index 555390d0f..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/virtuoso/RDFServiceVirtuoso.java +++ /dev/null @@ -1,179 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.rdfservice.impl.virtuoso; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.http.HttpResponse; -import org.apache.http.auth.AuthScope; -import org.apache.http.auth.UsernamePasswordCredentials; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.protocol.ClientContext; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.BasicCredentialsProvider; -import org.apache.http.protocol.BasicHttpContext; -import org.apache.http.protocol.HttpContext; - -import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; -import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.sparql.RDFServiceSparql; - -/** - * For now, at least, it is just like an RDFServiceSparql except: - * - * A username and password are required. These should refer to a Virtuoso user - * that posesses the SPARQL_UPDATE role. - * - * The endpoint URI and the update endpoint URI are derived from the base URI. - * You provide: http://localhost:8890 - * endpoint is: http://localhost:8890/sparql/ - * update is: http://localhost:8890/DAV/home/username/rdf_sink/vitro_update - * - * A change in the syntax of an UPDATE request: "INSERT DATA" becomes "INSERT". - * This fixes a problem with inserting blank nodes. - * - * The HTTP request is equipped with the username and password, to answer a - * challenge for basic authentication. - * - * Allow for the nonNegativeInteger bug when checking to see whether a graph has - * changed. - */ -public class RDFServiceVirtuoso extends RDFServiceSparql { - private static final Log log = LogFactory.getLog(RDFServiceVirtuoso.class); - - private final String username; - private final String password; - - public RDFServiceVirtuoso(String baseURI, String username, String password) { - super(figureReadEndpointUri(baseURI), figureUpdateEndpointUri(baseURI, - username)); - this.username = username; - this.password = password; - } - - private static String figureReadEndpointUri(String baseUri) { - return noTrailingSlash(baseUri) + "/sparql/"; - } - - private static String figureUpdateEndpointUri(String baseUri, - String username) { - return noTrailingSlash(baseUri) + "/DAV/home/" + username - + "/rdf_sink/vitro_update"; - } - - private static String noTrailingSlash(String uri) { - return uri.endsWith("/") ? uri.substring(0, uri.length() - 1) : uri; - } - - @Override - protected void executeUpdate(String updateString) - throws RDFServiceException { - updateString = tweakUpdateStringSyntax(updateString); - log.debug("UPDATE STRING: " + updateString); - - try { - HttpResponse response = httpClient.execute( - createHttpRequest(updateString), createHttpContext()); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode > 399) { - log.error("response " + response.getStatusLine() - + " to update. \n"); - - try (InputStream content = response.getEntity().getContent()) { - for (String line : IOUtils.readLines(content)) { - log.error("response-line >>" + line); - } - } - - throw new RDFServiceException( - "Unable to perform SPARQL UPDATE: status code = " - + statusCode); - } - } catch (Exception e) { - log.error("Failed to update: " + updateString, e); - throw new RDFServiceException( - "Unable to perform change set update", e); - } - } - - private String tweakUpdateStringSyntax(String updateString) { - if (updateString.startsWith("INSERT DATA")) { - return updateString.replaceFirst("INSERT DATA", "INSERT"); - } - return updateString; - } - - // TODO entity.setContentType("application/sparql-query"); - private HttpPost createHttpRequest(String updateString) { - HttpPost meth = new HttpPost(updateEndpointURI); - meth.addHeader("Content-Type", "application/sparql-query"); - try { - meth.setEntity(new StringEntity(updateString, "UTF-8")); - } catch (UnsupportedEncodingException e) { - // UTF-8 is unsupported? - throw new RuntimeException(e); - } - return meth; - } - - /** - * We need an HttpContext that will provide username and password in - * response to a basic authentication challenge. - */ - private HttpContext createHttpContext() { - CredentialsProvider provider = new BasicCredentialsProvider(); - provider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials( - username, password)); - - BasicHttpContext context = new BasicHttpContext(); - context.setAttribute(ClientContext.CREDS_PROVIDER, provider); - return context; - } - - /** - * Virtuoso has a bug which it shares with TDB: if given a literal of type - * xsd:nonNegativeInteger, it stores a literal of type xsd:integer. - * - * To determine whether this serialized graph is equivalent to what is - * already in Virtuoso, we need to do the same. - */ - @Override - public boolean isEquivalentGraph(String graphURI, - InputStream serializedGraph, - ModelSerializationFormat serializationFormat) - throws RDFServiceException { - return super.isEquivalentGraph(graphURI, - adjustForNonNegativeIntegers(serializedGraph), - serializationFormat); - } - - /** - * Convert all of the references to "nonNegativeInteger" to "integer" in - * this serialized graph. - * - * This isn't rigorous: it could fail if another property contained the text - * "nonNegativeInteger" in its name, or if that text were used as part of a - * string literal. If that happens before this Virtuoso bug is fixed, we'll - * need to improve this method. - * - * It also isn't scalable: if we wanted real scalability, we would write to - * a temporary file as we converted. - */ - private InputStream adjustForNonNegativeIntegers(InputStream serializedGraph) - throws RDFServiceException { - try { - String raw = IOUtils.toString(serializedGraph, "UTF-8"); - String modified = raw.replace("nonNegativeInteger", "integer"); - return new ByteArrayInputStream(modified.getBytes("UTF-8")); - } catch (IOException e) { - throw new RDFServiceException(e); - } - } - -} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/SelectDataGetterUtils.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/SelectDataGetterUtils.java deleted file mode 100644 index c14326c6d..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/utils/menuManagement/SelectDataGetterUtils.java +++ /dev/null @@ -1,74 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.utils.menuManagement; - -import java.util.Map; - -import javax.servlet.ServletContext; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.hp.hpl.jena.rdf.model.Model; -import com.hp.hpl.jena.rdf.model.ModelFactory; -import com.hp.hpl.jena.rdf.model.Resource; - -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.utils.dataGetter.ClassGroupPageData; -import edu.cornell.mannlib.vitro.webapp.utils.dataGetter.IndividualsForClassesDataGetter; - -/* - * This class includes methods that help in selecting a data getter based on - * parameters, and VIVO will have its own version or extend this - */ -public class SelectDataGetterUtils { - private static final Log log = LogFactory.getLog(SelectDataGetterUtils.class); - - /**Get data for an existing page and set variables for the template accordingly**/ - - - public static void processAndRetrieveData(VitroRequest vreq, ServletContext context, Map pageData, String dataGetterClass, Map templateData) { - //The type of the data getter will show how to process the data from the data getter - ProcessDataGetter processor = selectProcessor(dataGetterClass); - processor.populateTemplate(vreq, pageData, templateData); - } - - //This will be different in VIVO than in VITRO - private static ProcessDataGetter selectProcessor(String dataGetterClass) { - if(dataGetterClass.equals(ClassGroupPageData.class.getName())) { - return new ProcessClassGroup(); - } else if(dataGetterClass.equals(IndividualsForClassesDataGetter.class.getName())) { - //below should be for vitro specific version - return new ProcessIndividualsForClasses(); - } - return null; - } - - - - - /**Process parameters from form and select appropriate data getter on this basis **/ - public static Model createDataGetterModel(VitroRequest vreq, Resource dataGetterResource) { - Model dataGetterModel = null; - if(dataGetterResource != null) { - //If "All selected" then use class group else use individuals for classes - dataGetterModel = ModelFactory.createDefaultModel(); - - ProcessIndividualsForClasses individualsProcess = new ProcessIndividualsForClasses(); - - ProcessClassGroup classGroupProcess = new ProcessClassGroup(); - if(individualsProcess.useProcessor(vreq)) { - dataGetterModel = individualsProcess.processSubmission(vreq, dataGetterResource); - } else { - dataGetterModel = classGroupProcess.processSubmission(vreq, dataGetterResource); - } - - - } else { - log.error("Data getter is null "); - } - return dataGetterModel; - - } - -} \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java deleted file mode 100644 index 01204ad00..000000000 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java +++ /dev/null @@ -1,19 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.web.templatemodels.searchresult; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import edu.cornell.mannlib.vitro.webapp.beans.Individual; -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; - -public class IndividualSearchResult extends BaseIndividualSearchResult { - - private static final Log log = LogFactory.getLog(IndividualSearchResult.class); - - public IndividualSearchResult(Individual individual, VitroRequest vreq) { - super(individual, vreq); - } - -} \ No newline at end of file diff --git a/webapp/src/main/webResources/WEB-INF/resources/revisionInfo.txt b/webapp/src/main/webResources/WEB-INF/resources/revisionInfo.txt new file mode 100644 index 000000000..6221cbb37 --- /dev/null +++ b/webapp/src/main/webResources/WEB-INF/resources/revisionInfo.txt @@ -0,0 +1,2 @@ +${build.timestamp} +Vitro ~ ${project.version} ~ ${buildNumber} \ No newline at end of file diff --git a/webapp/web/WEB-INF/dwr.xml b/webapp/src/main/webapp/WEB-INF/dwr.xml similarity index 100% rename from webapp/web/WEB-INF/dwr.xml rename to webapp/src/main/webapp/WEB-INF/dwr.xml diff --git a/webapp/web/WEB-INF/resources/shortview_config.n3 b/webapp/src/main/webapp/WEB-INF/resources/shortview_config.n3 similarity index 100% rename from webapp/web/WEB-INF/resources/shortview_config.n3 rename to webapp/src/main/webapp/WEB-INF/resources/shortview_config.n3 diff --git a/webapp/web/WEB-INF/resources/startup_listeners.txt b/webapp/src/main/webapp/WEB-INF/resources/startup_listeners.txt similarity index 100% rename from webapp/web/WEB-INF/resources/startup_listeners.txt rename to webapp/src/main/webapp/WEB-INF/resources/startup_listeners.txt diff --git a/webapp/web/WEB-INF/tlds/ListSparqlTag.tld b/webapp/src/main/webapp/WEB-INF/tlds/ListSparqlTag.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/ListSparqlTag.tld rename to webapp/src/main/webapp/WEB-INF/tlds/ListSparqlTag.tld diff --git a/webapp/web/WEB-INF/tlds/StringProcessorTag.tld b/webapp/src/main/webapp/WEB-INF/tlds/StringProcessorTag.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/StringProcessorTag.tld rename to webapp/src/main/webapp/WEB-INF/tlds/StringProcessorTag.tld diff --git a/webapp/web/WEB-INF/tlds/VitroUtils.tld b/webapp/src/main/webapp/WEB-INF/tlds/VitroUtils.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/VitroUtils.tld rename to webapp/src/main/webapp/WEB-INF/tlds/VitroUtils.tld diff --git a/webapp/web/WEB-INF/tlds/c.tld b/webapp/src/main/webapp/WEB-INF/tlds/c.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/c.tld rename to webapp/src/main/webapp/WEB-INF/tlds/c.tld diff --git a/webapp/web/WEB-INF/tlds/database.tld b/webapp/src/main/webapp/WEB-INF/tlds/database.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/database.tld rename to webapp/src/main/webapp/WEB-INF/tlds/database.tld diff --git a/webapp/web/WEB-INF/tlds/fn.tld b/webapp/src/main/webapp/WEB-INF/tlds/fn.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/fn.tld rename to webapp/src/main/webapp/WEB-INF/tlds/fn.tld diff --git a/webapp/web/WEB-INF/tlds/form.tld b/webapp/src/main/webapp/WEB-INF/tlds/form.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/form.tld rename to webapp/src/main/webapp/WEB-INF/tlds/form.tld diff --git a/webapp/web/WEB-INF/tlds/sparqltag.tld b/webapp/src/main/webapp/WEB-INF/tlds/sparqltag.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/sparqltag.tld rename to webapp/src/main/webapp/WEB-INF/tlds/sparqltag.tld diff --git a/webapp/web/WEB-INF/tlds/taglibs-mailer.tld b/webapp/src/main/webapp/WEB-INF/tlds/taglibs-mailer.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/taglibs-mailer.tld rename to webapp/src/main/webapp/WEB-INF/tlds/taglibs-mailer.tld diff --git a/webapp/web/WEB-INF/tlds/taglibs-random.tld b/webapp/src/main/webapp/WEB-INF/tlds/taglibs-random.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/taglibs-random.tld rename to webapp/src/main/webapp/WEB-INF/tlds/taglibs-random.tld diff --git a/webapp/web/WEB-INF/tlds/taglibs-string.tld b/webapp/src/main/webapp/WEB-INF/tlds/taglibs-string.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/taglibs-string.tld rename to webapp/src/main/webapp/WEB-INF/tlds/taglibs-string.tld diff --git a/webapp/web/WEB-INF/tlds/vitroForm.tld b/webapp/src/main/webapp/WEB-INF/tlds/vitroForm.tld similarity index 100% rename from webapp/web/WEB-INF/tlds/vitroForm.tld rename to webapp/src/main/webapp/WEB-INF/tlds/vitroForm.tld diff --git a/webapp/web/WEB-INF/web.xml b/webapp/src/main/webapp/WEB-INF/web.xml similarity index 99% rename from webapp/web/WEB-INF/web.xml rename to webapp/src/main/webapp/WEB-INF/web.xml index 720b72fb1..11f8dd3dd 100644 --- a/webapp/web/WEB-INF/web.xml +++ b/webapp/src/main/webapp/WEB-INF/web.xml @@ -45,8 +45,13 @@ edu.cornell.mannlib.vitro.webapp.startup.StartupManager - - + + + + ImageIO service provider loader/unloader + com.twelvemonkeys.servlet.image.IIOProviderContextListener + + diff --git a/webapp/web/admin/conceptRepair.jsp b/webapp/src/main/webapp/admin/conceptRepair.jsp similarity index 100% rename from webapp/web/admin/conceptRepair.jsp rename to webapp/src/main/webapp/admin/conceptRepair.jsp diff --git a/webapp/web/admin/gotoIndividual.jsp b/webapp/src/main/webapp/admin/gotoIndividual.jsp similarity index 100% rename from webapp/web/admin/gotoIndividual.jsp rename to webapp/src/main/webapp/admin/gotoIndividual.jsp diff --git a/webapp/web/admin/log4j.jsp b/webapp/src/main/webapp/admin/log4j.jsp similarity index 100% rename from webapp/web/admin/log4j.jsp rename to webapp/src/main/webapp/admin/log4j.jsp diff --git a/webapp/web/admin/removeBadRestrictions.jsp b/webapp/src/main/webapp/admin/removeBadRestrictions.jsp similarity index 100% rename from webapp/web/admin/removeBadRestrictions.jsp rename to webapp/src/main/webapp/admin/removeBadRestrictions.jsp diff --git a/webapp/web/admin/removeResourceDescription.jsp b/webapp/src/main/webapp/admin/removeResourceDescription.jsp similarity index 100% rename from webapp/web/admin/removeResourceDescription.jsp rename to webapp/src/main/webapp/admin/removeResourceDescription.jsp diff --git a/webapp/web/admin/sparql.jsp b/webapp/src/main/webapp/admin/sparql.jsp similarity index 100% rename from webapp/web/admin/sparql.jsp rename to webapp/src/main/webapp/admin/sparql.jsp diff --git a/webapp/web/config/listViewConfig-dataDefault.xml b/webapp/src/main/webapp/config/listViewConfig-dataDefault.xml similarity index 100% rename from webapp/web/config/listViewConfig-dataDefault.xml rename to webapp/src/main/webapp/config/listViewConfig-dataDefault.xml diff --git a/webapp/web/config/listViewConfig-default.xml b/webapp/src/main/webapp/config/listViewConfig-default.xml similarity index 100% rename from webapp/web/config/listViewConfig-default.xml rename to webapp/src/main/webapp/config/listViewConfig-default.xml diff --git a/webapp/web/config/listViewConfig-hasElement.xml b/webapp/src/main/webapp/config/listViewConfig-hasElement.xml similarity index 100% rename from webapp/web/config/listViewConfig-hasElement.xml rename to webapp/src/main/webapp/config/listViewConfig-hasElement.xml diff --git a/webapp/web/css/account/account.css b/webapp/src/main/webapp/css/account/account.css similarity index 100% rename from webapp/web/css/account/account.css rename to webapp/src/main/webapp/css/account/account.css diff --git a/webapp/web/css/admin.css b/webapp/src/main/webapp/css/admin.css similarity index 100% rename from webapp/web/css/admin.css rename to webapp/src/main/webapp/css/admin.css diff --git a/webapp/web/css/browseClassGroups.css b/webapp/src/main/webapp/css/browseClassGroups.css similarity index 100% rename from webapp/web/css/browseClassGroups.css rename to webapp/src/main/webapp/css/browseClassGroups.css diff --git a/webapp/web/css/browseIndex.css b/webapp/src/main/webapp/css/browseIndex.css similarity index 100% rename from webapp/web/css/browseIndex.css rename to webapp/src/main/webapp/css/browseIndex.css diff --git a/webapp/web/css/classHierarchy.css b/webapp/src/main/webapp/css/classHierarchy.css similarity index 100% rename from webapp/web/css/classHierarchy.css rename to webapp/src/main/webapp/css/classHierarchy.css diff --git a/webapp/web/css/developer/developerPanel.css b/webapp/src/main/webapp/css/developer/developerPanel.css similarity index 100% rename from webapp/web/css/developer/developerPanel.css rename to webapp/src/main/webapp/css/developer/developerPanel.css diff --git a/webapp/web/css/dump.css b/webapp/src/main/webapp/css/dump.css similarity index 100% rename from webapp/web/css/dump.css rename to webapp/src/main/webapp/css/dump.css diff --git a/webapp/web/css/edit.css b/webapp/src/main/webapp/css/edit.css similarity index 98% rename from webapp/web/css/edit.css rename to webapp/src/main/webapp/css/edit.css index 27e28f392..106b8cd4d 100644 --- a/webapp/web/css/edit.css +++ b/webapp/src/main/webapp/css/edit.css @@ -12,10 +12,12 @@ div.sparqlform label { input.block { display: block; } -textarea, -div.sparqlform div { +textarea { margin-bottom: 1.5em; } +div.sparqlform div.options, div.sparqlform input.submit { + margin-top: 1.5em; +} form { padding-bottom: 20px; } @@ -336,4 +338,4 @@ div.adr { font-size: .8em; line-height: 1.3em; color: #7f8993; -} \ No newline at end of file +} diff --git a/webapp/web/css/individual/individual-property-groups.css b/webapp/src/main/webapp/css/individual/individual-property-groups.css similarity index 100% rename from webapp/web/css/individual/individual-property-groups.css rename to webapp/src/main/webapp/css/individual/individual-property-groups.css diff --git a/webapp/web/css/individual/individual.css b/webapp/src/main/webapp/css/individual/individual.css similarity index 100% rename from webapp/web/css/individual/individual.css rename to webapp/src/main/webapp/css/individual/individual.css diff --git a/webapp/web/css/individual/menuManagement-menuItems.css b/webapp/src/main/webapp/css/individual/menuManagement-menuItems.css similarity index 100% rename from webapp/web/css/individual/menuManagement-menuItems.css rename to webapp/src/main/webapp/css/individual/menuManagement-menuItems.css diff --git a/webapp/web/css/jquery_plugins/jquery.realperson.css b/webapp/src/main/webapp/css/jquery_plugins/jquery.realperson.css similarity index 100% rename from webapp/web/css/jquery_plugins/jquery.realperson.css rename to webapp/src/main/webapp/css/jquery_plugins/jquery.realperson.css diff --git a/webapp/web/css/login.css b/webapp/src/main/webapp/css/login.css similarity index 100% rename from webapp/web/css/login.css rename to webapp/src/main/webapp/css/login.css diff --git a/webapp/web/css/menupage/menuManagement.css b/webapp/src/main/webapp/css/menupage/menuManagement.css similarity index 100% rename from webapp/web/css/menupage/menuManagement.css rename to webapp/src/main/webapp/css/menupage/menuManagement.css diff --git a/webapp/web/css/menupage/menupage.css b/webapp/src/main/webapp/css/menupage/menupage.css similarity index 100% rename from webapp/web/css/menupage/menupage.css rename to webapp/src/main/webapp/css/menupage/menupage.css diff --git a/webapp/web/css/menupage/pageList.css b/webapp/src/main/webapp/css/menupage/pageList.css similarity index 100% rename from webapp/web/css/menupage/pageList.css rename to webapp/src/main/webapp/css/menupage/pageList.css diff --git a/webapp/web/css/menupage/pageManagement.css b/webapp/src/main/webapp/css/menupage/pageManagement.css similarity index 100% rename from webapp/web/css/menupage/pageManagement.css rename to webapp/src/main/webapp/css/menupage/pageManagement.css diff --git a/webapp/web/css/menupage/sparqlresults.css b/webapp/src/main/webapp/css/menupage/sparqlresults.css similarity index 100% rename from webapp/web/css/menupage/sparqlresults.css rename to webapp/src/main/webapp/css/menupage/sparqlresults.css diff --git a/webapp/web/css/revision.css b/webapp/src/main/webapp/css/revision.css similarity index 100% rename from webapp/web/css/revision.css rename to webapp/src/main/webapp/css/revision.css diff --git a/webapp/web/css/search.css b/webapp/src/main/webapp/css/search.css similarity index 100% rename from webapp/web/css/search.css rename to webapp/src/main/webapp/css/search.css diff --git a/webapp/web/css/search/searchIndex.css b/webapp/src/main/webapp/css/search/searchIndex.css similarity index 100% rename from webapp/web/css/search/searchIndex.css rename to webapp/src/main/webapp/css/search/searchIndex.css diff --git a/webapp/web/css/showAuth.css b/webapp/src/main/webapp/css/showAuth.css similarity index 100% rename from webapp/web/css/showAuth.css rename to webapp/src/main/webapp/css/showAuth.css diff --git a/webapp/web/css/showSources.css b/webapp/src/main/webapp/css/showSources.css similarity index 100% rename from webapp/web/css/showSources.css rename to webapp/src/main/webapp/css/showSources.css diff --git a/webapp/web/css/startupStatus.css b/webapp/src/main/webapp/css/startupStatus.css similarity index 100% rename from webapp/web/css/startupStatus.css rename to webapp/src/main/webapp/css/startupStatus.css diff --git a/webapp/web/css/uploadImages.css b/webapp/src/main/webapp/css/uploadImages.css similarity index 100% rename from webapp/web/css/uploadImages.css rename to webapp/src/main/webapp/css/uploadImages.css diff --git a/webapp/web/css/vitro.css b/webapp/src/main/webapp/css/vitro.css similarity index 100% rename from webapp/web/css/vitro.css rename to webapp/src/main/webapp/css/vitro.css diff --git a/webapp/web/dojo.js b/webapp/src/main/webapp/dojo.js similarity index 100% rename from webapp/web/dojo.js rename to webapp/src/main/webapp/dojo.js diff --git a/webapp/web/error.jsp b/webapp/src/main/webapp/error.jsp similarity index 100% rename from webapp/web/error.jsp rename to webapp/src/main/webapp/error.jsp diff --git a/webapp/web/favicon.ico b/webapp/src/main/webapp/favicon.ico similarity index 100% rename from webapp/web/favicon.ico rename to webapp/src/main/webapp/favicon.ico diff --git a/webapp/web/fileupload/datastreamModification.jsp b/webapp/src/main/webapp/fileupload/datastreamModification.jsp similarity index 100% rename from webapp/web/fileupload/datastreamModification.jsp rename to webapp/src/main/webapp/fileupload/datastreamModification.jsp diff --git a/webapp/web/fileupload/datastreamModificationSuccess.jsp b/webapp/src/main/webapp/fileupload/datastreamModificationSuccess.jsp similarity index 100% rename from webapp/web/fileupload/datastreamModificationSuccess.jsp rename to webapp/src/main/webapp/fileupload/datastreamModificationSuccess.jsp diff --git a/webapp/web/fileupload/md5.jsp b/webapp/src/main/webapp/fileupload/md5.jsp similarity index 100% rename from webapp/web/fileupload/md5.jsp rename to webapp/src/main/webapp/fileupload/md5.jsp diff --git a/webapp/web/i18n/all.properties b/webapp/src/main/webapp/i18n/all.properties similarity index 100% rename from webapp/web/i18n/all.properties rename to webapp/src/main/webapp/i18n/all.properties diff --git a/webapp/web/images/account/sort-asc.gif b/webapp/src/main/webapp/images/account/sort-asc.gif similarity index 100% rename from webapp/web/images/account/sort-asc.gif rename to webapp/src/main/webapp/images/account/sort-asc.gif diff --git a/webapp/web/images/account/sort-desc.gif b/webapp/src/main/webapp/images/account/sort-desc.gif similarity index 100% rename from webapp/web/images/account/sort-desc.gif rename to webapp/src/main/webapp/images/account/sort-desc.gif diff --git a/webapp/web/images/addNewAccount.png b/webapp/src/main/webapp/images/addNewAccount.png similarity index 100% rename from webapp/web/images/addNewAccount.png rename to webapp/src/main/webapp/images/addNewAccount.png diff --git a/webapp/web/images/addNewAccountOver.png b/webapp/src/main/webapp/images/addNewAccountOver.png similarity index 100% rename from webapp/web/images/addNewAccountOver.png rename to webapp/src/main/webapp/images/addNewAccountOver.png diff --git a/webapp/web/images/arrowBackIcon.gif b/webapp/src/main/webapp/images/arrowBackIcon.gif similarity index 100% rename from webapp/web/images/arrowBackIcon.gif rename to webapp/src/main/webapp/images/arrowBackIcon.gif diff --git a/webapp/web/images/arrowDownAccount.gif b/webapp/src/main/webapp/images/arrowDownAccount.gif similarity index 100% rename from webapp/web/images/arrowDownAccount.gif rename to webapp/src/main/webapp/images/arrowDownAccount.gif diff --git a/webapp/web/images/arrowDownOverAccount.gif b/webapp/src/main/webapp/images/arrowDownOverAccount.gif similarity index 100% rename from webapp/web/images/arrowDownOverAccount.gif rename to webapp/src/main/webapp/images/arrowDownOverAccount.gif diff --git a/webapp/web/images/arrowIcon.gif b/webapp/src/main/webapp/images/arrowIcon.gif similarity index 100% rename from webapp/web/images/arrowIcon.gif rename to webapp/src/main/webapp/images/arrowIcon.gif diff --git a/webapp/web/images/arrowMenuAccount.gif b/webapp/src/main/webapp/images/arrowMenuAccount.gif similarity index 100% rename from webapp/web/images/arrowMenuAccount.gif rename to webapp/src/main/webapp/images/arrowMenuAccount.gif diff --git a/webapp/web/images/checkMark.png b/webapp/src/main/webapp/images/checkMark.png similarity index 100% rename from webapp/web/images/checkMark.png rename to webapp/src/main/webapp/images/checkMark.png diff --git a/webapp/web/images/download-icon.png b/webapp/src/main/webapp/images/download-icon.png similarity index 100% rename from webapp/web/images/download-icon.png rename to webapp/src/main/webapp/images/download-icon.png diff --git a/webapp/web/images/edit_icons/add.gif b/webapp/src/main/webapp/images/edit_icons/add.gif similarity index 100% rename from webapp/web/images/edit_icons/add.gif rename to webapp/src/main/webapp/images/edit_icons/add.gif diff --git a/webapp/web/images/edit_icons/delete.gif b/webapp/src/main/webapp/images/edit_icons/delete.gif similarity index 100% rename from webapp/web/images/edit_icons/delete.gif rename to webapp/src/main/webapp/images/edit_icons/delete.gif diff --git a/webapp/web/images/edit_icons/edit.gif b/webapp/src/main/webapp/images/edit_icons/edit.gif similarity index 100% rename from webapp/web/images/edit_icons/edit.gif rename to webapp/src/main/webapp/images/edit_icons/edit.gif diff --git a/webapp/web/images/edit_icons/rdf_w3c_icon48.gif b/webapp/src/main/webapp/images/edit_icons/rdf_w3c_icon48.gif similarity index 100% rename from webapp/web/images/edit_icons/rdf_w3c_icon48.gif rename to webapp/src/main/webapp/images/edit_icons/rdf_w3c_icon48.gif diff --git a/webapp/web/images/emailIcon.gif b/webapp/src/main/webapp/images/emailIcon.gif similarity index 100% rename from webapp/web/images/emailIcon.gif rename to webapp/src/main/webapp/images/emailIcon.gif diff --git a/webapp/web/images/emailIconSmall.gif b/webapp/src/main/webapp/images/emailIconSmall.gif similarity index 100% rename from webapp/web/images/emailIconSmall.gif rename to webapp/src/main/webapp/images/emailIconSmall.gif diff --git a/webapp/web/images/iconAlert.png b/webapp/src/main/webapp/images/iconAlert.png similarity index 100% rename from webapp/web/images/iconAlert.png rename to webapp/src/main/webapp/images/iconAlert.png diff --git a/webapp/web/images/iconAlertBig.png b/webapp/src/main/webapp/images/iconAlertBig.png similarity index 100% rename from webapp/web/images/iconAlertBig.png rename to webapp/src/main/webapp/images/iconAlertBig.png diff --git a/webapp/web/images/iconConfirmation.png b/webapp/src/main/webapp/images/iconConfirmation.png similarity index 100% rename from webapp/web/images/iconConfirmation.png rename to webapp/src/main/webapp/images/iconConfirmation.png diff --git a/webapp/web/images/iconInfo.png b/webapp/src/main/webapp/images/iconInfo.png similarity index 100% rename from webapp/web/images/iconInfo.png rename to webapp/src/main/webapp/images/iconInfo.png diff --git a/webapp/web/images/indicatorWhite.gif b/webapp/src/main/webapp/images/indicatorWhite.gif similarity index 100% rename from webapp/web/images/indicatorWhite.gif rename to webapp/src/main/webapp/images/indicatorWhite.gif diff --git a/webapp/web/images/individual/addIcon.gif b/webapp/src/main/webapp/images/individual/addIcon.gif similarity index 100% rename from webapp/web/images/individual/addIcon.gif rename to webapp/src/main/webapp/images/individual/addIcon.gif diff --git a/webapp/web/images/individual/arrow-down.gif b/webapp/src/main/webapp/images/individual/arrow-down.gif similarity index 100% rename from webapp/web/images/individual/arrow-down.gif rename to webapp/src/main/webapp/images/individual/arrow-down.gif diff --git a/webapp/web/images/individual/arrow-green.gif b/webapp/src/main/webapp/images/individual/arrow-green.gif similarity index 100% rename from webapp/web/images/individual/arrow-green.gif rename to webapp/src/main/webapp/images/individual/arrow-green.gif diff --git a/webapp/themes/vitro/images/arrow-grey.gif b/webapp/src/main/webapp/images/individual/arrow-grey.gif similarity index 100% rename from webapp/themes/vitro/images/arrow-grey.gif rename to webapp/src/main/webapp/images/individual/arrow-grey.gif diff --git a/webapp/web/images/individual/arrow-up.gif b/webapp/src/main/webapp/images/individual/arrow-up.gif similarity index 100% rename from webapp/web/images/individual/arrow-up.gif rename to webapp/src/main/webapp/images/individual/arrow-up.gif diff --git a/webapp/web/images/individual/collapse-prop-group.png b/webapp/src/main/webapp/images/individual/collapse-prop-group.png similarity index 100% rename from webapp/web/images/individual/collapse-prop-group.png rename to webapp/src/main/webapp/images/individual/collapse-prop-group.png diff --git a/webapp/web/images/individual/deleteIcon.gif b/webapp/src/main/webapp/images/individual/deleteIcon.gif similarity index 100% rename from webapp/web/images/individual/deleteIcon.gif rename to webapp/src/main/webapp/images/individual/deleteIcon.gif diff --git a/webapp/web/images/individual/editIcon.gif b/webapp/src/main/webapp/images/individual/editIcon.gif similarity index 100% rename from webapp/web/images/individual/editIcon.gif rename to webapp/src/main/webapp/images/individual/editIcon.gif diff --git a/webapp/web/images/individual/emailIcon.gif b/webapp/src/main/webapp/images/individual/emailIcon.gif similarity index 100% rename from webapp/web/images/individual/emailIcon.gif rename to webapp/src/main/webapp/images/individual/emailIcon.gif diff --git a/webapp/web/images/individual/expand-prop-group.png b/webapp/src/main/webapp/images/individual/expand-prop-group.png similarity index 100% rename from webapp/web/images/individual/expand-prop-group.png rename to webapp/src/main/webapp/images/individual/expand-prop-group.png diff --git a/webapp/web/images/individual/manage-icon.png b/webapp/src/main/webapp/images/individual/manage-icon.png similarity index 100% rename from webapp/web/images/individual/manage-icon.png rename to webapp/src/main/webapp/images/individual/manage-icon.png diff --git a/webapp/web/images/individual/phoneIcon.gif b/webapp/src/main/webapp/images/individual/phoneIcon.gif similarity index 100% rename from webapp/web/images/individual/phoneIcon.gif rename to webapp/src/main/webapp/images/individual/phoneIcon.gif diff --git a/webapp/web/images/individual/scroll-up.gif b/webapp/src/main/webapp/images/individual/scroll-up.gif similarity index 100% rename from webapp/web/images/individual/scroll-up.gif rename to webapp/src/main/webapp/images/individual/scroll-up.gif diff --git a/webapp/web/images/individual/scroll-up.png b/webapp/src/main/webapp/images/individual/scroll-up.png similarity index 100% rename from webapp/web/images/individual/scroll-up.png rename to webapp/src/main/webapp/images/individual/scroll-up.png diff --git a/webapp/themes/vitro/images/separator-property-group-nav.jpg b/webapp/src/main/webapp/images/individual/separator-property-group-nav.jpg similarity index 100% rename from webapp/themes/vitro/images/separator-property-group-nav.jpg rename to webapp/src/main/webapp/images/individual/separator-property-group-nav.jpg diff --git a/webapp/web/images/individual/sparkline.gif b/webapp/src/main/webapp/images/individual/sparkline.gif similarity index 100% rename from webapp/web/images/individual/sparkline.gif rename to webapp/src/main/webapp/images/individual/sparkline.gif diff --git a/webapp/web/images/individual/uriIcon.gif b/webapp/src/main/webapp/images/individual/uriIcon.gif similarity index 100% rename from webapp/web/images/individual/uriIcon.gif rename to webapp/src/main/webapp/images/individual/uriIcon.gif diff --git a/webapp/web/images/login-or.png b/webapp/src/main/webapp/images/login-or.png similarity index 100% rename from webapp/web/images/login-or.png rename to webapp/src/main/webapp/images/login-or.png diff --git a/webapp/web/images/missingLink.png b/webapp/src/main/webapp/images/missingLink.png similarity index 100% rename from webapp/web/images/missingLink.png rename to webapp/src/main/webapp/images/missingLink.png diff --git a/webapp/web/images/phoneIcon.gif b/webapp/src/main/webapp/images/phoneIcon.gif similarity index 100% rename from webapp/web/images/phoneIcon.gif rename to webapp/src/main/webapp/images/phoneIcon.gif diff --git a/webapp/web/images/phoneIconSmall.gif b/webapp/src/main/webapp/images/phoneIconSmall.gif similarity index 100% rename from webapp/web/images/phoneIconSmall.gif rename to webapp/src/main/webapp/images/phoneIconSmall.gif diff --git a/webapp/web/images/placeholders/placeholders.properties b/webapp/src/main/webapp/images/placeholders/placeholders.properties similarity index 100% rename from webapp/web/images/placeholders/placeholders.properties rename to webapp/src/main/webapp/images/placeholders/placeholders.properties diff --git a/webapp/web/images/placeholders/thumbnail.jpg b/webapp/src/main/webapp/images/placeholders/thumbnail.jpg similarity index 100% rename from webapp/web/images/placeholders/thumbnail.jpg rename to webapp/src/main/webapp/images/placeholders/thumbnail.jpg diff --git a/webapp/web/images/profile-page-icon.png b/webapp/src/main/webapp/images/profile-page-icon.png similarity index 100% rename from webapp/web/images/profile-page-icon.png rename to webapp/src/main/webapp/images/profile-page-icon.png diff --git a/webapp/web/images/share-uri-icon.png b/webapp/src/main/webapp/images/share-uri-icon.png similarity index 100% rename from webapp/web/images/share-uri-icon.png rename to webapp/src/main/webapp/images/share-uri-icon.png diff --git a/webapp/web/images/siteAdmin/addClassBubble.png b/webapp/src/main/webapp/images/siteAdmin/addClassBubble.png similarity index 100% rename from webapp/web/images/siteAdmin/addClassBubble.png rename to webapp/src/main/webapp/images/siteAdmin/addClassBubble.png diff --git a/webapp/web/images/userIcon.png b/webapp/src/main/webapp/images/userIcon.png similarity index 100% rename from webapp/web/images/userIcon.png rename to webapp/src/main/webapp/images/userIcon.png diff --git a/webapp/web/images/vitro_minus_sign.gif b/webapp/src/main/webapp/images/vitro_minus_sign.gif similarity index 100% rename from webapp/web/images/vitro_minus_sign.gif rename to webapp/src/main/webapp/images/vitro_minus_sign.gif diff --git a/webapp/web/images/vitro_plus_sign.gif b/webapp/src/main/webapp/images/vitro_plus_sign.gif similarity index 100% rename from webapp/web/images/vitro_plus_sign.gif rename to webapp/src/main/webapp/images/vitro_plus_sign.gif diff --git a/webapp/web/images/x.gif b/webapp/src/main/webapp/images/x.gif similarity index 100% rename from webapp/web/images/x.gif rename to webapp/src/main/webapp/images/x.gif diff --git a/webapp/web/jenaIngest/createModel.jsp b/webapp/src/main/webapp/jenaIngest/createModel.jsp similarity index 100% rename from webapp/web/jenaIngest/createModel.jsp rename to webapp/src/main/webapp/jenaIngest/createModel.jsp diff --git a/webapp/web/jenaIngest/csv2rdf.jsp b/webapp/src/main/webapp/jenaIngest/csv2rdf.jsp similarity index 100% rename from webapp/web/jenaIngest/csv2rdf.jsp rename to webapp/src/main/webapp/jenaIngest/csv2rdf.jsp diff --git a/webapp/web/jenaIngest/csv2rdfSelectUri.jsp b/webapp/src/main/webapp/jenaIngest/csv2rdfSelectUri.jsp similarity index 100% rename from webapp/web/jenaIngest/csv2rdfSelectUri.jsp rename to webapp/src/main/webapp/jenaIngest/csv2rdfSelectUri.jsp diff --git a/webapp/web/jenaIngest/executeWorkflow.jsp b/webapp/src/main/webapp/jenaIngest/executeWorkflow.jsp similarity index 100% rename from webapp/web/jenaIngest/executeWorkflow.jsp rename to webapp/src/main/webapp/jenaIngest/executeWorkflow.jsp diff --git a/webapp/web/jenaIngest/exportSelection.jsp b/webapp/src/main/webapp/jenaIngest/exportSelection.jsp similarity index 100% rename from webapp/web/jenaIngest/exportSelection.jsp rename to webapp/src/main/webapp/jenaIngest/exportSelection.jsp diff --git a/webapp/web/jenaIngest/generateTBox.jsp b/webapp/src/main/webapp/jenaIngest/generateTBox.jsp similarity index 100% rename from webapp/web/jenaIngest/generateTBox.jsp rename to webapp/src/main/webapp/jenaIngest/generateTBox.jsp diff --git a/webapp/web/jenaIngest/ingestMenu.jsp b/webapp/src/main/webapp/jenaIngest/ingestMenu.jsp similarity index 100% rename from webapp/web/jenaIngest/ingestMenu.jsp rename to webapp/src/main/webapp/jenaIngest/ingestMenu.jsp diff --git a/webapp/web/jenaIngest/listModels.jsp b/webapp/src/main/webapp/jenaIngest/listModels.jsp similarity index 100% rename from webapp/web/jenaIngest/listModels.jsp rename to webapp/src/main/webapp/jenaIngest/listModels.jsp diff --git a/webapp/web/jenaIngest/loadRDFData.jsp b/webapp/src/main/webapp/jenaIngest/loadRDFData.jsp similarity index 100% rename from webapp/web/jenaIngest/loadRDFData.jsp rename to webapp/src/main/webapp/jenaIngest/loadRDFData.jsp diff --git a/webapp/web/jenaIngest/mergeResources.jsp b/webapp/src/main/webapp/jenaIngest/mergeResources.jsp similarity index 100% rename from webapp/web/jenaIngest/mergeResources.jsp rename to webapp/src/main/webapp/jenaIngest/mergeResources.jsp diff --git a/webapp/web/jenaIngest/merge_result.jsp b/webapp/src/main/webapp/jenaIngest/merge_result.jsp similarity index 100% rename from webapp/web/jenaIngest/merge_result.jsp rename to webapp/src/main/webapp/jenaIngest/merge_result.jsp diff --git a/webapp/web/jenaIngest/notfound.jsp b/webapp/src/main/webapp/jenaIngest/notfound.jsp similarity index 100% rename from webapp/web/jenaIngest/notfound.jsp rename to webapp/src/main/webapp/jenaIngest/notfound.jsp diff --git a/webapp/web/jenaIngest/permanentURI.jsp b/webapp/src/main/webapp/jenaIngest/permanentURI.jsp similarity index 100% rename from webapp/web/jenaIngest/permanentURI.jsp rename to webapp/src/main/webapp/jenaIngest/permanentURI.jsp diff --git a/webapp/web/jenaIngest/processStrings.jsp b/webapp/src/main/webapp/jenaIngest/processStrings.jsp similarity index 100% rename from webapp/web/jenaIngest/processStrings.jsp rename to webapp/src/main/webapp/jenaIngest/processStrings.jsp diff --git a/webapp/web/jenaIngest/renameBNodes.jsp b/webapp/src/main/webapp/jenaIngest/renameBNodes.jsp similarity index 100% rename from webapp/web/jenaIngest/renameBNodes.jsp rename to webapp/src/main/webapp/jenaIngest/renameBNodes.jsp diff --git a/webapp/web/jenaIngest/renameBNodesURISelect.jsp b/webapp/src/main/webapp/jenaIngest/renameBNodesURISelect.jsp similarity index 100% rename from webapp/web/jenaIngest/renameBNodesURISelect.jsp rename to webapp/src/main/webapp/jenaIngest/renameBNodesURISelect.jsp diff --git a/webapp/web/jenaIngest/renameResource.jsp b/webapp/src/main/webapp/jenaIngest/renameResource.jsp similarity index 100% rename from webapp/web/jenaIngest/renameResource.jsp rename to webapp/src/main/webapp/jenaIngest/renameResource.jsp diff --git a/webapp/web/jenaIngest/renameResult.jsp b/webapp/src/main/webapp/jenaIngest/renameResult.jsp similarity index 100% rename from webapp/web/jenaIngest/renameResult.jsp rename to webapp/src/main/webapp/jenaIngest/renameResult.jsp diff --git a/webapp/web/jenaIngest/smushSingleModel.jsp b/webapp/src/main/webapp/jenaIngest/smushSingleModel.jsp similarity index 100% rename from webapp/web/jenaIngest/smushSingleModel.jsp rename to webapp/src/main/webapp/jenaIngest/smushSingleModel.jsp diff --git a/webapp/web/jenaIngest/sparqlConstruct.jsp b/webapp/src/main/webapp/jenaIngest/sparqlConstruct.jsp similarity index 100% rename from webapp/web/jenaIngest/sparqlConstruct.jsp rename to webapp/src/main/webapp/jenaIngest/sparqlConstruct.jsp diff --git a/webapp/web/jenaIngest/splitPropertyValues.jsp b/webapp/src/main/webapp/jenaIngest/splitPropertyValues.jsp similarity index 100% rename from webapp/web/jenaIngest/splitPropertyValues.jsp rename to webapp/src/main/webapp/jenaIngest/splitPropertyValues.jsp diff --git a/webapp/web/jenaIngest/subtractModels.jsp b/webapp/src/main/webapp/jenaIngest/subtractModels.jsp similarity index 100% rename from webapp/web/jenaIngest/subtractModels.jsp rename to webapp/src/main/webapp/jenaIngest/subtractModels.jsp diff --git a/webapp/web/jenaIngest/workflowStep.jsp b/webapp/src/main/webapp/jenaIngest/workflowStep.jsp similarity index 100% rename from webapp/web/jenaIngest/workflowStep.jsp rename to webapp/src/main/webapp/jenaIngest/workflowStep.jsp diff --git a/webapp/web/jenaIngest/xmlFileUpload.jsp b/webapp/src/main/webapp/jenaIngest/xmlFileUpload.jsp similarity index 100% rename from webapp/web/jenaIngest/xmlFileUpload.jsp rename to webapp/src/main/webapp/jenaIngest/xmlFileUpload.jsp diff --git a/webapp/web/jenaIngest/xmlFileUploadSuccess.jsp b/webapp/src/main/webapp/jenaIngest/xmlFileUploadSuccess.jsp similarity index 100% rename from webapp/web/jenaIngest/xmlFileUploadSuccess.jsp rename to webapp/src/main/webapp/jenaIngest/xmlFileUploadSuccess.jsp diff --git a/webapp/web/js/account/accountAssociateProfile.js b/webapp/src/main/webapp/js/account/accountAssociateProfile.js similarity index 100% rename from webapp/web/js/account/accountAssociateProfile.js rename to webapp/src/main/webapp/js/account/accountAssociateProfile.js diff --git a/webapp/web/js/account/accountExternalAuthFlag.js b/webapp/src/main/webapp/js/account/accountExternalAuthFlag.js similarity index 100% rename from webapp/web/js/account/accountExternalAuthFlag.js rename to webapp/src/main/webapp/js/account/accountExternalAuthFlag.js diff --git a/webapp/web/js/account/accountListenerSetup.js b/webapp/src/main/webapp/js/account/accountListenerSetup.js similarity index 100% rename from webapp/web/js/account/accountListenerSetup.js rename to webapp/src/main/webapp/js/account/accountListenerSetup.js diff --git a/webapp/web/js/account/accountProxyCommon.js b/webapp/src/main/webapp/js/account/accountProxyCommon.js similarity index 100% rename from webapp/web/js/account/accountProxyCommon.js rename to webapp/src/main/webapp/js/account/accountProxyCommon.js diff --git a/webapp/web/js/account/accountProxyItemsPanel.js b/webapp/src/main/webapp/js/account/accountProxyItemsPanel.js similarity index 100% rename from webapp/web/js/account/accountProxyItemsPanel.js rename to webapp/src/main/webapp/js/account/accountProxyItemsPanel.js diff --git a/webapp/web/js/account/accountUtils.js b/webapp/src/main/webapp/js/account/accountUtils.js similarity index 100% rename from webapp/web/js/account/accountUtils.js rename to webapp/src/main/webapp/js/account/accountUtils.js diff --git a/webapp/web/js/account/proxyUtils.js b/webapp/src/main/webapp/js/account/proxyUtils.js similarity index 100% rename from webapp/web/js/account/proxyUtils.js rename to webapp/src/main/webapp/js/account/proxyUtils.js diff --git a/webapp/web/js/amplify/amplify.store.min.js b/webapp/src/main/webapp/js/amplify/amplify.store.min.js similarity index 100% rename from webapp/web/js/amplify/amplify.store.min.js rename to webapp/src/main/webapp/js/amplify/amplify.store.min.js diff --git a/webapp/web/js/betterDateInput.js b/webapp/src/main/webapp/js/betterDateInput.js similarity index 100% rename from webapp/web/js/betterDateInput.js rename to webapp/src/main/webapp/js/betterDateInput.js diff --git a/webapp/web/js/browseClassGroups.js b/webapp/src/main/webapp/js/browseClassGroups.js similarity index 100% rename from webapp/web/js/browseClassGroups.js rename to webapp/src/main/webapp/js/browseClassGroups.js diff --git a/webapp/web/js/browserUtils.js b/webapp/src/main/webapp/js/browserUtils.js similarity index 100% rename from webapp/web/js/browserUtils.js rename to webapp/src/main/webapp/js/browserUtils.js diff --git a/webapp/web/js/commentForm.js b/webapp/src/main/webapp/js/commentForm.js similarity index 100% rename from webapp/web/js/commentForm.js rename to webapp/src/main/webapp/js/commentForm.js diff --git a/webapp/web/js/commentsForm.jsp b/webapp/src/main/webapp/js/commentsForm.jsp similarity index 100% rename from webapp/web/js/commentsForm.jsp rename to webapp/src/main/webapp/js/commentsForm.jsp diff --git a/webapp/web/js/customFormUtils.js b/webapp/src/main/webapp/js/customFormUtils.js similarity index 100% rename from webapp/web/js/customFormUtils.js rename to webapp/src/main/webapp/js/customFormUtils.js diff --git a/webapp/web/js/detect.js b/webapp/src/main/webapp/js/detect.js similarity index 100% rename from webapp/web/js/detect.js rename to webapp/src/main/webapp/js/detect.js diff --git a/webapp/web/js/developer/developerPanel.js b/webapp/src/main/webapp/js/developer/developerPanel.js similarity index 100% rename from webapp/web/js/developer/developerPanel.js rename to webapp/src/main/webapp/js/developer/developerPanel.js diff --git a/webapp/web/js/edit/entityRetry.js b/webapp/src/main/webapp/js/edit/entityRetry.js similarity index 100% rename from webapp/web/js/edit/entityRetry.js rename to webapp/src/main/webapp/js/edit/entityRetry.js diff --git a/webapp/web/js/edit/initTinyMce.js b/webapp/src/main/webapp/js/edit/initTinyMce.js similarity index 100% rename from webapp/web/js/edit/initTinyMce.js rename to webapp/src/main/webapp/js/edit/initTinyMce.js diff --git a/webapp/web/js/ents_edit.js b/webapp/src/main/webapp/js/ents_edit.js similarity index 100% rename from webapp/web/js/ents_edit.js rename to webapp/src/main/webapp/js/ents_edit.js diff --git a/webapp/web/js/ents_retry.js b/webapp/src/main/webapp/js/ents_retry.js similarity index 100% rename from webapp/web/js/ents_retry.js rename to webapp/src/main/webapp/js/ents_retry.js diff --git a/webapp/web/js/extensions/String.js b/webapp/src/main/webapp/js/extensions/String.js similarity index 100% rename from webapp/web/js/extensions/String.js rename to webapp/src/main/webapp/js/extensions/String.js diff --git a/webapp/web/js/html5.js b/webapp/src/main/webapp/js/html5.js similarity index 100% rename from webapp/web/js/html5.js rename to webapp/src/main/webapp/js/html5.js diff --git a/webapp/web/js/imageUpload/cropImage.js b/webapp/src/main/webapp/js/imageUpload/cropImage.js similarity index 100% rename from webapp/web/js/imageUpload/cropImage.js rename to webapp/src/main/webapp/js/imageUpload/cropImage.js diff --git a/webapp/web/js/imageUpload/imageUploadUtils.js b/webapp/src/main/webapp/js/imageUpload/imageUploadUtils.js similarity index 100% rename from webapp/web/js/imageUpload/imageUploadUtils.js rename to webapp/src/main/webapp/js/imageUpload/imageUploadUtils.js diff --git a/webapp/web/js/individual/individualUriRdf.js b/webapp/src/main/webapp/js/individual/individualUriRdf.js similarity index 100% rename from webapp/web/js/individual/individualUriRdf.js rename to webapp/src/main/webapp/js/individual/individualUriRdf.js diff --git a/webapp/web/js/individual/manageLabelsForIndividual.js b/webapp/src/main/webapp/js/individual/manageLabelsForIndividual.js similarity index 100% rename from webapp/web/js/individual/manageLabelsForIndividual.js rename to webapp/src/main/webapp/js/individual/manageLabelsForIndividual.js diff --git a/webapp/web/js/individual/menuManagement.js b/webapp/src/main/webapp/js/individual/menuManagement.js similarity index 100% rename from webapp/web/js/individual/menuManagement.js rename to webapp/src/main/webapp/js/individual/menuManagement.js diff --git a/webapp/web/js/individual/moreLessController.js b/webapp/src/main/webapp/js/individual/moreLessController.js similarity index 100% rename from webapp/web/js/individual/moreLessController.js rename to webapp/src/main/webapp/js/individual/moreLessController.js diff --git a/webapp/web/js/individual/propertyGroupControls.js b/webapp/src/main/webapp/js/individual/propertyGroupControls.js similarity index 100% rename from webapp/web/js/individual/propertyGroupControls.js rename to webapp/src/main/webapp/js/individual/propertyGroupControls.js diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png diff --git a/webapp/web/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css b/webapp/src/main/webapp/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css similarity index 100% rename from webapp/web/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css rename to webapp/src/main/webapp/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css diff --git a/webapp/web/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js b/webapp/src/main/webapp/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js similarity index 100% rename from webapp/web/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js rename to webapp/src/main/webapp/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js diff --git a/webapp/web/js/jquery.fix.clone.js b/webapp/src/main/webapp/js/jquery.fix.clone.js similarity index 100% rename from webapp/web/js/jquery.fix.clone.js rename to webapp/src/main/webapp/js/jquery.fix.clone.js diff --git a/webapp/web/js/jquery.js b/webapp/src/main/webapp/js/jquery.js similarity index 100% rename from webapp/web/js/jquery.js rename to webapp/src/main/webapp/js/jquery.js diff --git a/webapp/web/js/jquery_plugins/isotope/jquery.isotope.min.js b/webapp/src/main/webapp/js/jquery_plugins/isotope/jquery.isotope.min.js similarity index 100% rename from webapp/web/js/jquery_plugins/isotope/jquery.isotope.min.js rename to webapp/src/main/webapp/js/jquery_plugins/isotope/jquery.isotope.min.js diff --git a/webapp/web/js/jquery_plugins/jcrop/Jcrop.gif b/webapp/src/main/webapp/js/jquery_plugins/jcrop/Jcrop.gif similarity index 100% rename from webapp/web/js/jquery_plugins/jcrop/Jcrop.gif rename to webapp/src/main/webapp/js/jquery_plugins/jcrop/Jcrop.gif diff --git a/webapp/web/js/jquery_plugins/jcrop/jquery.Jcrop.css b/webapp/src/main/webapp/js/jquery_plugins/jcrop/jquery.Jcrop.css similarity index 100% rename from webapp/web/js/jquery_plugins/jcrop/jquery.Jcrop.css rename to webapp/src/main/webapp/js/jquery_plugins/jcrop/jquery.Jcrop.css diff --git a/webapp/web/js/jquery_plugins/jcrop/jquery.Jcrop.js b/webapp/src/main/webapp/js/jquery_plugins/jcrop/jquery.Jcrop.js similarity index 100% rename from webapp/web/js/jquery_plugins/jcrop/jquery.Jcrop.js rename to webapp/src/main/webapp/js/jquery_plugins/jcrop/jquery.Jcrop.js diff --git a/webapp/web/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.css b/webapp/src/main/webapp/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.css similarity index 100% rename from webapp/web/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.css rename to webapp/src/main/webapp/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.css diff --git a/webapp/web/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.pack.js b/webapp/src/main/webapp/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.pack.js similarity index 100% rename from webapp/web/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.pack.js rename to webapp/src/main/webapp/js/jquery_plugins/jquery-autocomplete/jquery.autocomplete.pack.js diff --git a/webapp/web/js/jquery_plugins/jquery.MultiFile.js b/webapp/src/main/webapp/js/jquery_plugins/jquery.MultiFile.js similarity index 100% rename from webapp/web/js/jquery_plugins/jquery.MultiFile.js rename to webapp/src/main/webapp/js/jquery_plugins/jquery.MultiFile.js diff --git a/webapp/web/js/jquery_plugins/jquery.MultiFile.pack.js b/webapp/src/main/webapp/js/jquery_plugins/jquery.MultiFile.pack.js similarity index 100% rename from webapp/web/js/jquery_plugins/jquery.MultiFile.pack.js rename to webapp/src/main/webapp/js/jquery_plugins/jquery.MultiFile.pack.js diff --git a/webapp/web/js/jquery_plugins/jquery.bgiframe.pack.js b/webapp/src/main/webapp/js/jquery_plugins/jquery.bgiframe.pack.js similarity index 100% rename from webapp/web/js/jquery_plugins/jquery.bgiframe.pack.js rename to webapp/src/main/webapp/js/jquery_plugins/jquery.bgiframe.pack.js diff --git a/webapp/web/js/jquery_plugins/jquery.realperson.js b/webapp/src/main/webapp/js/jquery_plugins/jquery.realperson.js similarity index 100% rename from webapp/web/js/jquery_plugins/jquery.realperson.js rename to webapp/src/main/webapp/js/jquery_plugins/jquery.realperson.js diff --git a/webapp/web/js/jquery_plugins/jquery.scrollTo-min.js b/webapp/src/main/webapp/js/jquery_plugins/jquery.scrollTo-min.js similarity index 100% rename from webapp/web/js/jquery_plugins/jquery.scrollTo-min.js rename to webapp/src/main/webapp/js/jquery_plugins/jquery.scrollTo-min.js diff --git a/webapp/web/js/jquery_plugins/qtip/jquery.qtip-1.0.0-rc3.min.js b/webapp/src/main/webapp/js/jquery_plugins/qtip/jquery.qtip-1.0.0-rc3.min.js similarity index 100% rename from webapp/web/js/jquery_plugins/qtip/jquery.qtip-1.0.0-rc3.min.js rename to webapp/src/main/webapp/js/jquery_plugins/qtip/jquery.qtip-1.0.0-rc3.min.js diff --git a/webapp/web/js/jquery_plugins/supersleight.js b/webapp/src/main/webapp/js/jquery_plugins/supersleight.js similarity index 100% rename from webapp/web/js/jquery_plugins/supersleight.js rename to webapp/src/main/webapp/js/jquery_plugins/supersleight.js diff --git a/webapp/web/js/jquery_plugins/ui.datepicker.css b/webapp/src/main/webapp/js/jquery_plugins/ui.datepicker.css similarity index 100% rename from webapp/web/js/jquery_plugins/ui.datepicker.css rename to webapp/src/main/webapp/js/jquery_plugins/ui.datepicker.css diff --git a/webapp/web/js/jquery_plugins/ui.datepicker.js b/webapp/src/main/webapp/js/jquery_plugins/ui.datepicker.js similarity index 100% rename from webapp/web/js/jquery_plugins/ui.datepicker.js rename to webapp/src/main/webapp/js/jquery_plugins/ui.datepicker.js diff --git a/webapp/web/js/json2.js b/webapp/src/main/webapp/js/json2.js similarity index 100% rename from webapp/web/js/json2.js rename to webapp/src/main/webapp/js/json2.js diff --git a/webapp/web/js/languageMenuUtils.js b/webapp/src/main/webapp/js/languageMenuUtils.js similarity index 100% rename from webapp/web/js/languageMenuUtils.js rename to webapp/src/main/webapp/js/languageMenuUtils.js diff --git a/webapp/web/js/login/loginUtils.js b/webapp/src/main/webapp/js/login/loginUtils.js similarity index 100% rename from webapp/web/js/login/loginUtils.js rename to webapp/src/main/webapp/js/login/loginUtils.js diff --git a/webapp/web/js/menupage/browseByVClass.js b/webapp/src/main/webapp/js/menupage/browseByVClass.js similarity index 100% rename from webapp/web/js/menupage/browseByVClass.js rename to webapp/src/main/webapp/js/menupage/browseByVClass.js diff --git a/webapp/web/js/menupage/menumanagement_edit.js b/webapp/src/main/webapp/js/menupage/menumanagement_edit.js similarity index 100% rename from webapp/web/js/menupage/menumanagement_edit.js rename to webapp/src/main/webapp/js/menupage/menumanagement_edit.js diff --git a/webapp/web/js/menupage/pageManagementUtils.js b/webapp/src/main/webapp/js/menupage/pageManagementUtils.js similarity index 100% rename from webapp/web/js/menupage/pageManagementUtils.js rename to webapp/src/main/webapp/js/menupage/pageManagementUtils.js diff --git a/webapp/web/js/menupage/processClassGroupDataGetterContent.js b/webapp/src/main/webapp/js/menupage/processClassGroupDataGetterContent.js similarity index 100% rename from webapp/web/js/menupage/processClassGroupDataGetterContent.js rename to webapp/src/main/webapp/js/menupage/processClassGroupDataGetterContent.js diff --git a/webapp/web/js/menupage/processDataGetterUtils.js b/webapp/src/main/webapp/js/menupage/processDataGetterUtils.js similarity index 100% rename from webapp/web/js/menupage/processDataGetterUtils.js rename to webapp/src/main/webapp/js/menupage/processDataGetterUtils.js diff --git a/webapp/web/js/menupage/processFixedHTMLDataGetterContent.js b/webapp/src/main/webapp/js/menupage/processFixedHTMLDataGetterContent.js similarity index 100% rename from webapp/web/js/menupage/processFixedHTMLDataGetterContent.js rename to webapp/src/main/webapp/js/menupage/processFixedHTMLDataGetterContent.js diff --git a/webapp/web/js/menupage/processIndividualsForClassesDataGetterContent.js b/webapp/src/main/webapp/js/menupage/processIndividualsForClassesDataGetterContent.js similarity index 100% rename from webapp/web/js/menupage/processIndividualsForClassesDataGetterContent.js rename to webapp/src/main/webapp/js/menupage/processIndividualsForClassesDataGetterContent.js diff --git a/webapp/web/js/menupage/processSearchDataGetterContent.js b/webapp/src/main/webapp/js/menupage/processSearchDataGetterContent.js similarity index 100% rename from webapp/web/js/menupage/processSearchDataGetterContent.js rename to webapp/src/main/webapp/js/menupage/processSearchDataGetterContent.js diff --git a/webapp/web/js/menupage/processSparqlDataGetterContent.js b/webapp/src/main/webapp/js/menupage/processSparqlDataGetterContent.js similarity index 100% rename from webapp/web/js/menupage/processSparqlDataGetterContent.js rename to webapp/src/main/webapp/js/menupage/processSparqlDataGetterContent.js diff --git a/webapp/web/js/openSocial/orng.js b/webapp/src/main/webapp/js/openSocial/orng.js similarity index 100% rename from webapp/web/js/openSocial/orng.js rename to webapp/src/main/webapp/js/openSocial/orng.js diff --git a/webapp/web/js/pageDeletion.js b/webapp/src/main/webapp/js/pageDeletion.js similarity index 100% rename from webapp/web/js/pageDeletion.js rename to webapp/src/main/webapp/js/pageDeletion.js diff --git a/webapp/web/js/raphael/g.bar.js b/webapp/src/main/webapp/js/raphael/g.bar.js similarity index 100% rename from webapp/web/js/raphael/g.bar.js rename to webapp/src/main/webapp/js/raphael/g.bar.js diff --git a/webapp/web/js/raphael/g.raphael.js b/webapp/src/main/webapp/js/raphael/g.raphael.js similarity index 100% rename from webapp/web/js/raphael/g.raphael.js rename to webapp/src/main/webapp/js/raphael/g.raphael.js diff --git a/webapp/web/js/raphael/raphael.js b/webapp/src/main/webapp/js/raphael/raphael.js similarity index 100% rename from webapp/web/js/raphael/raphael.js rename to webapp/src/main/webapp/js/raphael/raphael.js diff --git a/webapp/web/js/search/searchIndex.js b/webapp/src/main/webapp/js/search/searchIndex.js similarity index 100% rename from webapp/web/js/search/searchIndex.js rename to webapp/src/main/webapp/js/search/searchIndex.js diff --git a/webapp/web/js/searchDownload.js b/webapp/src/main/webapp/js/searchDownload.js similarity index 100% rename from webapp/web/js/searchDownload.js rename to webapp/src/main/webapp/js/searchDownload.js diff --git a/webapp/web/js/selectivizr.js b/webapp/src/main/webapp/js/selectivizr.js similarity index 100% rename from webapp/web/js/selectivizr.js rename to webapp/src/main/webapp/js/selectivizr.js diff --git a/webapp/web/js/siteAdmin/classHierarchyUtils.js b/webapp/src/main/webapp/js/siteAdmin/classHierarchyUtils.js similarity index 100% rename from webapp/web/js/siteAdmin/classHierarchyUtils.js rename to webapp/src/main/webapp/js/siteAdmin/classHierarchyUtils.js diff --git a/webapp/web/js/siteAdmin/fauxPropertiesListingUtils.js b/webapp/src/main/webapp/js/siteAdmin/fauxPropertiesListingUtils.js similarity index 100% rename from webapp/web/js/siteAdmin/fauxPropertiesListingUtils.js rename to webapp/src/main/webapp/js/siteAdmin/fauxPropertiesListingUtils.js diff --git a/webapp/web/js/siteAdmin/objectPropertyHierarchyUtils.js b/webapp/src/main/webapp/js/siteAdmin/objectPropertyHierarchyUtils.js similarity index 100% rename from webapp/web/js/siteAdmin/objectPropertyHierarchyUtils.js rename to webapp/src/main/webapp/js/siteAdmin/objectPropertyHierarchyUtils.js diff --git a/webapp/web/js/siteAdmin/siteAdminUtils.js b/webapp/src/main/webapp/js/siteAdmin/siteAdminUtils.js similarity index 100% rename from webapp/web/js/siteAdmin/siteAdminUtils.js rename to webapp/src/main/webapp/js/siteAdmin/siteAdminUtils.js diff --git a/webapp/src/main/webapp/js/sparql/init-yasqe.js b/webapp/src/main/webapp/js/sparql/init-yasqe.js new file mode 100644 index 000000000..eefa5f1ec --- /dev/null +++ b/webapp/src/main/webapp/js/sparql/init-yasqe.js @@ -0,0 +1,2 @@ +YASQE.defaults.createShareLink = false; +var yasqe = YASQE.fromTextArea(document.getElementById('query-area')); diff --git a/webapp/web/js/sparql/prototype.js b/webapp/src/main/webapp/js/sparql/prototype.js similarity index 100% rename from webapp/web/js/sparql/prototype.js rename to webapp/src/main/webapp/js/sparql/prototype.js diff --git a/webapp/web/js/sparql/sparql.js b/webapp/src/main/webapp/js/sparql/sparql.js similarity index 100% rename from webapp/web/js/sparql/sparql.js rename to webapp/src/main/webapp/js/sparql/sparql.js diff --git a/webapp/web/js/tiny_mce/jquery.tinymce.js b/webapp/src/main/webapp/js/tiny_mce/jquery.tinymce.js similarity index 100% rename from webapp/web/js/tiny_mce/jquery.tinymce.js rename to webapp/src/main/webapp/js/tiny_mce/jquery.tinymce.js diff --git a/webapp/web/js/tiny_mce/langs/en.js b/webapp/src/main/webapp/js/tiny_mce/langs/en.js similarity index 100% rename from webapp/web/js/tiny_mce/langs/en.js rename to webapp/src/main/webapp/js/tiny_mce/langs/en.js diff --git a/webapp/web/js/tiny_mce/license.txt b/webapp/src/main/webapp/js/tiny_mce/license.txt similarity index 100% rename from webapp/web/js/tiny_mce/license.txt rename to webapp/src/main/webapp/js/tiny_mce/license.txt diff --git a/webapp/web/js/tiny_mce/plugins/advhr/css/advhr.css b/webapp/src/main/webapp/js/tiny_mce/plugins/advhr/css/advhr.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advhr/css/advhr.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/advhr/css/advhr.css diff --git a/webapp/web/js/tiny_mce/plugins/advhr/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advhr/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advhr/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advhr/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/advhr/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advhr/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advhr/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advhr/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/advhr/js/rule.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advhr/js/rule.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advhr/js/rule.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advhr/js/rule.js diff --git a/webapp/web/js/tiny_mce/plugins/advhr/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advhr/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advhr/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advhr/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/advhr/rule.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/advhr/rule.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advhr/rule.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/advhr/rule.htm diff --git a/webapp/web/js/tiny_mce/plugins/advimage/css/advimage.css b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/css/advimage.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/css/advimage.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/css/advimage.css diff --git a/webapp/web/js/tiny_mce/plugins/advimage/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/advimage/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/advimage/image.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/image.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/image.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/image.htm diff --git a/webapp/web/js/tiny_mce/plugins/advimage/img/sample.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/img/sample.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/img/sample.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/img/sample.gif diff --git a/webapp/web/js/tiny_mce/plugins/advimage/js/image.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/js/image.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/js/image.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/js/image.js diff --git a/webapp/web/js/tiny_mce/plugins/advimage/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advimage/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advimage/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advimage/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/advlink/css/advlink.css b/webapp/src/main/webapp/js/tiny_mce/plugins/advlink/css/advlink.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlink/css/advlink.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlink/css/advlink.css diff --git a/webapp/web/js/tiny_mce/plugins/advlink/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advlink/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlink/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlink/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/advlink/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advlink/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlink/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlink/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/advlink/js/advlink.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advlink/js/advlink.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlink/js/advlink.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlink/js/advlink.js diff --git a/webapp/web/js/tiny_mce/plugins/advlink/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advlink/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlink/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlink/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/advlink/link.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/advlink/link.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlink/link.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlink/link.htm diff --git a/webapp/web/js/tiny_mce/plugins/advlist/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advlist/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlist/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlist/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/advlist/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/advlist/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/advlist/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/advlist/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/autolink/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/autolink/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/autolink/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/autolink/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/autolink/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/autolink/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/autolink/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/autolink/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/autoresize/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/autoresize/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/autoresize/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/autoresize/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/autoresize/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/autoresize/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/autoresize/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/autoresize/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/autosave/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/autosave/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/autosave/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/autosave/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/autosave/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/autosave/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/autosave/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/autosave/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/bbcode/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/bbcode/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/bbcode/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/bbcode/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/bbcode/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/bbcode/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/bbcode/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/bbcode/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/contextmenu/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/contextmenu/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/contextmenu/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/contextmenu/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/contextmenu/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/contextmenu/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/contextmenu/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/contextmenu/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/directionality/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/directionality/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/directionality/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/directionality/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/directionality/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/directionality/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/directionality/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/directionality/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/emotions/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/emotions/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/emotions/emotions.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/emotions.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/emotions.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/emotions.htm diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-cool.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-cool.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-cool.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-cool.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-cry.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-cry.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-cry.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-cry.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-embarassed.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-embarassed.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-embarassed.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-frown.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-frown.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-frown.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-frown.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-innocent.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-innocent.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-innocent.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-kiss.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-kiss.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-kiss.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-kiss.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-laughing.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-sealed.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-sealed.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-sealed.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-sealed.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-smile.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-smile.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-smile.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-smile.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-surprised.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-surprised.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-surprised.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-surprised.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-undecided.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-undecided.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-undecided.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-undecided.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-wink.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-wink.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-wink.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-wink.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/img/smiley-yell.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-yell.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/img/smiley-yell.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/img/smiley-yell.gif diff --git a/webapp/web/js/tiny_mce/plugins/emotions/js/emotions.js b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/js/emotions.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/js/emotions.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/js/emotions.js diff --git a/webapp/web/js/tiny_mce/plugins/emotions/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/emotions/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/emotions/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/emotions/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/example/dialog.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/example/dialog.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/dialog.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/dialog.htm diff --git a/webapp/web/js/tiny_mce/plugins/example/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/example/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/example/img/example.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/example/img/example.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/img/example.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/img/example.gif diff --git a/webapp/web/js/tiny_mce/plugins/example/js/dialog.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example/js/dialog.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/js/dialog.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/js/dialog.js diff --git a/webapp/web/js/tiny_mce/plugins/example/langs/en.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example/langs/en.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/langs/en.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/langs/en.js diff --git a/webapp/web/js/tiny_mce/plugins/example/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/example_dependency/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example_dependency/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example_dependency/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example_dependency/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/example_dependency/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/example_dependency/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/example_dependency/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/example_dependency/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/fullpage/css/fullpage.css b/webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/css/fullpage.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullpage/css/fullpage.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/css/fullpage.css diff --git a/webapp/web/js/tiny_mce/plugins/fullpage/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullpage/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/fullpage/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullpage/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/fullpage/fullpage.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/fullpage.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullpage/fullpage.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/fullpage.htm diff --git a/webapp/web/js/tiny_mce/plugins/fullpage/js/fullpage.js b/webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/js/fullpage.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullpage/js/fullpage.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/js/fullpage.js diff --git a/webapp/web/js/tiny_mce/plugins/fullpage/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullpage/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullpage/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/fullscreen/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/fullscreen/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullscreen/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullscreen/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/fullscreen/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullscreen/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullscreen/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/fullscreen/fullscreen.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/fullscreen/fullscreen.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/fullscreen/fullscreen.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/fullscreen/fullscreen.htm diff --git a/webapp/web/js/tiny_mce/plugins/iespell/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/iespell/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/iespell/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/iespell/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/iespell/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/iespell/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/iespell/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/iespell/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css diff --git a/webapp/web/js/tiny_mce/plugins/inlinepopups/template.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/template.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/inlinepopups/template.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/inlinepopups/template.htm diff --git a/webapp/web/js/tiny_mce/plugins/insertdatetime/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/insertdatetime/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/insertdatetime/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/insertdatetime/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/insertdatetime/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/insertdatetime/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/insertdatetime/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/insertdatetime/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/layer/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/layer/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/layer/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/layer/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/layer/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/layer/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/layer/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/layer/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/legacyoutput/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/legacyoutput/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/legacyoutput/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/legacyoutput/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/legacyoutput/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/legacyoutput/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/legacyoutput/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/legacyoutput/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/lists/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/lists/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/lists/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/lists/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/lists/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/lists/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/lists/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/lists/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/media/css/media.css b/webapp/src/main/webapp/js/tiny_mce/plugins/media/css/media.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/css/media.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/css/media.css diff --git a/webapp/web/js/tiny_mce/plugins/media/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/media/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/media/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/media/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/media/js/embed.js b/webapp/src/main/webapp/js/tiny_mce/plugins/media/js/embed.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/js/embed.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/js/embed.js diff --git a/webapp/web/js/tiny_mce/plugins/media/js/media.js b/webapp/src/main/webapp/js/tiny_mce/plugins/media/js/media.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/js/media.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/js/media.js diff --git a/webapp/web/js/tiny_mce/plugins/media/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/media/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/media/media.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/media/media.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/media.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/media.htm diff --git a/webapp/web/js/tiny_mce/plugins/media/moxieplayer.swf b/webapp/src/main/webapp/js/tiny_mce/plugins/media/moxieplayer.swf similarity index 100% rename from webapp/web/js/tiny_mce/plugins/media/moxieplayer.swf rename to webapp/src/main/webapp/js/tiny_mce/plugins/media/moxieplayer.swf diff --git a/webapp/web/js/tiny_mce/plugins/nonbreaking/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/nonbreaking/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/nonbreaking/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/nonbreaking/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/noneditable/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/noneditable/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/noneditable/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/noneditable/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/noneditable/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/noneditable/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/noneditable/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/noneditable/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/pagebreak/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/pagebreak/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/pagebreak/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/pagebreak/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/pagebreak/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/pagebreak/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/pagebreak/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/paste/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/paste/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/paste/js/pastetext.js b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/js/pastetext.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/js/pastetext.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/js/pastetext.js diff --git a/webapp/web/js/tiny_mce/plugins/paste/js/pasteword.js b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/js/pasteword.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/js/pasteword.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/js/pasteword.js diff --git a/webapp/web/js/tiny_mce/plugins/paste/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/paste/pastetext.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/pastetext.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/pastetext.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/pastetext.htm diff --git a/webapp/web/js/tiny_mce/plugins/paste/pasteword.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/paste/pasteword.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/paste/pasteword.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/paste/pasteword.htm diff --git a/webapp/web/js/tiny_mce/plugins/preview/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/preview/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/preview/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/preview/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/preview/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/preview/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/preview/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/preview/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/preview/example.html b/webapp/src/main/webapp/js/tiny_mce/plugins/preview/example.html similarity index 100% rename from webapp/web/js/tiny_mce/plugins/preview/example.html rename to webapp/src/main/webapp/js/tiny_mce/plugins/preview/example.html diff --git a/webapp/web/js/tiny_mce/plugins/preview/jscripts/embed.js b/webapp/src/main/webapp/js/tiny_mce/plugins/preview/jscripts/embed.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/preview/jscripts/embed.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/preview/jscripts/embed.js diff --git a/webapp/web/js/tiny_mce/plugins/preview/preview.html b/webapp/src/main/webapp/js/tiny_mce/plugins/preview/preview.html similarity index 100% rename from webapp/web/js/tiny_mce/plugins/preview/preview.html rename to webapp/src/main/webapp/js/tiny_mce/plugins/preview/preview.html diff --git a/webapp/web/js/tiny_mce/plugins/print/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/print/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/print/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/print/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/print/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/print/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/print/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/print/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/save/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/save/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/save/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/save/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/save/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/save/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/save/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/save/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/searchreplace/css/searchreplace.css b/webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/css/searchreplace.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/searchreplace/css/searchreplace.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/css/searchreplace.css diff --git a/webapp/web/js/tiny_mce/plugins/searchreplace/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/searchreplace/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/searchreplace/js/searchreplace.js b/webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/js/searchreplace.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/searchreplace/js/searchreplace.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/js/searchreplace.js diff --git a/webapp/web/js/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/searchreplace/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/searchreplace/searchreplace.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/searchreplace.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/searchreplace/searchreplace.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/searchreplace/searchreplace.htm diff --git a/webapp/web/js/tiny_mce/plugins/spellchecker/css/content.css b/webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/css/content.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/spellchecker/css/content.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/css/content.css diff --git a/webapp/web/js/tiny_mce/plugins/spellchecker/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/spellchecker/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/spellchecker/img/wline.gif b/webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/img/wline.gif similarity index 100% rename from webapp/web/js/tiny_mce/plugins/spellchecker/img/wline.gif rename to webapp/src/main/webapp/js/tiny_mce/plugins/spellchecker/img/wline.gif diff --git a/webapp/web/js/tiny_mce/plugins/style/css/props.css b/webapp/src/main/webapp/js/tiny_mce/plugins/style/css/props.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/css/props.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/css/props.css diff --git a/webapp/web/js/tiny_mce/plugins/style/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/style/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/style/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/style/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/style/js/props.js b/webapp/src/main/webapp/js/tiny_mce/plugins/style/js/props.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/js/props.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/js/props.js diff --git a/webapp/web/js/tiny_mce/plugins/style/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/style/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/style/props.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/style/props.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/props.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/props.htm diff --git a/webapp/web/js/tiny_mce/plugins/style/readme.txt b/webapp/src/main/webapp/js/tiny_mce/plugins/style/readme.txt similarity index 100% rename from webapp/web/js/tiny_mce/plugins/style/readme.txt rename to webapp/src/main/webapp/js/tiny_mce/plugins/style/readme.txt diff --git a/webapp/web/js/tiny_mce/plugins/tabfocus/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/tabfocus/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/tabfocus/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/tabfocus/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/tabfocus/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/tabfocus/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/tabfocus/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/tabfocus/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/table/cell.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/table/cell.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/cell.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/cell.htm diff --git a/webapp/web/js/tiny_mce/plugins/table/css/cell.css b/webapp/src/main/webapp/js/tiny_mce/plugins/table/css/cell.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/css/cell.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/css/cell.css diff --git a/webapp/web/js/tiny_mce/plugins/table/css/row.css b/webapp/src/main/webapp/js/tiny_mce/plugins/table/css/row.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/css/row.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/css/row.css diff --git a/webapp/web/js/tiny_mce/plugins/table/css/table.css b/webapp/src/main/webapp/js/tiny_mce/plugins/table/css/table.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/css/table.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/css/table.css diff --git a/webapp/web/js/tiny_mce/plugins/table/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/table/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/table/js/cell.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/js/cell.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/js/cell.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/js/cell.js diff --git a/webapp/web/js/tiny_mce/plugins/table/js/merge_cells.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/js/merge_cells.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/js/merge_cells.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/js/merge_cells.js diff --git a/webapp/web/js/tiny_mce/plugins/table/js/row.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/js/row.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/js/row.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/js/row.js diff --git a/webapp/web/js/tiny_mce/plugins/table/js/table.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/js/table.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/js/table.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/js/table.js diff --git a/webapp/web/js/tiny_mce/plugins/table/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/table/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/table/merge_cells.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/table/merge_cells.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/merge_cells.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/merge_cells.htm diff --git a/webapp/web/js/tiny_mce/plugins/table/row.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/table/row.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/row.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/row.htm diff --git a/webapp/web/js/tiny_mce/plugins/table/table.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/table/table.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/table/table.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/table/table.htm diff --git a/webapp/web/js/tiny_mce/plugins/template/blank.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/template/blank.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/blank.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/blank.htm diff --git a/webapp/web/js/tiny_mce/plugins/template/css/template.css b/webapp/src/main/webapp/js/tiny_mce/plugins/template/css/template.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/css/template.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/css/template.css diff --git a/webapp/web/js/tiny_mce/plugins/template/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/template/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/template/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/template/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/template/js/template.js b/webapp/src/main/webapp/js/tiny_mce/plugins/template/js/template.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/js/template.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/js/template.js diff --git a/webapp/web/js/tiny_mce/plugins/template/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/template/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/plugins/template/template.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/template/template.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/template/template.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/template/template.htm diff --git a/webapp/web/js/tiny_mce/plugins/visualblocks/css/visualblocks.css b/webapp/src/main/webapp/js/tiny_mce/plugins/visualblocks/css/visualblocks.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/visualblocks/css/visualblocks.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/visualblocks/css/visualblocks.css diff --git a/webapp/web/js/tiny_mce/plugins/visualblocks/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/visualblocks/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/visualblocks/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/visualblocks/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/visualblocks/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/visualblocks/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/visualblocks/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/visualblocks/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/visualchars/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/visualchars/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/visualchars/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/visualchars/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/visualchars/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/visualchars/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/visualchars/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/visualchars/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/wordcount/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/wordcount/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/wordcount/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/wordcount/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/wordcount/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/wordcount/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/wordcount/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/wordcount/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/abbr.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/abbr.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/abbr.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/abbr.htm diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/acronym.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/acronym.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/acronym.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/acronym.htm diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/attributes.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/attributes.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/attributes.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/attributes.htm diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/cite.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/cite.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/cite.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/cite.htm diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/css/attributes.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/css/attributes.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/css/attributes.css diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/css/popup.css b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/css/popup.css similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/css/popup.css rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/css/popup.css diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/del.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/del.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/del.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/del.htm diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/editor_plugin.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/editor_plugin.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/editor_plugin.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/editor_plugin.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/ins.htm b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/ins.htm similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/ins.htm rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/ins.htm diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/abbr.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/abbr.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/abbr.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/acronym.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/acronym.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/acronym.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/attributes.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/attributes.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/attributes.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/cite.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/cite.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/cite.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/cite.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/del.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/del.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/del.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/del.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/element_common.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/element_common.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/element_common.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/element_common.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/ins.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/ins.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/js/ins.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/js/ins.js diff --git a/webapp/web/js/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/about.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/about.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/about.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/about.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/anchor.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/anchor.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/anchor.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/anchor.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/charmap.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/charmap.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/charmap.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/charmap.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/color_picker.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/color_picker.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/color_picker.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/color_picker.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/editor_template.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/editor_template.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/editor_template.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/editor_template.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/editor_template_src.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/editor_template_src.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/editor_template_src.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/editor_template_src.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/image.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/image.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/image.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/image.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/colorpicker.jpg b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/colorpicker.jpg similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/colorpicker.jpg rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/colorpicker.jpg diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/flash.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/flash.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/flash.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/flash.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/icons.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/icons.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/icons.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/icons.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/iframe.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/iframe.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/iframe.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/iframe.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/pagebreak.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/pagebreak.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/pagebreak.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/pagebreak.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/quicktime.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/quicktime.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/quicktime.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/quicktime.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/realmedia.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/realmedia.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/realmedia.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/realmedia.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/shockwave.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/shockwave.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/shockwave.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/shockwave.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/trans.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/trans.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/trans.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/trans.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/video.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/video.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/video.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/video.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/img/windowsmedia.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/windowsmedia.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/img/windowsmedia.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/img/windowsmedia.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/about.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/about.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/about.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/about.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/anchor.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/anchor.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/anchor.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/anchor.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/charmap.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/charmap.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/charmap.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/charmap.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/color_picker.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/color_picker.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/color_picker.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/color_picker.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/image.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/image.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/image.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/image.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/link.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/link.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/link.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/link.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/js/source_editor.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/source_editor.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/js/source_editor.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/js/source_editor.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/langs/en.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/langs/en.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/langs/en.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/langs/en.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/langs/en_dlg.js b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/langs/en_dlg.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/langs/en_dlg.js rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/langs/en_dlg.js diff --git a/webapp/web/js/tiny_mce/themes/advanced/link.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/link.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/link.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/link.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/shortcuts.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/shortcuts.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/shortcuts.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/shortcuts.htm diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/content.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/content.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/content.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/content.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/dialog.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/dialog.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/dialog.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/dialog.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/img/buttons.png b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/buttons.png similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/img/buttons.png rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/buttons.png diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/img/items.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/items.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/img/items.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/items.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/menu_check.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/img/menu_check.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/menu_check.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/img/progress.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/progress.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/img/progress.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/progress.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/img/tabs.gif b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/tabs.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/img/tabs.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/img/tabs.gif diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/default/ui.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/ui.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/default/ui.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/default/ui.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/highcontrast/content.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/highcontrast/content.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/highcontrast/content.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/highcontrast/content.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/highcontrast/dialog.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/highcontrast/dialog.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/highcontrast/dialog.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/highcontrast/dialog.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/highcontrast/ui.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/highcontrast/ui.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/highcontrast/ui.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/highcontrast/ui.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/content.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/content.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/content.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/content.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/dialog.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/dialog.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/dialog.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/dialog.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/ui.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/ui.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/ui.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/ui.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/ui_black.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/ui_black.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/ui_black.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/ui_black.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css diff --git a/webapp/web/js/tiny_mce/themes/advanced/source_editor.htm b/webapp/src/main/webapp/js/tiny_mce/themes/advanced/source_editor.htm similarity index 100% rename from webapp/web/js/tiny_mce/themes/advanced/source_editor.htm rename to webapp/src/main/webapp/js/tiny_mce/themes/advanced/source_editor.htm diff --git a/webapp/web/js/tiny_mce/themes/simple/editor_template.js b/webapp/src/main/webapp/js/tiny_mce/themes/simple/editor_template.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/editor_template.js rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/editor_template.js diff --git a/webapp/web/js/tiny_mce/themes/simple/editor_template_src.js b/webapp/src/main/webapp/js/tiny_mce/themes/simple/editor_template_src.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/editor_template_src.js rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/editor_template_src.js diff --git a/webapp/web/js/tiny_mce/themes/simple/img/icons.gif b/webapp/src/main/webapp/js/tiny_mce/themes/simple/img/icons.gif similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/img/icons.gif rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/img/icons.gif diff --git a/webapp/web/js/tiny_mce/themes/simple/langs/en.js b/webapp/src/main/webapp/js/tiny_mce/themes/simple/langs/en.js similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/langs/en.js rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/langs/en.js diff --git a/webapp/web/js/tiny_mce/themes/simple/skins/default/content.css b/webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/default/content.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/skins/default/content.css rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/default/content.css diff --git a/webapp/web/js/tiny_mce/themes/simple/skins/default/ui.css b/webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/default/ui.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/skins/default/ui.css rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/default/ui.css diff --git a/webapp/web/js/tiny_mce/themes/simple/skins/o2k7/content.css b/webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/o2k7/content.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/skins/o2k7/content.css rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/o2k7/content.css diff --git a/webapp/web/js/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png b/webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png diff --git a/webapp/web/js/tiny_mce/themes/simple/skins/o2k7/ui.css b/webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/o2k7/ui.css similarity index 100% rename from webapp/web/js/tiny_mce/themes/simple/skins/o2k7/ui.css rename to webapp/src/main/webapp/js/tiny_mce/themes/simple/skins/o2k7/ui.css diff --git a/webapp/web/js/tiny_mce/tiny_mce.js b/webapp/src/main/webapp/js/tiny_mce/tiny_mce.js similarity index 100% rename from webapp/web/js/tiny_mce/tiny_mce.js rename to webapp/src/main/webapp/js/tiny_mce/tiny_mce.js diff --git a/webapp/web/js/tiny_mce/tiny_mce_popup.js b/webapp/src/main/webapp/js/tiny_mce/tiny_mce_popup.js similarity index 100% rename from webapp/web/js/tiny_mce/tiny_mce_popup.js rename to webapp/src/main/webapp/js/tiny_mce/tiny_mce_popup.js diff --git a/webapp/web/js/tiny_mce/tiny_mce_src.js b/webapp/src/main/webapp/js/tiny_mce/tiny_mce_src.js similarity index 100% rename from webapp/web/js/tiny_mce/tiny_mce_src.js rename to webapp/src/main/webapp/js/tiny_mce/tiny_mce_src.js diff --git a/webapp/web/js/tiny_mce/utils/editable_selects.js b/webapp/src/main/webapp/js/tiny_mce/utils/editable_selects.js similarity index 100% rename from webapp/web/js/tiny_mce/utils/editable_selects.js rename to webapp/src/main/webapp/js/tiny_mce/utils/editable_selects.js diff --git a/webapp/web/js/tiny_mce/utils/form_utils.js b/webapp/src/main/webapp/js/tiny_mce/utils/form_utils.js similarity index 100% rename from webapp/web/js/tiny_mce/utils/form_utils.js rename to webapp/src/main/webapp/js/tiny_mce/utils/form_utils.js diff --git a/webapp/web/js/tiny_mce/utils/mctabs.js b/webapp/src/main/webapp/js/tiny_mce/utils/mctabs.js similarity index 100% rename from webapp/web/js/tiny_mce/utils/mctabs.js rename to webapp/src/main/webapp/js/tiny_mce/utils/mctabs.js diff --git a/webapp/web/js/tiny_mce/utils/validate.js b/webapp/src/main/webapp/js/tiny_mce/utils/validate.js similarity index 100% rename from webapp/web/js/tiny_mce/utils/validate.js rename to webapp/src/main/webapp/js/tiny_mce/utils/validate.js diff --git a/webapp/web/js/toggle.js b/webapp/src/main/webapp/js/toggle.js similarity index 100% rename from webapp/web/js/toggle.js rename to webapp/src/main/webapp/js/toggle.js diff --git a/webapp/web/js/userMenu/userMenuUtils.js b/webapp/src/main/webapp/js/userMenu/userMenuUtils.js similarity index 100% rename from webapp/web/js/userMenu/userMenuUtils.js rename to webapp/src/main/webapp/js/userMenu/userMenuUtils.js diff --git a/webapp/web/js/utils.js b/webapp/src/main/webapp/js/utils.js similarity index 100% rename from webapp/web/js/utils.js rename to webapp/src/main/webapp/js/utils.js diff --git a/webapp/web/js/vitro.js b/webapp/src/main/webapp/js/vitro.js similarity index 100% rename from webapp/web/js/vitro.js rename to webapp/src/main/webapp/js/vitro.js diff --git a/webapp/web/js/vitroUtils.js b/webapp/src/main/webapp/js/vitroUtils.js similarity index 100% rename from webapp/web/js/vitroUtils.js rename to webapp/src/main/webapp/js/vitroUtils.js diff --git a/webapp/web/jsp/checkDatatypeProperties.jsp b/webapp/src/main/webapp/jsp/checkDatatypeProperties.jsp similarity index 100% rename from webapp/web/jsp/checkDatatypeProperties.jsp rename to webapp/src/main/webapp/jsp/checkDatatypeProperties.jsp diff --git a/webapp/web/jsp/fileUploadError.jsp b/webapp/src/main/webapp/jsp/fileUploadError.jsp similarity index 100% rename from webapp/web/jsp/fileUploadError.jsp rename to webapp/src/main/webapp/jsp/fileUploadError.jsp diff --git a/webapp/web/robots.txt b/webapp/src/main/webapp/robots.txt similarity index 100% rename from webapp/web/robots.txt rename to webapp/src/main/webapp/robots.txt diff --git a/webapp/web/src/AdapterRegistry.js b/webapp/src/main/webapp/src/AdapterRegistry.js similarity index 100% rename from webapp/web/src/AdapterRegistry.js rename to webapp/src/main/webapp/src/AdapterRegistry.js diff --git a/webapp/web/src/Deferred.js b/webapp/src/main/webapp/src/Deferred.js similarity index 100% rename from webapp/web/src/Deferred.js rename to webapp/src/main/webapp/src/Deferred.js diff --git a/webapp/web/src/animation.js b/webapp/src/main/webapp/src/animation.js similarity index 100% rename from webapp/web/src/animation.js rename to webapp/src/main/webapp/src/animation.js diff --git a/webapp/web/src/animation/Animation.js b/webapp/src/main/webapp/src/animation/Animation.js similarity index 100% rename from webapp/web/src/animation/Animation.js rename to webapp/src/main/webapp/src/animation/Animation.js diff --git a/webapp/web/src/animation/AnimationEvent.js b/webapp/src/main/webapp/src/animation/AnimationEvent.js similarity index 100% rename from webapp/web/src/animation/AnimationEvent.js rename to webapp/src/main/webapp/src/animation/AnimationEvent.js diff --git a/webapp/web/src/animation/AnimationSequence.js b/webapp/src/main/webapp/src/animation/AnimationSequence.js similarity index 100% rename from webapp/web/src/animation/AnimationSequence.js rename to webapp/src/main/webapp/src/animation/AnimationSequence.js diff --git a/webapp/web/src/animation/Timer.js b/webapp/src/main/webapp/src/animation/Timer.js similarity index 100% rename from webapp/web/src/animation/Timer.js rename to webapp/src/main/webapp/src/animation/Timer.js diff --git a/webapp/web/src/animation/__package__.js b/webapp/src/main/webapp/src/animation/__package__.js similarity index 100% rename from webapp/web/src/animation/__package__.js rename to webapp/src/main/webapp/src/animation/__package__.js diff --git a/webapp/web/src/behavior.js b/webapp/src/main/webapp/src/behavior.js similarity index 100% rename from webapp/web/src/behavior.js rename to webapp/src/main/webapp/src/behavior.js diff --git a/webapp/web/src/bootstrap1.js b/webapp/src/main/webapp/src/bootstrap1.js similarity index 100% rename from webapp/web/src/bootstrap1.js rename to webapp/src/main/webapp/src/bootstrap1.js diff --git a/webapp/web/src/bootstrap2.js b/webapp/src/main/webapp/src/bootstrap2.js similarity index 100% rename from webapp/web/src/bootstrap2.js rename to webapp/src/main/webapp/src/bootstrap2.js diff --git a/webapp/web/src/browser_debug.js b/webapp/src/main/webapp/src/browser_debug.js similarity index 100% rename from webapp/web/src/browser_debug.js rename to webapp/src/main/webapp/src/browser_debug.js diff --git a/webapp/web/src/collections/ArrayList.js b/webapp/src/main/webapp/src/collections/ArrayList.js similarity index 100% rename from webapp/web/src/collections/ArrayList.js rename to webapp/src/main/webapp/src/collections/ArrayList.js diff --git a/webapp/web/src/collections/BinaryTree.js b/webapp/src/main/webapp/src/collections/BinaryTree.js similarity index 100% rename from webapp/web/src/collections/BinaryTree.js rename to webapp/src/main/webapp/src/collections/BinaryTree.js diff --git a/webapp/web/src/collections/Collections.js b/webapp/src/main/webapp/src/collections/Collections.js similarity index 100% rename from webapp/web/src/collections/Collections.js rename to webapp/src/main/webapp/src/collections/Collections.js diff --git a/webapp/web/src/collections/Dictionary.js b/webapp/src/main/webapp/src/collections/Dictionary.js similarity index 100% rename from webapp/web/src/collections/Dictionary.js rename to webapp/src/main/webapp/src/collections/Dictionary.js diff --git a/webapp/web/src/collections/Graph.js b/webapp/src/main/webapp/src/collections/Graph.js similarity index 100% rename from webapp/web/src/collections/Graph.js rename to webapp/src/main/webapp/src/collections/Graph.js diff --git a/webapp/web/src/collections/Queue.js b/webapp/src/main/webapp/src/collections/Queue.js similarity index 100% rename from webapp/web/src/collections/Queue.js rename to webapp/src/main/webapp/src/collections/Queue.js diff --git a/webapp/web/src/collections/Set.js b/webapp/src/main/webapp/src/collections/Set.js similarity index 100% rename from webapp/web/src/collections/Set.js rename to webapp/src/main/webapp/src/collections/Set.js diff --git a/webapp/web/src/collections/SkipList.js b/webapp/src/main/webapp/src/collections/SkipList.js similarity index 100% rename from webapp/web/src/collections/SkipList.js rename to webapp/src/main/webapp/src/collections/SkipList.js diff --git a/webapp/web/src/collections/SortedList.js b/webapp/src/main/webapp/src/collections/SortedList.js similarity index 100% rename from webapp/web/src/collections/SortedList.js rename to webapp/src/main/webapp/src/collections/SortedList.js diff --git a/webapp/web/src/collections/Stack.js b/webapp/src/main/webapp/src/collections/Stack.js similarity index 100% rename from webapp/web/src/collections/Stack.js rename to webapp/src/main/webapp/src/collections/Stack.js diff --git a/webapp/web/src/collections/__package__.js b/webapp/src/main/webapp/src/collections/__package__.js similarity index 100% rename from webapp/web/src/collections/__package__.js rename to webapp/src/main/webapp/src/collections/__package__.js diff --git a/webapp/web/src/compat/0.2.2.js b/webapp/src/main/webapp/src/compat/0.2.2.js similarity index 100% rename from webapp/web/src/compat/0.2.2.js rename to webapp/src/main/webapp/src/compat/0.2.2.js diff --git a/webapp/web/src/data.js b/webapp/src/main/webapp/src/data.js similarity index 100% rename from webapp/web/src/data.js rename to webapp/src/main/webapp/src/data.js diff --git a/webapp/web/src/data/Attribute.js b/webapp/src/main/webapp/src/data/Attribute.js similarity index 100% rename from webapp/web/src/data/Attribute.js rename to webapp/src/main/webapp/src/data/Attribute.js diff --git a/webapp/web/src/data/Item.js b/webapp/src/main/webapp/src/data/Item.js similarity index 100% rename from webapp/web/src/data/Item.js rename to webapp/src/main/webapp/src/data/Item.js diff --git a/webapp/web/src/data/Kind.js b/webapp/src/main/webapp/src/data/Kind.js similarity index 100% rename from webapp/web/src/data/Kind.js rename to webapp/src/main/webapp/src/data/Kind.js diff --git a/webapp/web/src/data/Observable.js b/webapp/src/main/webapp/src/data/Observable.js similarity index 100% rename from webapp/web/src/data/Observable.js rename to webapp/src/main/webapp/src/data/Observable.js diff --git a/webapp/web/src/data/ResultSet.js b/webapp/src/main/webapp/src/data/ResultSet.js similarity index 100% rename from webapp/web/src/data/ResultSet.js rename to webapp/src/main/webapp/src/data/ResultSet.js diff --git a/webapp/web/src/data/Type.js b/webapp/src/main/webapp/src/data/Type.js similarity index 100% rename from webapp/web/src/data/Type.js rename to webapp/src/main/webapp/src/data/Type.js diff --git a/webapp/web/src/data/Value.js b/webapp/src/main/webapp/src/data/Value.js similarity index 100% rename from webapp/web/src/data/Value.js rename to webapp/src/main/webapp/src/data/Value.js diff --git a/webapp/web/src/data/__package__.js b/webapp/src/main/webapp/src/data/__package__.js similarity index 100% rename from webapp/web/src/data/__package__.js rename to webapp/src/main/webapp/src/data/__package__.js diff --git a/webapp/web/src/data/format/Csv.js b/webapp/src/main/webapp/src/data/format/Csv.js similarity index 100% rename from webapp/web/src/data/format/Csv.js rename to webapp/src/main/webapp/src/data/format/Csv.js diff --git a/webapp/web/src/data/format/Json.js b/webapp/src/main/webapp/src/data/format/Json.js similarity index 100% rename from webapp/web/src/data/format/Json.js rename to webapp/src/main/webapp/src/data/format/Json.js diff --git a/webapp/web/src/data/provider/Base.js b/webapp/src/main/webapp/src/data/provider/Base.js similarity index 100% rename from webapp/web/src/data/provider/Base.js rename to webapp/src/main/webapp/src/data/provider/Base.js diff --git a/webapp/web/src/data/provider/Delicious.js b/webapp/src/main/webapp/src/data/provider/Delicious.js similarity index 100% rename from webapp/web/src/data/provider/Delicious.js rename to webapp/src/main/webapp/src/data/provider/Delicious.js diff --git a/webapp/web/src/data/provider/FlatFile.js b/webapp/src/main/webapp/src/data/provider/FlatFile.js similarity index 100% rename from webapp/web/src/data/provider/FlatFile.js rename to webapp/src/main/webapp/src/data/provider/FlatFile.js diff --git a/webapp/web/src/data/provider/JotSpot.js b/webapp/src/main/webapp/src/data/provider/JotSpot.js similarity index 100% rename from webapp/web/src/data/provider/JotSpot.js rename to webapp/src/main/webapp/src/data/provider/JotSpot.js diff --git a/webapp/web/src/data/provider/MySql.js b/webapp/src/main/webapp/src/data/provider/MySql.js similarity index 100% rename from webapp/web/src/data/provider/MySql.js rename to webapp/src/main/webapp/src/data/provider/MySql.js diff --git a/webapp/web/src/data/to_do.txt b/webapp/src/main/webapp/src/data/to_do.txt similarity index 100% rename from webapp/web/src/data/to_do.txt rename to webapp/src/main/webapp/src/data/to_do.txt diff --git a/webapp/web/src/date.js b/webapp/src/main/webapp/src/date.js similarity index 100% rename from webapp/web/src/date.js rename to webapp/src/main/webapp/src/date.js diff --git a/webapp/web/src/debug.js b/webapp/src/main/webapp/src/debug.js similarity index 100% rename from webapp/web/src/debug.js rename to webapp/src/main/webapp/src/debug.js diff --git a/webapp/web/src/debug/Firebug.js b/webapp/src/main/webapp/src/debug/Firebug.js similarity index 100% rename from webapp/web/src/debug/Firebug.js rename to webapp/src/main/webapp/src/debug/Firebug.js diff --git a/webapp/web/src/debug/arrow_hide.gif b/webapp/src/main/webapp/src/debug/arrow_hide.gif similarity index 100% rename from webapp/web/src/debug/arrow_hide.gif rename to webapp/src/main/webapp/src/debug/arrow_hide.gif diff --git a/webapp/web/src/debug/arrow_show.gif b/webapp/src/main/webapp/src/debug/arrow_show.gif similarity index 100% rename from webapp/web/src/debug/arrow_show.gif rename to webapp/src/main/webapp/src/debug/arrow_show.gif diff --git a/webapp/web/src/debug/deep.html b/webapp/src/main/webapp/src/debug/deep.html similarity index 100% rename from webapp/web/src/debug/deep.html rename to webapp/src/main/webapp/src/debug/deep.html diff --git a/webapp/web/src/debug/spacer.gif b/webapp/src/main/webapp/src/debug/spacer.gif similarity index 100% rename from webapp/web/src/debug/spacer.gif rename to webapp/src/main/webapp/src/debug/spacer.gif diff --git a/webapp/web/src/dnd/DragAndDrop.js b/webapp/src/main/webapp/src/dnd/DragAndDrop.js similarity index 100% rename from webapp/web/src/dnd/DragAndDrop.js rename to webapp/src/main/webapp/src/dnd/DragAndDrop.js diff --git a/webapp/web/src/dnd/HtmlDragAndDrop.js b/webapp/src/main/webapp/src/dnd/HtmlDragAndDrop.js similarity index 100% rename from webapp/web/src/dnd/HtmlDragAndDrop.js rename to webapp/src/main/webapp/src/dnd/HtmlDragAndDrop.js diff --git a/webapp/web/src/dnd/HtmlDragManager.js b/webapp/src/main/webapp/src/dnd/HtmlDragManager.js similarity index 100% rename from webapp/web/src/dnd/HtmlDragManager.js rename to webapp/src/main/webapp/src/dnd/HtmlDragManager.js diff --git a/webapp/web/src/dnd/HtmlDragMove.js b/webapp/src/main/webapp/src/dnd/HtmlDragMove.js similarity index 100% rename from webapp/web/src/dnd/HtmlDragMove.js rename to webapp/src/main/webapp/src/dnd/HtmlDragMove.js diff --git a/webapp/web/src/dnd/Sortable.js b/webapp/src/main/webapp/src/dnd/Sortable.js similarity index 100% rename from webapp/web/src/dnd/Sortable.js rename to webapp/src/main/webapp/src/dnd/Sortable.js diff --git a/webapp/web/src/dnd/TreeDragAndDrop.js b/webapp/src/main/webapp/src/dnd/TreeDragAndDrop.js similarity index 100% rename from webapp/web/src/dnd/TreeDragAndDrop.js rename to webapp/src/main/webapp/src/dnd/TreeDragAndDrop.js diff --git a/webapp/web/src/dnd/__package__.js b/webapp/src/main/webapp/src/dnd/__package__.js similarity index 100% rename from webapp/web/src/dnd/__package__.js rename to webapp/src/main/webapp/src/dnd/__package__.js diff --git a/webapp/web/src/doc.js b/webapp/src/main/webapp/src/doc.js similarity index 100% rename from webapp/web/src/doc.js rename to webapp/src/main/webapp/src/doc.js diff --git a/webapp/web/src/dom.js b/webapp/src/main/webapp/src/dom.js similarity index 100% rename from webapp/web/src/dom.js rename to webapp/src/main/webapp/src/dom.js diff --git a/webapp/web/src/event.js b/webapp/src/main/webapp/src/event.js similarity index 100% rename from webapp/web/src/event.js rename to webapp/src/main/webapp/src/event.js diff --git a/webapp/web/src/event/__package__.js b/webapp/src/main/webapp/src/event/__package__.js similarity index 100% rename from webapp/web/src/event/__package__.js rename to webapp/src/main/webapp/src/event/__package__.js diff --git a/webapp/web/src/event/browser.js b/webapp/src/main/webapp/src/event/browser.js similarity index 100% rename from webapp/web/src/event/browser.js rename to webapp/src/main/webapp/src/event/browser.js diff --git a/webapp/web/src/event/topic.js b/webapp/src/main/webapp/src/event/topic.js similarity index 100% rename from webapp/web/src/event/topic.js rename to webapp/src/main/webapp/src/event/topic.js diff --git a/webapp/web/src/experimental.js b/webapp/src/main/webapp/src/experimental.js similarity index 100% rename from webapp/web/src/experimental.js rename to webapp/src/main/webapp/src/experimental.js diff --git a/webapp/web/src/flash.js b/webapp/src/main/webapp/src/flash.js similarity index 100% rename from webapp/web/src/flash.js rename to webapp/src/main/webapp/src/flash.js diff --git a/webapp/web/src/flash/flash6/DojoExternalInterface.as b/webapp/src/main/webapp/src/flash/flash6/DojoExternalInterface.as similarity index 100% rename from webapp/web/src/flash/flash6/DojoExternalInterface.as rename to webapp/src/main/webapp/src/flash/flash6/DojoExternalInterface.as diff --git a/webapp/web/src/flash/flash6/flash6_gateway.fla b/webapp/src/main/webapp/src/flash/flash6/flash6_gateway.fla similarity index 100% rename from webapp/web/src/flash/flash6/flash6_gateway.fla rename to webapp/src/main/webapp/src/flash/flash6/flash6_gateway.fla diff --git a/webapp/web/src/flash/flash8/DojoExternalInterface.as b/webapp/src/main/webapp/src/flash/flash8/DojoExternalInterface.as similarity index 100% rename from webapp/web/src/flash/flash8/DojoExternalInterface.as rename to webapp/src/main/webapp/src/flash/flash8/DojoExternalInterface.as diff --git a/webapp/web/src/flash/flash8/ExpressInstall.as b/webapp/src/main/webapp/src/flash/flash8/ExpressInstall.as similarity index 100% rename from webapp/web/src/flash/flash8/ExpressInstall.as rename to webapp/src/main/webapp/src/flash/flash8/ExpressInstall.as diff --git a/webapp/web/src/fx/__package__.js b/webapp/src/main/webapp/src/fx/__package__.js similarity index 100% rename from webapp/web/src/fx/__package__.js rename to webapp/src/main/webapp/src/fx/__package__.js diff --git a/webapp/web/src/fx/html.js b/webapp/src/main/webapp/src/fx/html.js similarity index 100% rename from webapp/web/src/fx/html.js rename to webapp/src/main/webapp/src/fx/html.js diff --git a/webapp/web/src/fx/svg.js b/webapp/src/main/webapp/src/fx/svg.js similarity index 100% rename from webapp/web/src/fx/svg.js rename to webapp/src/main/webapp/src/fx/svg.js diff --git a/webapp/web/src/graphics/Colorspace.js b/webapp/src/main/webapp/src/graphics/Colorspace.js similarity index 100% rename from webapp/web/src/graphics/Colorspace.js rename to webapp/src/main/webapp/src/graphics/Colorspace.js diff --git a/webapp/web/src/graphics/__package__.js b/webapp/src/main/webapp/src/graphics/__package__.js similarity index 100% rename from webapp/web/src/graphics/__package__.js rename to webapp/src/main/webapp/src/graphics/__package__.js diff --git a/webapp/web/src/graphics/color.js b/webapp/src/main/webapp/src/graphics/color.js similarity index 100% rename from webapp/web/src/graphics/color.js rename to webapp/src/main/webapp/src/graphics/color.js diff --git a/webapp/web/src/graphics/color/hsl.js b/webapp/src/main/webapp/src/graphics/color/hsl.js similarity index 100% rename from webapp/web/src/graphics/color/hsl.js rename to webapp/src/main/webapp/src/graphics/color/hsl.js diff --git a/webapp/web/src/graphics/color/hsv.js b/webapp/src/main/webapp/src/graphics/color/hsv.js similarity index 100% rename from webapp/web/src/graphics/color/hsv.js rename to webapp/src/main/webapp/src/graphics/color/hsv.js diff --git a/webapp/web/src/hostenv_adobesvg.js b/webapp/src/main/webapp/src/hostenv_adobesvg.js similarity index 100% rename from webapp/web/src/hostenv_adobesvg.js rename to webapp/src/main/webapp/src/hostenv_adobesvg.js diff --git a/webapp/web/src/hostenv_browser.js b/webapp/src/main/webapp/src/hostenv_browser.js similarity index 100% rename from webapp/web/src/hostenv_browser.js rename to webapp/src/main/webapp/src/hostenv_browser.js diff --git a/webapp/web/src/hostenv_dashboard.js b/webapp/src/main/webapp/src/hostenv_dashboard.js similarity index 100% rename from webapp/web/src/hostenv_dashboard.js rename to webapp/src/main/webapp/src/hostenv_dashboard.js diff --git a/webapp/web/src/hostenv_jsc.js b/webapp/src/main/webapp/src/hostenv_jsc.js similarity index 100% rename from webapp/web/src/hostenv_jsc.js rename to webapp/src/main/webapp/src/hostenv_jsc.js diff --git a/webapp/web/src/hostenv_rhino.js b/webapp/src/main/webapp/src/hostenv_rhino.js similarity index 100% rename from webapp/web/src/hostenv_rhino.js rename to webapp/src/main/webapp/src/hostenv_rhino.js diff --git a/webapp/web/src/hostenv_spidermonkey.js b/webapp/src/main/webapp/src/hostenv_spidermonkey.js similarity index 100% rename from webapp/web/src/hostenv_spidermonkey.js rename to webapp/src/main/webapp/src/hostenv_spidermonkey.js diff --git a/webapp/web/src/hostenv_svg.js b/webapp/src/main/webapp/src/hostenv_svg.js similarity index 100% rename from webapp/web/src/hostenv_svg.js rename to webapp/src/main/webapp/src/hostenv_svg.js diff --git a/webapp/web/src/hostenv_wsh.js b/webapp/src/main/webapp/src/hostenv_wsh.js similarity index 100% rename from webapp/web/src/hostenv_wsh.js rename to webapp/src/main/webapp/src/hostenv_wsh.js diff --git a/webapp/web/src/html.js b/webapp/src/main/webapp/src/html.js similarity index 100% rename from webapp/web/src/html.js rename to webapp/src/main/webapp/src/html.js diff --git a/webapp/web/src/html/__package__.js b/webapp/src/main/webapp/src/html/__package__.js similarity index 100% rename from webapp/web/src/html/__package__.js rename to webapp/src/main/webapp/src/html/__package__.js diff --git a/webapp/web/src/html/extras.js b/webapp/src/main/webapp/src/html/extras.js similarity index 100% rename from webapp/web/src/html/extras.js rename to webapp/src/main/webapp/src/html/extras.js diff --git a/webapp/web/src/html/images/shadowB.png b/webapp/src/main/webapp/src/html/images/shadowB.png similarity index 100% rename from webapp/web/src/html/images/shadowB.png rename to webapp/src/main/webapp/src/html/images/shadowB.png diff --git a/webapp/web/src/html/images/shadowBL.png b/webapp/src/main/webapp/src/html/images/shadowBL.png similarity index 100% rename from webapp/web/src/html/images/shadowBL.png rename to webapp/src/main/webapp/src/html/images/shadowBL.png diff --git a/webapp/web/src/html/images/shadowBR.png b/webapp/src/main/webapp/src/html/images/shadowBR.png similarity index 100% rename from webapp/web/src/html/images/shadowBR.png rename to webapp/src/main/webapp/src/html/images/shadowBR.png diff --git a/webapp/web/src/html/images/shadowL.png b/webapp/src/main/webapp/src/html/images/shadowL.png similarity index 100% rename from webapp/web/src/html/images/shadowL.png rename to webapp/src/main/webapp/src/html/images/shadowL.png diff --git a/webapp/web/src/html/images/shadowR.png b/webapp/src/main/webapp/src/html/images/shadowR.png similarity index 100% rename from webapp/web/src/html/images/shadowR.png rename to webapp/src/main/webapp/src/html/images/shadowR.png diff --git a/webapp/web/src/html/images/shadowT.png b/webapp/src/main/webapp/src/html/images/shadowT.png similarity index 100% rename from webapp/web/src/html/images/shadowT.png rename to webapp/src/main/webapp/src/html/images/shadowT.png diff --git a/webapp/web/src/html/images/shadowTL.png b/webapp/src/main/webapp/src/html/images/shadowTL.png similarity index 100% rename from webapp/web/src/html/images/shadowTL.png rename to webapp/src/main/webapp/src/html/images/shadowTL.png diff --git a/webapp/web/src/html/images/shadowTR..png b/webapp/src/main/webapp/src/html/images/shadowTR..png similarity index 100% rename from webapp/web/src/html/images/shadowTR..png rename to webapp/src/main/webapp/src/html/images/shadowTR..png diff --git a/webapp/web/src/html/images/shadowTR.png b/webapp/src/main/webapp/src/html/images/shadowTR.png similarity index 100% rename from webapp/web/src/html/images/shadowTR.png rename to webapp/src/main/webapp/src/html/images/shadowTR.png diff --git a/webapp/web/src/html/layout.js b/webapp/src/main/webapp/src/html/layout.js similarity index 100% rename from webapp/web/src/html/layout.js rename to webapp/src/main/webapp/src/html/layout.js diff --git a/webapp/web/src/html/shadow.js b/webapp/src/main/webapp/src/html/shadow.js similarity index 100% rename from webapp/web/src/html/shadow.js rename to webapp/src/main/webapp/src/html/shadow.js diff --git a/webapp/web/src/i18n/common.js b/webapp/src/main/webapp/src/i18n/common.js similarity index 100% rename from webapp/web/src/i18n/common.js rename to webapp/src/main/webapp/src/i18n/common.js diff --git a/webapp/web/src/iCalendar.js b/webapp/src/main/webapp/src/iCalendar.js similarity index 100% rename from webapp/web/src/iCalendar.js rename to webapp/src/main/webapp/src/iCalendar.js diff --git a/webapp/web/src/io.js b/webapp/src/main/webapp/src/io.js similarity index 100% rename from webapp/web/src/io.js rename to webapp/src/main/webapp/src/io.js diff --git a/webapp/web/src/io/BrowserIO.js b/webapp/src/main/webapp/src/io/BrowserIO.js similarity index 100% rename from webapp/web/src/io/BrowserIO.js rename to webapp/src/main/webapp/src/io/BrowserIO.js diff --git a/webapp/web/src/io/IframeIO.js b/webapp/src/main/webapp/src/io/IframeIO.js similarity index 100% rename from webapp/web/src/io/IframeIO.js rename to webapp/src/main/webapp/src/io/IframeIO.js diff --git a/webapp/web/src/io/RepubsubIO.js b/webapp/src/main/webapp/src/io/RepubsubIO.js similarity index 100% rename from webapp/web/src/io/RepubsubIO.js rename to webapp/src/main/webapp/src/io/RepubsubIO.js diff --git a/webapp/web/src/io/RhinoIO.js b/webapp/src/main/webapp/src/io/RhinoIO.js similarity index 100% rename from webapp/web/src/io/RhinoIO.js rename to webapp/src/main/webapp/src/io/RhinoIO.js diff --git a/webapp/web/src/io/ScriptSrcIO.js b/webapp/src/main/webapp/src/io/ScriptSrcIO.js similarity index 100% rename from webapp/web/src/io/ScriptSrcIO.js rename to webapp/src/main/webapp/src/io/ScriptSrcIO.js diff --git a/webapp/web/src/io/ShortBusIO.js b/webapp/src/main/webapp/src/io/ShortBusIO.js similarity index 100% rename from webapp/web/src/io/ShortBusIO.js rename to webapp/src/main/webapp/src/io/ShortBusIO.js diff --git a/webapp/web/src/io/ShortBusInit.html b/webapp/src/main/webapp/src/io/ShortBusInit.html similarity index 100% rename from webapp/web/src/io/ShortBusInit.html rename to webapp/src/main/webapp/src/io/ShortBusInit.html diff --git a/webapp/web/src/io/__package__.js b/webapp/src/main/webapp/src/io/__package__.js similarity index 100% rename from webapp/web/src/io/__package__.js rename to webapp/src/main/webapp/src/io/__package__.js diff --git a/webapp/web/src/io/cookie.js b/webapp/src/main/webapp/src/io/cookie.js similarity index 100% rename from webapp/web/src/io/cookie.js rename to webapp/src/main/webapp/src/io/cookie.js diff --git a/webapp/web/src/io/cookies.js b/webapp/src/main/webapp/src/io/cookies.js similarity index 100% rename from webapp/web/src/io/cookies.js rename to webapp/src/main/webapp/src/io/cookies.js diff --git a/webapp/web/src/json.js b/webapp/src/main/webapp/src/json.js similarity index 100% rename from webapp/web/src/json.js rename to webapp/src/main/webapp/src/json.js diff --git a/webapp/web/src/lang.js b/webapp/src/main/webapp/src/lang.js similarity index 100% rename from webapp/web/src/lang.js rename to webapp/src/main/webapp/src/lang.js diff --git a/webapp/web/src/lang/Lang.js b/webapp/src/main/webapp/src/lang/Lang.js similarity index 100% rename from webapp/web/src/lang/Lang.js rename to webapp/src/main/webapp/src/lang/Lang.js diff --git a/webapp/web/src/lang/__package__.js b/webapp/src/main/webapp/src/lang/__package__.js similarity index 100% rename from webapp/web/src/lang/__package__.js rename to webapp/src/main/webapp/src/lang/__package__.js diff --git a/webapp/web/src/lang/array.js b/webapp/src/main/webapp/src/lang/array.js similarity index 100% rename from webapp/web/src/lang/array.js rename to webapp/src/main/webapp/src/lang/array.js diff --git a/webapp/web/src/lang/assert.js b/webapp/src/main/webapp/src/lang/assert.js similarity index 100% rename from webapp/web/src/lang/assert.js rename to webapp/src/main/webapp/src/lang/assert.js diff --git a/webapp/web/src/lang/common.js b/webapp/src/main/webapp/src/lang/common.js similarity index 100% rename from webapp/web/src/lang/common.js rename to webapp/src/main/webapp/src/lang/common.js diff --git a/webapp/web/src/lang/declare.js b/webapp/src/main/webapp/src/lang/declare.js similarity index 100% rename from webapp/web/src/lang/declare.js rename to webapp/src/main/webapp/src/lang/declare.js diff --git a/webapp/web/src/lang/extras.js b/webapp/src/main/webapp/src/lang/extras.js similarity index 100% rename from webapp/web/src/lang/extras.js rename to webapp/src/main/webapp/src/lang/extras.js diff --git a/webapp/web/src/lang/func.js b/webapp/src/main/webapp/src/lang/func.js similarity index 100% rename from webapp/web/src/lang/func.js rename to webapp/src/main/webapp/src/lang/func.js diff --git a/webapp/web/src/lang/repr.js b/webapp/src/main/webapp/src/lang/repr.js similarity index 100% rename from webapp/web/src/lang/repr.js rename to webapp/src/main/webapp/src/lang/repr.js diff --git a/webapp/web/src/lang/type.js b/webapp/src/main/webapp/src/lang/type.js similarity index 100% rename from webapp/web/src/lang/type.js rename to webapp/src/main/webapp/src/lang/type.js diff --git a/webapp/web/src/lfx/Animation.js b/webapp/src/main/webapp/src/lfx/Animation.js similarity index 100% rename from webapp/web/src/lfx/Animation.js rename to webapp/src/main/webapp/src/lfx/Animation.js diff --git a/webapp/web/src/lfx/__package__.js b/webapp/src/main/webapp/src/lfx/__package__.js similarity index 100% rename from webapp/web/src/lfx/__package__.js rename to webapp/src/main/webapp/src/lfx/__package__.js diff --git a/webapp/web/src/lfx/extras.js b/webapp/src/main/webapp/src/lfx/extras.js similarity index 100% rename from webapp/web/src/lfx/extras.js rename to webapp/src/main/webapp/src/lfx/extras.js diff --git a/webapp/web/src/lfx/html.js b/webapp/src/main/webapp/src/lfx/html.js similarity index 100% rename from webapp/web/src/lfx/html.js rename to webapp/src/main/webapp/src/lfx/html.js diff --git a/webapp/web/src/lfx/toggle.js b/webapp/src/main/webapp/src/lfx/toggle.js similarity index 100% rename from webapp/web/src/lfx/toggle.js rename to webapp/src/main/webapp/src/lfx/toggle.js diff --git a/webapp/web/src/loader.js b/webapp/src/main/webapp/src/loader.js similarity index 100% rename from webapp/web/src/loader.js rename to webapp/src/main/webapp/src/loader.js diff --git a/webapp/web/src/loader_xd.js b/webapp/src/main/webapp/src/loader_xd.js similarity index 100% rename from webapp/web/src/loader_xd.js rename to webapp/src/main/webapp/src/loader_xd.js diff --git a/webapp/web/src/logging/Logger.js b/webapp/src/main/webapp/src/logging/Logger.js similarity index 100% rename from webapp/web/src/logging/Logger.js rename to webapp/src/main/webapp/src/logging/Logger.js diff --git a/webapp/web/src/logging/__package__.js b/webapp/src/main/webapp/src/logging/__package__.js similarity index 100% rename from webapp/web/src/logging/__package__.js rename to webapp/src/main/webapp/src/logging/__package__.js diff --git a/webapp/web/src/math.js b/webapp/src/main/webapp/src/math.js similarity index 100% rename from webapp/web/src/math.js rename to webapp/src/main/webapp/src/math.js diff --git a/webapp/web/src/math/Math.js b/webapp/src/main/webapp/src/math/Math.js similarity index 100% rename from webapp/web/src/math/Math.js rename to webapp/src/main/webapp/src/math/Math.js diff --git a/webapp/web/src/math/__package__.js b/webapp/src/main/webapp/src/math/__package__.js similarity index 100% rename from webapp/web/src/math/__package__.js rename to webapp/src/main/webapp/src/math/__package__.js diff --git a/webapp/web/src/math/curves.js b/webapp/src/main/webapp/src/math/curves.js similarity index 100% rename from webapp/web/src/math/curves.js rename to webapp/src/main/webapp/src/math/curves.js diff --git a/webapp/web/src/math/matrix.js b/webapp/src/main/webapp/src/math/matrix.js similarity index 100% rename from webapp/web/src/math/matrix.js rename to webapp/src/main/webapp/src/math/matrix.js diff --git a/webapp/web/src/math/points.js b/webapp/src/main/webapp/src/math/points.js similarity index 100% rename from webapp/web/src/math/points.js rename to webapp/src/main/webapp/src/math/points.js diff --git a/webapp/web/src/profile.js b/webapp/src/main/webapp/src/profile.js similarity index 100% rename from webapp/web/src/profile.js rename to webapp/src/main/webapp/src/profile.js diff --git a/webapp/web/src/reflect/__package__.js b/webapp/src/main/webapp/src/reflect/__package__.js similarity index 100% rename from webapp/web/src/reflect/__package__.js rename to webapp/src/main/webapp/src/reflect/__package__.js diff --git a/webapp/web/src/reflect/reflection.js b/webapp/src/main/webapp/src/reflect/reflection.js similarity index 100% rename from webapp/web/src/reflect/reflection.js rename to webapp/src/main/webapp/src/reflect/reflection.js diff --git a/webapp/web/src/regexp.js b/webapp/src/main/webapp/src/regexp.js similarity index 100% rename from webapp/web/src/regexp.js rename to webapp/src/main/webapp/src/regexp.js diff --git a/webapp/web/src/rpc/Deferred.js b/webapp/src/main/webapp/src/rpc/Deferred.js similarity index 100% rename from webapp/web/src/rpc/Deferred.js rename to webapp/src/main/webapp/src/rpc/Deferred.js diff --git a/webapp/web/src/rpc/JotService.js b/webapp/src/main/webapp/src/rpc/JotService.js similarity index 100% rename from webapp/web/src/rpc/JotService.js rename to webapp/src/main/webapp/src/rpc/JotService.js diff --git a/webapp/web/src/rpc/JsonService.js b/webapp/src/main/webapp/src/rpc/JsonService.js similarity index 100% rename from webapp/web/src/rpc/JsonService.js rename to webapp/src/main/webapp/src/rpc/JsonService.js diff --git a/webapp/web/src/rpc/RpcService.js b/webapp/src/main/webapp/src/rpc/RpcService.js similarity index 100% rename from webapp/web/src/rpc/RpcService.js rename to webapp/src/main/webapp/src/rpc/RpcService.js diff --git a/webapp/web/src/rpc/YahooService.js b/webapp/src/main/webapp/src/rpc/YahooService.js similarity index 100% rename from webapp/web/src/rpc/YahooService.js rename to webapp/src/main/webapp/src/rpc/YahooService.js diff --git a/webapp/web/src/rpc/__package__.js b/webapp/src/main/webapp/src/rpc/__package__.js similarity index 100% rename from webapp/web/src/rpc/__package__.js rename to webapp/src/main/webapp/src/rpc/__package__.js diff --git a/webapp/web/src/rpc/yahoo.smd b/webapp/src/main/webapp/src/rpc/yahoo.smd similarity index 100% rename from webapp/web/src/rpc/yahoo.smd rename to webapp/src/main/webapp/src/rpc/yahoo.smd diff --git a/webapp/web/src/selection/Selection.js b/webapp/src/main/webapp/src/selection/Selection.js similarity index 100% rename from webapp/web/src/selection/Selection.js rename to webapp/src/main/webapp/src/selection/Selection.js diff --git a/webapp/web/src/storage.js b/webapp/src/main/webapp/src/storage.js similarity index 100% rename from webapp/web/src/storage.js rename to webapp/src/main/webapp/src/storage.js diff --git a/webapp/web/src/storage/Storage.as b/webapp/src/main/webapp/src/storage/Storage.as similarity index 100% rename from webapp/web/src/storage/Storage.as rename to webapp/src/main/webapp/src/storage/Storage.as diff --git a/webapp/web/src/storage/__package__.js b/webapp/src/main/webapp/src/storage/__package__.js similarity index 100% rename from webapp/web/src/storage/__package__.js rename to webapp/src/main/webapp/src/storage/__package__.js diff --git a/webapp/web/src/storage/browser.js b/webapp/src/main/webapp/src/storage/browser.js similarity index 100% rename from webapp/web/src/storage/browser.js rename to webapp/src/main/webapp/src/storage/browser.js diff --git a/webapp/web/src/storage/dashboard.js b/webapp/src/main/webapp/src/storage/dashboard.js similarity index 100% rename from webapp/web/src/storage/dashboard.js rename to webapp/src/main/webapp/src/storage/dashboard.js diff --git a/webapp/web/src/storage/storage_dialog.fla b/webapp/src/main/webapp/src/storage/storage_dialog.fla similarity index 100% rename from webapp/web/src/storage/storage_dialog.fla rename to webapp/src/main/webapp/src/storage/storage_dialog.fla diff --git a/webapp/web/src/string.js b/webapp/src/main/webapp/src/string.js similarity index 100% rename from webapp/web/src/string.js rename to webapp/src/main/webapp/src/string.js diff --git a/webapp/web/src/string/Builder.js b/webapp/src/main/webapp/src/string/Builder.js similarity index 100% rename from webapp/web/src/string/Builder.js rename to webapp/src/main/webapp/src/string/Builder.js diff --git a/webapp/web/src/string/__package__.js b/webapp/src/main/webapp/src/string/__package__.js similarity index 100% rename from webapp/web/src/string/__package__.js rename to webapp/src/main/webapp/src/string/__package__.js diff --git a/webapp/web/src/string/common.js b/webapp/src/main/webapp/src/string/common.js similarity index 100% rename from webapp/web/src/string/common.js rename to webapp/src/main/webapp/src/string/common.js diff --git a/webapp/web/src/string/extras.js b/webapp/src/main/webapp/src/string/extras.js similarity index 100% rename from webapp/web/src/string/extras.js rename to webapp/src/main/webapp/src/string/extras.js diff --git a/webapp/web/src/style.js b/webapp/src/main/webapp/src/style.js similarity index 100% rename from webapp/web/src/style.js rename to webapp/src/main/webapp/src/style.js diff --git a/webapp/web/src/svg.js b/webapp/src/main/webapp/src/svg.js similarity index 100% rename from webapp/web/src/svg.js rename to webapp/src/main/webapp/src/svg.js diff --git a/webapp/web/src/text/Builder.js b/webapp/src/main/webapp/src/text/Builder.js similarity index 100% rename from webapp/web/src/text/Builder.js rename to webapp/src/main/webapp/src/text/Builder.js diff --git a/webapp/web/src/text/String.js b/webapp/src/main/webapp/src/text/String.js similarity index 100% rename from webapp/web/src/text/String.js rename to webapp/src/main/webapp/src/text/String.js diff --git a/webapp/web/src/text/Text.js b/webapp/src/main/webapp/src/text/Text.js similarity index 100% rename from webapp/web/src/text/Text.js rename to webapp/src/main/webapp/src/text/Text.js diff --git a/webapp/web/src/text/__package__.js b/webapp/src/main/webapp/src/text/__package__.js similarity index 100% rename from webapp/web/src/text/__package__.js rename to webapp/src/main/webapp/src/text/__package__.js diff --git a/webapp/web/src/text/textDirectory.js b/webapp/src/main/webapp/src/text/textDirectory.js similarity index 100% rename from webapp/web/src/text/textDirectory.js rename to webapp/src/main/webapp/src/text/textDirectory.js diff --git a/webapp/web/src/undo/Manager.js b/webapp/src/main/webapp/src/undo/Manager.js similarity index 100% rename from webapp/web/src/undo/Manager.js rename to webapp/src/main/webapp/src/undo/Manager.js diff --git a/webapp/web/src/undo/__package__.js b/webapp/src/main/webapp/src/undo/__package__.js similarity index 100% rename from webapp/web/src/undo/__package__.js rename to webapp/src/main/webapp/src/undo/__package__.js diff --git a/webapp/web/src/undo/browser.js b/webapp/src/main/webapp/src/undo/browser.js similarity index 100% rename from webapp/web/src/undo/browser.js rename to webapp/src/main/webapp/src/undo/browser.js diff --git a/webapp/web/src/uri/Uri.js b/webapp/src/main/webapp/src/uri/Uri.js similarity index 100% rename from webapp/web/src/uri/Uri.js rename to webapp/src/main/webapp/src/uri/Uri.js diff --git a/webapp/web/src/uri/__package__.js b/webapp/src/main/webapp/src/uri/__package__.js similarity index 100% rename from webapp/web/src/uri/__package__.js rename to webapp/src/main/webapp/src/uri/__package__.js diff --git a/webapp/web/src/uuid/LightweightGenerator.js b/webapp/src/main/webapp/src/uuid/LightweightGenerator.js similarity index 100% rename from webapp/web/src/uuid/LightweightGenerator.js rename to webapp/src/main/webapp/src/uuid/LightweightGenerator.js diff --git a/webapp/web/src/uuid/NameBasedGenerator.js b/webapp/src/main/webapp/src/uuid/NameBasedGenerator.js similarity index 100% rename from webapp/web/src/uuid/NameBasedGenerator.js rename to webapp/src/main/webapp/src/uuid/NameBasedGenerator.js diff --git a/webapp/web/src/uuid/NilGenerator.js b/webapp/src/main/webapp/src/uuid/NilGenerator.js similarity index 100% rename from webapp/web/src/uuid/NilGenerator.js rename to webapp/src/main/webapp/src/uuid/NilGenerator.js diff --git a/webapp/web/src/uuid/RandomGenerator.js b/webapp/src/main/webapp/src/uuid/RandomGenerator.js similarity index 100% rename from webapp/web/src/uuid/RandomGenerator.js rename to webapp/src/main/webapp/src/uuid/RandomGenerator.js diff --git a/webapp/web/src/uuid/TimeBasedGenerator.js b/webapp/src/main/webapp/src/uuid/TimeBasedGenerator.js similarity index 100% rename from webapp/web/src/uuid/TimeBasedGenerator.js rename to webapp/src/main/webapp/src/uuid/TimeBasedGenerator.js diff --git a/webapp/web/src/uuid/Uuid.js b/webapp/src/main/webapp/src/uuid/Uuid.js similarity index 100% rename from webapp/web/src/uuid/Uuid.js rename to webapp/src/main/webapp/src/uuid/Uuid.js diff --git a/webapp/web/src/uuid/__package__.js b/webapp/src/main/webapp/src/uuid/__package__.js similarity index 100% rename from webapp/web/src/uuid/__package__.js rename to webapp/src/main/webapp/src/uuid/__package__.js diff --git a/webapp/web/src/validate.js b/webapp/src/main/webapp/src/validate.js similarity index 100% rename from webapp/web/src/validate.js rename to webapp/src/main/webapp/src/validate.js diff --git a/webapp/web/src/validate/__package__.js b/webapp/src/main/webapp/src/validate/__package__.js similarity index 100% rename from webapp/web/src/validate/__package__.js rename to webapp/src/main/webapp/src/validate/__package__.js diff --git a/webapp/web/src/validate/check.js b/webapp/src/main/webapp/src/validate/check.js similarity index 100% rename from webapp/web/src/validate/check.js rename to webapp/src/main/webapp/src/validate/check.js diff --git a/webapp/web/src/validate/common.js b/webapp/src/main/webapp/src/validate/common.js similarity index 100% rename from webapp/web/src/validate/common.js rename to webapp/src/main/webapp/src/validate/common.js diff --git a/webapp/web/src/validate/datetime.js b/webapp/src/main/webapp/src/validate/datetime.js similarity index 100% rename from webapp/web/src/validate/datetime.js rename to webapp/src/main/webapp/src/validate/datetime.js diff --git a/webapp/web/src/validate/de.js b/webapp/src/main/webapp/src/validate/de.js similarity index 100% rename from webapp/web/src/validate/de.js rename to webapp/src/main/webapp/src/validate/de.js diff --git a/webapp/web/src/validate/jp.js b/webapp/src/main/webapp/src/validate/jp.js similarity index 100% rename from webapp/web/src/validate/jp.js rename to webapp/src/main/webapp/src/validate/jp.js diff --git a/webapp/web/src/validate/us.js b/webapp/src/main/webapp/src/validate/us.js similarity index 100% rename from webapp/web/src/validate/us.js rename to webapp/src/main/webapp/src/validate/us.js diff --git a/webapp/web/src/validate/web.js b/webapp/src/main/webapp/src/validate/web.js similarity index 100% rename from webapp/web/src/validate/web.js rename to webapp/src/main/webapp/src/validate/web.js diff --git a/webapp/web/src/widget/AccordionContainer.js b/webapp/src/main/webapp/src/widget/AccordionContainer.js similarity index 100% rename from webapp/web/src/widget/AccordionContainer.js rename to webapp/src/main/webapp/src/widget/AccordionContainer.js diff --git a/webapp/web/src/widget/AccordionPane.js b/webapp/src/main/webapp/src/widget/AccordionPane.js similarity index 100% rename from webapp/web/src/widget/AccordionPane.js rename to webapp/src/main/webapp/src/widget/AccordionPane.js diff --git a/webapp/web/src/widget/AnimatedPng.js b/webapp/src/main/webapp/src/widget/AnimatedPng.js similarity index 100% rename from webapp/web/src/widget/AnimatedPng.js rename to webapp/src/main/webapp/src/widget/AnimatedPng.js diff --git a/webapp/web/src/widget/Button.js b/webapp/src/main/webapp/src/widget/Button.js similarity index 100% rename from webapp/web/src/widget/Button.js rename to webapp/src/main/webapp/src/widget/Button.js diff --git a/webapp/web/src/widget/Button2.js b/webapp/src/main/webapp/src/widget/Button2.js similarity index 100% rename from webapp/web/src/widget/Button2.js rename to webapp/src/main/webapp/src/widget/Button2.js diff --git a/webapp/web/src/widget/Chart.js b/webapp/src/main/webapp/src/widget/Chart.js similarity index 100% rename from webapp/web/src/widget/Chart.js rename to webapp/src/main/webapp/src/widget/Chart.js diff --git a/webapp/web/src/widget/Checkbox.js b/webapp/src/main/webapp/src/widget/Checkbox.js similarity index 100% rename from webapp/web/src/widget/Checkbox.js rename to webapp/src/main/webapp/src/widget/Checkbox.js diff --git a/webapp/web/src/widget/CiviCrmDatePicker.js b/webapp/src/main/webapp/src/widget/CiviCrmDatePicker.js similarity index 100% rename from webapp/web/src/widget/CiviCrmDatePicker.js rename to webapp/src/main/webapp/src/widget/CiviCrmDatePicker.js diff --git a/webapp/web/src/widget/ColorPalette.js b/webapp/src/main/webapp/src/widget/ColorPalette.js similarity index 100% rename from webapp/web/src/widget/ColorPalette.js rename to webapp/src/main/webapp/src/widget/ColorPalette.js diff --git a/webapp/web/src/widget/ComboBox.js b/webapp/src/main/webapp/src/widget/ComboBox.js similarity index 100% rename from webapp/web/src/widget/ComboBox.js rename to webapp/src/main/webapp/src/widget/ComboBox.js diff --git a/webapp/web/src/widget/ContentPane.js b/webapp/src/main/webapp/src/widget/ContentPane.js similarity index 100% rename from webapp/web/src/widget/ContentPane.js rename to webapp/src/main/webapp/src/widget/ContentPane.js diff --git a/webapp/web/src/widget/ContextMenu.js b/webapp/src/main/webapp/src/widget/ContextMenu.js similarity index 100% rename from webapp/web/src/widget/ContextMenu.js rename to webapp/src/main/webapp/src/widget/ContextMenu.js diff --git a/webapp/web/src/widget/DatePicker.js b/webapp/src/main/webapp/src/widget/DatePicker.js similarity index 100% rename from webapp/web/src/widget/DatePicker.js rename to webapp/src/main/webapp/src/widget/DatePicker.js diff --git a/webapp/web/src/widget/DebugConsole.js b/webapp/src/main/webapp/src/widget/DebugConsole.js similarity index 100% rename from webapp/web/src/widget/DebugConsole.js rename to webapp/src/main/webapp/src/widget/DebugConsole.js diff --git a/webapp/web/src/widget/Dialog.js b/webapp/src/main/webapp/src/widget/Dialog.js similarity index 100% rename from webapp/web/src/widget/Dialog.js rename to webapp/src/main/webapp/src/widget/Dialog.js diff --git a/webapp/web/src/widget/DocPane.js b/webapp/src/main/webapp/src/widget/DocPane.js similarity index 100% rename from webapp/web/src/widget/DocPane.js rename to webapp/src/main/webapp/src/widget/DocPane.js diff --git a/webapp/web/src/widget/DomWidget.js b/webapp/src/main/webapp/src/widget/DomWidget.js similarity index 100% rename from webapp/web/src/widget/DomWidget.js rename to webapp/src/main/webapp/src/widget/DomWidget.js diff --git a/webapp/web/src/widget/DropdownButton.js b/webapp/src/main/webapp/src/widget/DropdownButton.js similarity index 100% rename from webapp/web/src/widget/DropdownButton.js rename to webapp/src/main/webapp/src/widget/DropdownButton.js diff --git a/webapp/web/src/widget/DropdownContainer.js b/webapp/src/main/webapp/src/widget/DropdownContainer.js similarity index 100% rename from webapp/web/src/widget/DropdownContainer.js rename to webapp/src/main/webapp/src/widget/DropdownContainer.js diff --git a/webapp/web/src/widget/DropdownDatePicker.js b/webapp/src/main/webapp/src/widget/DropdownDatePicker.js similarity index 100% rename from webapp/web/src/widget/DropdownDatePicker.js rename to webapp/src/main/webapp/src/widget/DropdownDatePicker.js diff --git a/webapp/web/src/widget/Editor.js b/webapp/src/main/webapp/src/widget/Editor.js similarity index 100% rename from webapp/web/src/widget/Editor.js rename to webapp/src/main/webapp/src/widget/Editor.js diff --git a/webapp/web/src/widget/Editor2.js b/webapp/src/main/webapp/src/widget/Editor2.js similarity index 100% rename from webapp/web/src/widget/Editor2.js rename to webapp/src/main/webapp/src/widget/Editor2.js diff --git a/webapp/web/src/widget/Editor2Toolbar.js b/webapp/src/main/webapp/src/widget/Editor2Toolbar.js similarity index 100% rename from webapp/web/src/widget/Editor2Toolbar.js rename to webapp/src/main/webapp/src/widget/Editor2Toolbar.js diff --git a/webapp/web/src/widget/FisheyeList.js b/webapp/src/main/webapp/src/widget/FisheyeList.js similarity index 100% rename from webapp/web/src/widget/FisheyeList.js rename to webapp/src/main/webapp/src/widget/FisheyeList.js diff --git a/webapp/web/src/widget/FloatingPane.js b/webapp/src/main/webapp/src/widget/FloatingPane.js similarity index 100% rename from webapp/web/src/widget/FloatingPane.js rename to webapp/src/main/webapp/src/widget/FloatingPane.js diff --git a/webapp/web/src/widget/GoogleMap.js b/webapp/src/main/webapp/src/widget/GoogleMap.js similarity index 100% rename from webapp/web/src/widget/GoogleMap.js rename to webapp/src/main/webapp/src/widget/GoogleMap.js diff --git a/webapp/web/src/widget/HtmlWidget.js b/webapp/src/main/webapp/src/widget/HtmlWidget.js similarity index 100% rename from webapp/web/src/widget/HtmlWidget.js rename to webapp/src/main/webapp/src/widget/HtmlWidget.js diff --git a/webapp/web/src/widget/InlineEditBox.js b/webapp/src/main/webapp/src/widget/InlineEditBox.js similarity index 100% rename from webapp/web/src/widget/InlineEditBox.js rename to webapp/src/main/webapp/src/widget/InlineEditBox.js diff --git a/webapp/web/src/widget/LayoutContainer.js b/webapp/src/main/webapp/src/widget/LayoutContainer.js similarity index 100% rename from webapp/web/src/widget/LayoutContainer.js rename to webapp/src/main/webapp/src/widget/LayoutContainer.js diff --git a/webapp/web/src/widget/LinkPane.js b/webapp/src/main/webapp/src/widget/LinkPane.js similarity index 100% rename from webapp/web/src/widget/LinkPane.js rename to webapp/src/main/webapp/src/widget/LinkPane.js diff --git a/webapp/web/src/widget/Manager.js b/webapp/src/main/webapp/src/widget/Manager.js similarity index 100% rename from webapp/web/src/widget/Manager.js rename to webapp/src/main/webapp/src/widget/Manager.js diff --git a/webapp/web/src/widget/Menu.js b/webapp/src/main/webapp/src/widget/Menu.js similarity index 100% rename from webapp/web/src/widget/Menu.js rename to webapp/src/main/webapp/src/widget/Menu.js diff --git a/webapp/web/src/widget/Menu2.js b/webapp/src/main/webapp/src/widget/Menu2.js similarity index 100% rename from webapp/web/src/widget/Menu2.js rename to webapp/src/main/webapp/src/widget/Menu2.js diff --git a/webapp/web/src/widget/MenuItem.js b/webapp/src/main/webapp/src/widget/MenuItem.js similarity index 100% rename from webapp/web/src/widget/MenuItem.js rename to webapp/src/main/webapp/src/widget/MenuItem.js diff --git a/webapp/web/src/widget/MonthlyCalendar.js b/webapp/src/main/webapp/src/widget/MonthlyCalendar.js similarity index 100% rename from webapp/web/src/widget/MonthlyCalendar.js rename to webapp/src/main/webapp/src/widget/MonthlyCalendar.js diff --git a/webapp/web/src/widget/Parse.js b/webapp/src/main/webapp/src/widget/Parse.js similarity index 100% rename from webapp/web/src/widget/Parse.js rename to webapp/src/main/webapp/src/widget/Parse.js diff --git a/webapp/web/src/widget/PopUpButton.js b/webapp/src/main/webapp/src/widget/PopUpButton.js similarity index 100% rename from webapp/web/src/widget/PopUpButton.js rename to webapp/src/main/webapp/src/widget/PopUpButton.js diff --git a/webapp/web/src/widget/ResizableTextarea.js b/webapp/src/main/webapp/src/widget/ResizableTextarea.js similarity index 100% rename from webapp/web/src/widget/ResizableTextarea.js rename to webapp/src/main/webapp/src/widget/ResizableTextarea.js diff --git a/webapp/web/src/widget/ResizeHandle.js b/webapp/src/main/webapp/src/widget/ResizeHandle.js similarity index 100% rename from webapp/web/src/widget/ResizeHandle.js rename to webapp/src/main/webapp/src/widget/ResizeHandle.js diff --git a/webapp/web/src/widget/RichText.js b/webapp/src/main/webapp/src/widget/RichText.js similarity index 100% rename from webapp/web/src/widget/RichText.js rename to webapp/src/main/webapp/src/widget/RichText.js diff --git a/webapp/web/src/widget/Rounded.js b/webapp/src/main/webapp/src/widget/Rounded.js similarity index 100% rename from webapp/web/src/widget/Rounded.js rename to webapp/src/main/webapp/src/widget/Rounded.js diff --git a/webapp/web/src/widget/Select.js b/webapp/src/main/webapp/src/widget/Select.js similarity index 100% rename from webapp/web/src/widget/Select.js rename to webapp/src/main/webapp/src/widget/Select.js diff --git a/webapp/web/src/widget/Show.js b/webapp/src/main/webapp/src/widget/Show.js similarity index 100% rename from webapp/web/src/widget/Show.js rename to webapp/src/main/webapp/src/widget/Show.js diff --git a/webapp/web/src/widget/ShowAction.js b/webapp/src/main/webapp/src/widget/ShowAction.js similarity index 100% rename from webapp/web/src/widget/ShowAction.js rename to webapp/src/main/webapp/src/widget/ShowAction.js diff --git a/webapp/web/src/widget/ShowSlide.js b/webapp/src/main/webapp/src/widget/ShowSlide.js similarity index 100% rename from webapp/web/src/widget/ShowSlide.js rename to webapp/src/main/webapp/src/widget/ShowSlide.js diff --git a/webapp/web/src/widget/SimpleDropdownButtons.js b/webapp/src/main/webapp/src/widget/SimpleDropdownButtons.js similarity index 100% rename from webapp/web/src/widget/SimpleDropdownButtons.js rename to webapp/src/main/webapp/src/widget/SimpleDropdownButtons.js diff --git a/webapp/web/src/widget/SlideShow.js b/webapp/src/main/webapp/src/widget/SlideShow.js similarity index 100% rename from webapp/web/src/widget/SlideShow.js rename to webapp/src/main/webapp/src/widget/SlideShow.js diff --git a/webapp/web/src/widget/SortableTable.js b/webapp/src/main/webapp/src/widget/SortableTable.js similarity index 100% rename from webapp/web/src/widget/SortableTable.js rename to webapp/src/main/webapp/src/widget/SortableTable.js diff --git a/webapp/web/src/widget/Spinner.js b/webapp/src/main/webapp/src/widget/Spinner.js similarity index 100% rename from webapp/web/src/widget/Spinner.js rename to webapp/src/main/webapp/src/widget/Spinner.js diff --git a/webapp/web/src/widget/SplitContainer.js b/webapp/src/main/webapp/src/widget/SplitContainer.js similarity index 100% rename from webapp/web/src/widget/SplitContainer.js rename to webapp/src/main/webapp/src/widget/SplitContainer.js diff --git a/webapp/web/src/widget/SvgButton.js b/webapp/src/main/webapp/src/widget/SvgButton.js similarity index 100% rename from webapp/web/src/widget/SvgButton.js rename to webapp/src/main/webapp/src/widget/SvgButton.js diff --git a/webapp/web/src/widget/SvgWidget.js b/webapp/src/main/webapp/src/widget/SvgWidget.js similarity index 100% rename from webapp/web/src/widget/SvgWidget.js rename to webapp/src/main/webapp/src/widget/SvgWidget.js diff --git a/webapp/web/src/widget/SwtWidget.js b/webapp/src/main/webapp/src/widget/SwtWidget.js similarity index 100% rename from webapp/web/src/widget/SwtWidget.js rename to webapp/src/main/webapp/src/widget/SwtWidget.js diff --git a/webapp/web/src/widget/TabContainer.js b/webapp/src/main/webapp/src/widget/TabContainer.js similarity index 100% rename from webapp/web/src/widget/TabContainer.js rename to webapp/src/main/webapp/src/widget/TabContainer.js diff --git a/webapp/web/src/widget/TaskBar.js b/webapp/src/main/webapp/src/widget/TaskBar.js similarity index 100% rename from webapp/web/src/widget/TaskBar.js rename to webapp/src/main/webapp/src/widget/TaskBar.js diff --git a/webapp/web/src/widget/TimePicker.js b/webapp/src/main/webapp/src/widget/TimePicker.js similarity index 100% rename from webapp/web/src/widget/TimePicker.js rename to webapp/src/main/webapp/src/widget/TimePicker.js diff --git a/webapp/web/src/widget/TitlePane.js b/webapp/src/main/webapp/src/widget/TitlePane.js similarity index 100% rename from webapp/web/src/widget/TitlePane.js rename to webapp/src/main/webapp/src/widget/TitlePane.js diff --git a/webapp/web/src/widget/Toggler.js b/webapp/src/main/webapp/src/widget/Toggler.js similarity index 100% rename from webapp/web/src/widget/Toggler.js rename to webapp/src/main/webapp/src/widget/Toggler.js diff --git a/webapp/web/src/widget/Toolbar.js b/webapp/src/main/webapp/src/widget/Toolbar.js similarity index 100% rename from webapp/web/src/widget/Toolbar.js rename to webapp/src/main/webapp/src/widget/Toolbar.js diff --git a/webapp/web/src/widget/Tooltip.js b/webapp/src/main/webapp/src/widget/Tooltip.js similarity index 100% rename from webapp/web/src/widget/Tooltip.js rename to webapp/src/main/webapp/src/widget/Tooltip.js diff --git a/webapp/web/src/widget/Tree.js b/webapp/src/main/webapp/src/widget/Tree.js similarity index 100% rename from webapp/web/src/widget/Tree.js rename to webapp/src/main/webapp/src/widget/Tree.js diff --git a/webapp/web/src/widget/TreeBasicController.js b/webapp/src/main/webapp/src/widget/TreeBasicController.js similarity index 100% rename from webapp/web/src/widget/TreeBasicController.js rename to webapp/src/main/webapp/src/widget/TreeBasicController.js diff --git a/webapp/web/src/widget/TreeContextMenu.js b/webapp/src/main/webapp/src/widget/TreeContextMenu.js similarity index 100% rename from webapp/web/src/widget/TreeContextMenu.js rename to webapp/src/main/webapp/src/widget/TreeContextMenu.js diff --git a/webapp/web/src/widget/TreeControllerExtension.js b/webapp/src/main/webapp/src/widget/TreeControllerExtension.js similarity index 100% rename from webapp/web/src/widget/TreeControllerExtension.js rename to webapp/src/main/webapp/src/widget/TreeControllerExtension.js diff --git a/webapp/web/src/widget/TreeLoadingController.js b/webapp/src/main/webapp/src/widget/TreeLoadingController.js similarity index 100% rename from webapp/web/src/widget/TreeLoadingController.js rename to webapp/src/main/webapp/src/widget/TreeLoadingController.js diff --git a/webapp/web/src/widget/TreeNode.js b/webapp/src/main/webapp/src/widget/TreeNode.js similarity index 100% rename from webapp/web/src/widget/TreeNode.js rename to webapp/src/main/webapp/src/widget/TreeNode.js diff --git a/webapp/web/src/widget/TreeRPCController.js b/webapp/src/main/webapp/src/widget/TreeRPCController.js similarity index 100% rename from webapp/web/src/widget/TreeRPCController.js rename to webapp/src/main/webapp/src/widget/TreeRPCController.js diff --git a/webapp/web/src/widget/TreeSelector.js b/webapp/src/main/webapp/src/widget/TreeSelector.js similarity index 100% rename from webapp/web/src/widget/TreeSelector.js rename to webapp/src/main/webapp/src/widget/TreeSelector.js diff --git a/webapp/web/src/widget/Widget.js b/webapp/src/main/webapp/src/widget/Widget.js similarity index 100% rename from webapp/web/src/widget/Widget.js rename to webapp/src/main/webapp/src/widget/Widget.js diff --git a/webapp/web/src/widget/Wizard.js b/webapp/src/main/webapp/src/widget/Wizard.js similarity index 100% rename from webapp/web/src/widget/Wizard.js rename to webapp/src/main/webapp/src/widget/Wizard.js diff --git a/webapp/web/src/widget/YahooMap.js b/webapp/src/main/webapp/src/widget/YahooMap.js similarity index 100% rename from webapp/web/src/widget/YahooMap.js rename to webapp/src/main/webapp/src/widget/YahooMap.js diff --git a/webapp/web/src/widget/__package__.js b/webapp/src/main/webapp/src/widget/__package__.js similarity index 100% rename from webapp/web/src/widget/__package__.js rename to webapp/src/main/webapp/src/widget/__package__.js diff --git a/webapp/web/src/widget/demoEngine/DemoContainer.js b/webapp/src/main/webapp/src/widget/demoEngine/DemoContainer.js similarity index 100% rename from webapp/web/src/widget/demoEngine/DemoContainer.js rename to webapp/src/main/webapp/src/widget/demoEngine/DemoContainer.js diff --git a/webapp/web/src/widget/demoEngine/DemoItem.js b/webapp/src/main/webapp/src/widget/demoEngine/DemoItem.js similarity index 100% rename from webapp/web/src/widget/demoEngine/DemoItem.js rename to webapp/src/main/webapp/src/widget/demoEngine/DemoItem.js diff --git a/webapp/web/src/widget/demoEngine/DemoNavigator.js b/webapp/src/main/webapp/src/widget/demoEngine/DemoNavigator.js similarity index 100% rename from webapp/web/src/widget/demoEngine/DemoNavigator.js rename to webapp/src/main/webapp/src/widget/demoEngine/DemoNavigator.js diff --git a/webapp/web/src/widget/demoEngine/DemoPane.js b/webapp/src/main/webapp/src/widget/demoEngine/DemoPane.js similarity index 100% rename from webapp/web/src/widget/demoEngine/DemoPane.js rename to webapp/src/main/webapp/src/widget/demoEngine/DemoPane.js diff --git a/webapp/web/src/widget/demoEngine/SourcePane.js b/webapp/src/main/webapp/src/widget/demoEngine/SourcePane.js similarity index 100% rename from webapp/web/src/widget/demoEngine/SourcePane.js rename to webapp/src/main/webapp/src/widget/demoEngine/SourcePane.js diff --git a/webapp/web/src/widget/demoEngine/__package__.js b/webapp/src/main/webapp/src/widget/demoEngine/__package__.js similarity index 100% rename from webapp/web/src/widget/demoEngine/__package__.js rename to webapp/src/main/webapp/src/widget/demoEngine/__package__.js diff --git a/webapp/web/src/widget/demoEngine/templates/DemoContainer.css b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoContainer.css similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoContainer.css rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoContainer.css diff --git a/webapp/web/src/widget/demoEngine/templates/DemoContainer.html b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoContainer.html similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoContainer.html rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoContainer.html diff --git a/webapp/web/src/widget/demoEngine/templates/DemoItem.css b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoItem.css similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoItem.css rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoItem.css diff --git a/webapp/web/src/widget/demoEngine/templates/DemoItem.html b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoItem.html similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoItem.html rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoItem.html diff --git a/webapp/web/src/widget/demoEngine/templates/DemoNavigator.css b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoNavigator.css similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoNavigator.css rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoNavigator.css diff --git a/webapp/web/src/widget/demoEngine/templates/DemoNavigator.html b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoNavigator.html similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoNavigator.html rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoNavigator.html diff --git a/webapp/web/src/widget/demoEngine/templates/DemoPane.css b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoPane.css similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoPane.css rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoPane.css diff --git a/webapp/web/src/widget/demoEngine/templates/DemoPane.html b/webapp/src/main/webapp/src/widget/demoEngine/templates/DemoPane.html similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/DemoPane.html rename to webapp/src/main/webapp/src/widget/demoEngine/templates/DemoPane.html diff --git a/webapp/web/src/widget/demoEngine/templates/SourcePane.css b/webapp/src/main/webapp/src/widget/demoEngine/templates/SourcePane.css similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/SourcePane.css rename to webapp/src/main/webapp/src/widget/demoEngine/templates/SourcePane.css diff --git a/webapp/web/src/widget/demoEngine/templates/SourcePane.html b/webapp/src/main/webapp/src/widget/demoEngine/templates/SourcePane.html similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/SourcePane.html rename to webapp/src/main/webapp/src/widget/demoEngine/templates/SourcePane.html diff --git a/webapp/web/src/widget/demoEngine/templates/general.css b/webapp/src/main/webapp/src/widget/demoEngine/templates/general.css similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/general.css rename to webapp/src/main/webapp/src/widget/demoEngine/templates/general.css diff --git a/webapp/web/src/widget/demoEngine/templates/images/test_thumb.gif b/webapp/src/main/webapp/src/widget/demoEngine/templates/images/test_thumb.gif similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/images/test_thumb.gif rename to webapp/src/main/webapp/src/widget/demoEngine/templates/images/test_thumb.gif diff --git a/webapp/web/src/widget/demoEngine/templates/images/viewDemo.png b/webapp/src/main/webapp/src/widget/demoEngine/templates/images/viewDemo.png similarity index 100% rename from webapp/web/src/widget/demoEngine/templates/images/viewDemo.png rename to webapp/src/main/webapp/src/widget/demoEngine/templates/images/viewDemo.png diff --git a/webapp/web/src/widget/html/AccordionPane.js b/webapp/src/main/webapp/src/widget/html/AccordionPane.js similarity index 100% rename from webapp/web/src/widget/html/AccordionPane.js rename to webapp/src/main/webapp/src/widget/html/AccordionPane.js diff --git a/webapp/web/src/widget/html/Button2.js b/webapp/src/main/webapp/src/widget/html/Button2.js similarity index 100% rename from webapp/web/src/widget/html/Button2.js rename to webapp/src/main/webapp/src/widget/html/Button2.js diff --git a/webapp/web/src/widget/html/Checkbox.js b/webapp/src/main/webapp/src/widget/html/Checkbox.js similarity index 100% rename from webapp/web/src/widget/html/Checkbox.js rename to webapp/src/main/webapp/src/widget/html/Checkbox.js diff --git a/webapp/web/src/widget/html/ComboBox.js b/webapp/src/main/webapp/src/widget/html/ComboBox.js similarity index 100% rename from webapp/web/src/widget/html/ComboBox.js rename to webapp/src/main/webapp/src/widget/html/ComboBox.js diff --git a/webapp/web/src/widget/html/ContentPane.js b/webapp/src/main/webapp/src/widget/html/ContentPane.js similarity index 100% rename from webapp/web/src/widget/html/ContentPane.js rename to webapp/src/main/webapp/src/widget/html/ContentPane.js diff --git a/webapp/web/src/widget/html/ContextMenu.js b/webapp/src/main/webapp/src/widget/html/ContextMenu.js similarity index 100% rename from webapp/web/src/widget/html/ContextMenu.js rename to webapp/src/main/webapp/src/widget/html/ContextMenu.js diff --git a/webapp/web/src/widget/html/DatePicker.js b/webapp/src/main/webapp/src/widget/html/DatePicker.js similarity index 100% rename from webapp/web/src/widget/html/DatePicker.js rename to webapp/src/main/webapp/src/widget/html/DatePicker.js diff --git a/webapp/web/src/widget/html/DebugConsole.js b/webapp/src/main/webapp/src/widget/html/DebugConsole.js similarity index 100% rename from webapp/web/src/widget/html/DebugConsole.js rename to webapp/src/main/webapp/src/widget/html/DebugConsole.js diff --git a/webapp/web/src/widget/html/DocPane.js b/webapp/src/main/webapp/src/widget/html/DocPane.js similarity index 100% rename from webapp/web/src/widget/html/DocPane.js rename to webapp/src/main/webapp/src/widget/html/DocPane.js diff --git a/webapp/web/src/widget/html/DropdownButton.js b/webapp/src/main/webapp/src/widget/html/DropdownButton.js similarity index 100% rename from webapp/web/src/widget/html/DropdownButton.js rename to webapp/src/main/webapp/src/widget/html/DropdownButton.js diff --git a/webapp/web/src/widget/html/GoogleMap.js b/webapp/src/main/webapp/src/widget/html/GoogleMap.js similarity index 100% rename from webapp/web/src/widget/html/GoogleMap.js rename to webapp/src/main/webapp/src/widget/html/GoogleMap.js diff --git a/webapp/web/src/widget/html/LinkPane.js b/webapp/src/main/webapp/src/widget/html/LinkPane.js similarity index 100% rename from webapp/web/src/widget/html/LinkPane.js rename to webapp/src/main/webapp/src/widget/html/LinkPane.js diff --git a/webapp/web/src/widget/html/Menu.js b/webapp/src/main/webapp/src/widget/html/Menu.js similarity index 100% rename from webapp/web/src/widget/html/Menu.js rename to webapp/src/main/webapp/src/widget/html/Menu.js diff --git a/webapp/web/src/widget/html/MenuItem.js b/webapp/src/main/webapp/src/widget/html/MenuItem.js similarity index 100% rename from webapp/web/src/widget/html/MenuItem.js rename to webapp/src/main/webapp/src/widget/html/MenuItem.js diff --git a/webapp/web/src/widget/html/MonthlyCalendar.js b/webapp/src/main/webapp/src/widget/html/MonthlyCalendar.js similarity index 100% rename from webapp/web/src/widget/html/MonthlyCalendar.js rename to webapp/src/main/webapp/src/widget/html/MonthlyCalendar.js diff --git a/webapp/web/src/widget/html/Show.js b/webapp/src/main/webapp/src/widget/html/Show.js similarity index 100% rename from webapp/web/src/widget/html/Show.js rename to webapp/src/main/webapp/src/widget/html/Show.js diff --git a/webapp/web/src/widget/html/ShowAction.js b/webapp/src/main/webapp/src/widget/html/ShowAction.js similarity index 100% rename from webapp/web/src/widget/html/ShowAction.js rename to webapp/src/main/webapp/src/widget/html/ShowAction.js diff --git a/webapp/web/src/widget/html/ShowSlide.js b/webapp/src/main/webapp/src/widget/html/ShowSlide.js similarity index 100% rename from webapp/web/src/widget/html/ShowSlide.js rename to webapp/src/main/webapp/src/widget/html/ShowSlide.js diff --git a/webapp/web/src/widget/html/Slider.js b/webapp/src/main/webapp/src/widget/html/Slider.js similarity index 100% rename from webapp/web/src/widget/html/Slider.js rename to webapp/src/main/webapp/src/widget/html/Slider.js diff --git a/webapp/web/src/widget/html/SortableTable.js b/webapp/src/main/webapp/src/widget/html/SortableTable.js similarity index 100% rename from webapp/web/src/widget/html/SortableTable.js rename to webapp/src/main/webapp/src/widget/html/SortableTable.js diff --git a/webapp/web/src/widget/html/Spinner.js b/webapp/src/main/webapp/src/widget/html/Spinner.js similarity index 100% rename from webapp/web/src/widget/html/Spinner.js rename to webapp/src/main/webapp/src/widget/html/Spinner.js diff --git a/webapp/web/src/widget/html/TaskBar.js b/webapp/src/main/webapp/src/widget/html/TaskBar.js similarity index 100% rename from webapp/web/src/widget/html/TaskBar.js rename to webapp/src/main/webapp/src/widget/html/TaskBar.js diff --git a/webapp/web/src/widget/html/TimePicker.js b/webapp/src/main/webapp/src/widget/html/TimePicker.js similarity index 100% rename from webapp/web/src/widget/html/TimePicker.js rename to webapp/src/main/webapp/src/widget/html/TimePicker.js diff --git a/webapp/web/src/widget/html/TitlePane.js b/webapp/src/main/webapp/src/widget/html/TitlePane.js similarity index 100% rename from webapp/web/src/widget/html/TitlePane.js rename to webapp/src/main/webapp/src/widget/html/TitlePane.js diff --git a/webapp/web/src/widget/html/Tooltip.js b/webapp/src/main/webapp/src/widget/html/Tooltip.js similarity index 100% rename from webapp/web/src/widget/html/Tooltip.js rename to webapp/src/main/webapp/src/widget/html/Tooltip.js diff --git a/webapp/web/src/widget/html/YahooMap.js b/webapp/src/main/webapp/src/widget/html/YahooMap.js similarity index 100% rename from webapp/web/src/widget/html/YahooMap.js rename to webapp/src/main/webapp/src/widget/html/YahooMap.js diff --git a/webapp/web/src/widget/html/stabile.js b/webapp/src/main/webapp/src/widget/html/stabile.js similarity index 100% rename from webapp/web/src/widget/html/stabile.js rename to webapp/src/main/webapp/src/widget/html/stabile.js diff --git a/webapp/web/src/widget/svg/Chart.js b/webapp/src/main/webapp/src/widget/svg/Chart.js similarity index 100% rename from webapp/web/src/widget/svg/Chart.js rename to webapp/src/main/webapp/src/widget/svg/Chart.js diff --git a/webapp/web/src/widget/templates/DemoEngine.html b/webapp/src/main/webapp/src/widget/templates/DemoEngine.html similarity index 100% rename from webapp/web/src/widget/templates/DemoEngine.html rename to webapp/src/main/webapp/src/widget/templates/DemoEngine.html diff --git a/webapp/web/src/widget/templates/HtmlButtonTemplate.css b/webapp/src/main/webapp/src/widget/templates/HtmlButtonTemplate.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlButtonTemplate.css rename to webapp/src/main/webapp/src/widget/templates/HtmlButtonTemplate.css diff --git a/webapp/web/src/widget/templates/HtmlButtonTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlButtonTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlButtonTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlButtonTemplate.html diff --git a/webapp/web/src/widget/templates/HtmlCheckBox.html b/webapp/src/main/webapp/src/widget/templates/HtmlCheckBox.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlCheckBox.html rename to webapp/src/main/webapp/src/widget/templates/HtmlCheckBox.html diff --git a/webapp/web/src/widget/templates/HtmlCiviCrmDatePicker.html b/webapp/src/main/webapp/src/widget/templates/HtmlCiviCrmDatePicker.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlCiviCrmDatePicker.html rename to webapp/src/main/webapp/src/widget/templates/HtmlCiviCrmDatePicker.html diff --git a/webapp/web/src/widget/templates/HtmlComboBox.css b/webapp/src/main/webapp/src/widget/templates/HtmlComboBox.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlComboBox.css rename to webapp/src/main/webapp/src/widget/templates/HtmlComboBox.css diff --git a/webapp/web/src/widget/templates/HtmlComboBox.html b/webapp/src/main/webapp/src/widget/templates/HtmlComboBox.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlComboBox.html rename to webapp/src/main/webapp/src/widget/templates/HtmlComboBox.html diff --git a/webapp/web/src/widget/templates/HtmlComboButtonTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlComboButtonTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlComboButtonTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlComboButtonTemplate.html diff --git a/webapp/web/src/widget/templates/HtmlContextMenuTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlContextMenuTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlContextMenuTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlContextMenuTemplate.html diff --git a/webapp/web/src/widget/templates/HtmlDatePicker.css b/webapp/src/main/webapp/src/widget/templates/HtmlDatePicker.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlDatePicker.css rename to webapp/src/main/webapp/src/widget/templates/HtmlDatePicker.css diff --git a/webapp/web/src/widget/templates/HtmlDatePicker.html b/webapp/src/main/webapp/src/widget/templates/HtmlDatePicker.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlDatePicker.html rename to webapp/src/main/webapp/src/widget/templates/HtmlDatePicker.html diff --git a/webapp/web/src/widget/templates/HtmlDialog.html b/webapp/src/main/webapp/src/widget/templates/HtmlDialog.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlDialog.html rename to webapp/src/main/webapp/src/widget/templates/HtmlDialog.html diff --git a/webapp/web/src/widget/templates/HtmlDocPane.css b/webapp/src/main/webapp/src/widget/templates/HtmlDocPane.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlDocPane.css rename to webapp/src/main/webapp/src/widget/templates/HtmlDocPane.css diff --git a/webapp/web/src/widget/templates/HtmlDocPane.html b/webapp/src/main/webapp/src/widget/templates/HtmlDocPane.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlDocPane.html rename to webapp/src/main/webapp/src/widget/templates/HtmlDocPane.html diff --git a/webapp/web/src/widget/templates/HtmlDropDownButtonTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlDropDownButtonTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlDropDownButtonTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlDropDownButtonTemplate.html diff --git a/webapp/web/src/widget/templates/HtmlEditorToolbar.css b/webapp/src/main/webapp/src/widget/templates/HtmlEditorToolbar.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlEditorToolbar.css rename to webapp/src/main/webapp/src/widget/templates/HtmlEditorToolbar.css diff --git a/webapp/web/src/widget/templates/HtmlEditorToolbar.html b/webapp/src/main/webapp/src/widget/templates/HtmlEditorToolbar.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlEditorToolbar.html rename to webapp/src/main/webapp/src/widget/templates/HtmlEditorToolbar.html diff --git a/webapp/web/src/widget/templates/HtmlEditorToolbarOneline.html b/webapp/src/main/webapp/src/widget/templates/HtmlEditorToolbarOneline.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlEditorToolbarOneline.html rename to webapp/src/main/webapp/src/widget/templates/HtmlEditorToolbarOneline.html diff --git a/webapp/web/src/widget/templates/HtmlFisheyeList.css b/webapp/src/main/webapp/src/widget/templates/HtmlFisheyeList.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlFisheyeList.css rename to webapp/src/main/webapp/src/widget/templates/HtmlFisheyeList.css diff --git a/webapp/web/src/widget/templates/HtmlFloatingPane.css b/webapp/src/main/webapp/src/widget/templates/HtmlFloatingPane.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlFloatingPane.css rename to webapp/src/main/webapp/src/widget/templates/HtmlFloatingPane.css diff --git a/webapp/web/src/widget/templates/HtmlFloatingPane.html b/webapp/src/main/webapp/src/widget/templates/HtmlFloatingPane.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlFloatingPane.html rename to webapp/src/main/webapp/src/widget/templates/HtmlFloatingPane.html diff --git a/webapp/web/src/widget/templates/HtmlInlineEditBox.css b/webapp/src/main/webapp/src/widget/templates/HtmlInlineEditBox.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlInlineEditBox.css rename to webapp/src/main/webapp/src/widget/templates/HtmlInlineEditBox.css diff --git a/webapp/web/src/widget/templates/HtmlInlineEditBox.html b/webapp/src/main/webapp/src/widget/templates/HtmlInlineEditBox.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlInlineEditBox.html rename to webapp/src/main/webapp/src/widget/templates/HtmlInlineEditBox.html diff --git a/webapp/web/src/widget/templates/HtmlMenu2.css b/webapp/src/main/webapp/src/widget/templates/HtmlMenu2.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlMenu2.css rename to webapp/src/main/webapp/src/widget/templates/HtmlMenu2.css diff --git a/webapp/web/src/widget/templates/HtmlMenuItemTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlMenuItemTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlMenuItemTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlMenuItemTemplate.html diff --git a/webapp/web/src/widget/templates/HtmlMonthlyCalendar.css b/webapp/src/main/webapp/src/widget/templates/HtmlMonthlyCalendar.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlMonthlyCalendar.css rename to webapp/src/main/webapp/src/widget/templates/HtmlMonthlyCalendar.css diff --git a/webapp/web/src/widget/templates/HtmlMonthlyCalendar.html b/webapp/src/main/webapp/src/widget/templates/HtmlMonthlyCalendar.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlMonthlyCalendar.html rename to webapp/src/main/webapp/src/widget/templates/HtmlMonthlyCalendar.html diff --git a/webapp/web/src/widget/templates/HtmlResizableTextarea.css b/webapp/src/main/webapp/src/widget/templates/HtmlResizableTextarea.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlResizableTextarea.css rename to webapp/src/main/webapp/src/widget/templates/HtmlResizableTextarea.css diff --git a/webapp/web/src/widget/templates/HtmlResizableTextarea.html b/webapp/src/main/webapp/src/widget/templates/HtmlResizableTextarea.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlResizableTextarea.html rename to webapp/src/main/webapp/src/widget/templates/HtmlResizableTextarea.html diff --git a/webapp/web/src/widget/templates/HtmlResizeHandle.css b/webapp/src/main/webapp/src/widget/templates/HtmlResizeHandle.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlResizeHandle.css rename to webapp/src/main/webapp/src/widget/templates/HtmlResizeHandle.css diff --git a/webapp/web/src/widget/templates/HtmlShow.css b/webapp/src/main/webapp/src/widget/templates/HtmlShow.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlShow.css rename to webapp/src/main/webapp/src/widget/templates/HtmlShow.css diff --git a/webapp/web/src/widget/templates/HtmlShow.html b/webapp/src/main/webapp/src/widget/templates/HtmlShow.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlShow.html rename to webapp/src/main/webapp/src/widget/templates/HtmlShow.html diff --git a/webapp/web/src/widget/templates/HtmlShowSlide.css b/webapp/src/main/webapp/src/widget/templates/HtmlShowSlide.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlShowSlide.css rename to webapp/src/main/webapp/src/widget/templates/HtmlShowSlide.css diff --git a/webapp/web/src/widget/templates/HtmlShowSlide.html b/webapp/src/main/webapp/src/widget/templates/HtmlShowSlide.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlShowSlide.html rename to webapp/src/main/webapp/src/widget/templates/HtmlShowSlide.html diff --git a/webapp/web/src/widget/templates/HtmlSimpleDropdownButtons.css b/webapp/src/main/webapp/src/widget/templates/HtmlSimpleDropdownButtons.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlSimpleDropdownButtons.css rename to webapp/src/main/webapp/src/widget/templates/HtmlSimpleDropdownButtons.css diff --git a/webapp/web/src/widget/templates/HtmlSlideShow.css b/webapp/src/main/webapp/src/widget/templates/HtmlSlideShow.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlSlideShow.css rename to webapp/src/main/webapp/src/widget/templates/HtmlSlideShow.css diff --git a/webapp/web/src/widget/templates/HtmlSlideShow.html b/webapp/src/main/webapp/src/widget/templates/HtmlSlideShow.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlSlideShow.html rename to webapp/src/main/webapp/src/widget/templates/HtmlSlideShow.html diff --git a/webapp/web/src/widget/templates/HtmlSlider.css b/webapp/src/main/webapp/src/widget/templates/HtmlSlider.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlSlider.css rename to webapp/src/main/webapp/src/widget/templates/HtmlSlider.css diff --git a/webapp/web/src/widget/templates/HtmlSlider.html b/webapp/src/main/webapp/src/widget/templates/HtmlSlider.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlSlider.html rename to webapp/src/main/webapp/src/widget/templates/HtmlSlider.html diff --git a/webapp/web/src/widget/templates/HtmlSliderHorizontal.html b/webapp/src/main/webapp/src/widget/templates/HtmlSliderHorizontal.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlSliderHorizontal.html rename to webapp/src/main/webapp/src/widget/templates/HtmlSliderHorizontal.html diff --git a/webapp/web/src/widget/templates/HtmlSliderVertical.html b/webapp/src/main/webapp/src/widget/templates/HtmlSliderVertical.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlSliderVertical.html rename to webapp/src/main/webapp/src/widget/templates/HtmlSliderVertical.html diff --git a/webapp/web/src/widget/templates/HtmlSpinner.css b/webapp/src/main/webapp/src/widget/templates/HtmlSpinner.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlSpinner.css rename to webapp/src/main/webapp/src/widget/templates/HtmlSpinner.css diff --git a/webapp/web/src/widget/templates/HtmlSpinner.html b/webapp/src/main/webapp/src/widget/templates/HtmlSpinner.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlSpinner.html rename to webapp/src/main/webapp/src/widget/templates/HtmlSpinner.html diff --git a/webapp/web/src/widget/templates/HtmlSplitContainer.css b/webapp/src/main/webapp/src/widget/templates/HtmlSplitContainer.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlSplitContainer.css rename to webapp/src/main/webapp/src/widget/templates/HtmlSplitContainer.css diff --git a/webapp/web/src/widget/templates/HtmlTabContainer.css b/webapp/src/main/webapp/src/widget/templates/HtmlTabContainer.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlTabContainer.css rename to webapp/src/main/webapp/src/widget/templates/HtmlTabContainer.css diff --git a/webapp/web/src/widget/templates/HtmlTabContainer.html b/webapp/src/main/webapp/src/widget/templates/HtmlTabContainer.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlTabContainer.html rename to webapp/src/main/webapp/src/widget/templates/HtmlTabContainer.html diff --git a/webapp/web/src/widget/templates/HtmlTaskBar.css b/webapp/src/main/webapp/src/widget/templates/HtmlTaskBar.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlTaskBar.css rename to webapp/src/main/webapp/src/widget/templates/HtmlTaskBar.css diff --git a/webapp/web/src/widget/templates/HtmlTaskBarItemTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlTaskBarItemTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlTaskBarItemTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlTaskBarItemTemplate.html diff --git a/webapp/web/src/widget/templates/HtmlTimePicker.css b/webapp/src/main/webapp/src/widget/templates/HtmlTimePicker.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlTimePicker.css rename to webapp/src/main/webapp/src/widget/templates/HtmlTimePicker.css diff --git a/webapp/web/src/widget/templates/HtmlTimePicker.html b/webapp/src/main/webapp/src/widget/templates/HtmlTimePicker.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlTimePicker.html rename to webapp/src/main/webapp/src/widget/templates/HtmlTimePicker.html diff --git a/webapp/web/src/widget/templates/HtmlToolbar.css b/webapp/src/main/webapp/src/widget/templates/HtmlToolbar.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlToolbar.css rename to webapp/src/main/webapp/src/widget/templates/HtmlToolbar.css diff --git a/webapp/web/src/widget/templates/HtmlTooltipTemplate.css b/webapp/src/main/webapp/src/widget/templates/HtmlTooltipTemplate.css similarity index 100% rename from webapp/web/src/widget/templates/HtmlTooltipTemplate.css rename to webapp/src/main/webapp/src/widget/templates/HtmlTooltipTemplate.css diff --git a/webapp/web/src/widget/templates/HtmlTooltipTemplate.html b/webapp/src/main/webapp/src/widget/templates/HtmlTooltipTemplate.html similarity index 100% rename from webapp/web/src/widget/templates/HtmlTooltipTemplate.html rename to webapp/src/main/webapp/src/widget/templates/HtmlTooltipTemplate.html diff --git a/webapp/web/src/widget/templates/Menu.css b/webapp/src/main/webapp/src/widget/templates/Menu.css similarity index 100% rename from webapp/web/src/widget/templates/Menu.css rename to webapp/src/main/webapp/src/widget/templates/Menu.css diff --git a/webapp/web/src/widget/templates/PopUpButton.css b/webapp/src/main/webapp/src/widget/templates/PopUpButton.css similarity index 100% rename from webapp/web/src/widget/templates/PopUpButton.css rename to webapp/src/main/webapp/src/widget/templates/PopUpButton.css diff --git a/webapp/web/src/widget/templates/TitlePane.html b/webapp/src/main/webapp/src/widget/templates/TitlePane.html similarity index 100% rename from webapp/web/src/widget/templates/TitlePane.html rename to webapp/src/main/webapp/src/widget/templates/TitlePane.html diff --git a/webapp/web/src/widget/templates/Tree.css b/webapp/src/main/webapp/src/widget/templates/Tree.css similarity index 100% rename from webapp/web/src/widget/templates/Tree.css rename to webapp/src/main/webapp/src/widget/templates/Tree.css diff --git a/webapp/web/src/widget/templates/Wizard.css b/webapp/src/main/webapp/src/widget/templates/Wizard.css similarity index 100% rename from webapp/web/src/widget/templates/Wizard.css rename to webapp/src/main/webapp/src/widget/templates/Wizard.css diff --git a/webapp/web/src/widget/templates/Wizard.html b/webapp/src/main/webapp/src/widget/templates/Wizard.html similarity index 100% rename from webapp/web/src/widget/templates/Wizard.html rename to webapp/src/main/webapp/src/widget/templates/Wizard.html diff --git a/webapp/web/src/widget/templates/buttons/-.gif b/webapp/src/main/webapp/src/widget/templates/buttons/-.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/-.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/-.gif diff --git a/webapp/web/src/widget/templates/buttons/aggregate.gif b/webapp/src/main/webapp/src/widget/templates/buttons/aggregate.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/aggregate.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/aggregate.gif diff --git a/webapp/web/src/widget/templates/buttons/backcolor.gif b/webapp/src/main/webapp/src/widget/templates/buttons/backcolor.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/backcolor.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/backcolor.gif diff --git a/webapp/web/src/widget/templates/buttons/bg-fade.png b/webapp/src/main/webapp/src/widget/templates/buttons/bg-fade.png similarity index 100% rename from webapp/web/src/widget/templates/buttons/bg-fade.png rename to webapp/src/main/webapp/src/widget/templates/buttons/bg-fade.png diff --git a/webapp/web/src/widget/templates/buttons/bold.gif b/webapp/src/main/webapp/src/widget/templates/buttons/bold.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/bold.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/bold.gif diff --git a/webapp/web/src/widget/templates/buttons/cancel.gif b/webapp/src/main/webapp/src/widget/templates/buttons/cancel.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/cancel.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/cancel.gif diff --git a/webapp/web/src/widget/templates/buttons/copy.gif b/webapp/src/main/webapp/src/widget/templates/buttons/copy.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/copy.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/copy.gif diff --git a/webapp/web/src/widget/templates/buttons/createlink.gif b/webapp/src/main/webapp/src/widget/templates/buttons/createlink.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/createlink.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/createlink.gif diff --git a/webapp/web/src/widget/templates/buttons/cut.gif b/webapp/src/main/webapp/src/widget/templates/buttons/cut.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/cut.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/cut.gif diff --git a/webapp/web/src/widget/templates/buttons/delete.gif b/webapp/src/main/webapp/src/widget/templates/buttons/delete.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/delete.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/delete.gif diff --git a/webapp/web/src/widget/templates/buttons/forecolor.gif b/webapp/src/main/webapp/src/widget/templates/buttons/forecolor.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/forecolor.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/forecolor.gif diff --git a/webapp/web/src/widget/templates/buttons/hilitecolor.gif b/webapp/src/main/webapp/src/widget/templates/buttons/hilitecolor.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/hilitecolor.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/hilitecolor.gif diff --git a/webapp/web/src/widget/templates/buttons/indent.gif b/webapp/src/main/webapp/src/widget/templates/buttons/indent.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/indent.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/indent.gif diff --git a/webapp/web/src/widget/templates/buttons/inserthorizontalrule.gif b/webapp/src/main/webapp/src/widget/templates/buttons/inserthorizontalrule.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/inserthorizontalrule.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/inserthorizontalrule.gif diff --git a/webapp/web/src/widget/templates/buttons/insertimage.gif b/webapp/src/main/webapp/src/widget/templates/buttons/insertimage.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/insertimage.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/insertimage.gif diff --git a/webapp/web/src/widget/templates/buttons/insertorderedlist.gif b/webapp/src/main/webapp/src/widget/templates/buttons/insertorderedlist.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/insertorderedlist.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/insertorderedlist.gif diff --git a/webapp/web/src/widget/templates/buttons/inserttable.gif b/webapp/src/main/webapp/src/widget/templates/buttons/inserttable.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/inserttable.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/inserttable.gif diff --git a/webapp/web/src/widget/templates/buttons/insertunorderedlist.gif b/webapp/src/main/webapp/src/widget/templates/buttons/insertunorderedlist.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/insertunorderedlist.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/insertunorderedlist.gif diff --git a/webapp/web/src/widget/templates/buttons/italic.gif b/webapp/src/main/webapp/src/widget/templates/buttons/italic.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/italic.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/italic.gif diff --git a/webapp/web/src/widget/templates/buttons/justifycenter.gif b/webapp/src/main/webapp/src/widget/templates/buttons/justifycenter.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/justifycenter.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/justifycenter.gif diff --git a/webapp/web/src/widget/templates/buttons/justifyfull.gif b/webapp/src/main/webapp/src/widget/templates/buttons/justifyfull.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/justifyfull.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/justifyfull.gif diff --git a/webapp/web/src/widget/templates/buttons/justifyleft.gif b/webapp/src/main/webapp/src/widget/templates/buttons/justifyleft.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/justifyleft.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/justifyleft.gif diff --git a/webapp/web/src/widget/templates/buttons/justifyright.gif b/webapp/src/main/webapp/src/widget/templates/buttons/justifyright.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/justifyright.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/justifyright.gif diff --git a/webapp/web/src/widget/templates/buttons/left_to_right.gif b/webapp/src/main/webapp/src/widget/templates/buttons/left_to_right.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/left_to_right.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/left_to_right.gif diff --git a/webapp/web/src/widget/templates/buttons/list_bullet_indent.gif b/webapp/src/main/webapp/src/widget/templates/buttons/list_bullet_indent.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/list_bullet_indent.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/list_bullet_indent.gif diff --git a/webapp/web/src/widget/templates/buttons/list_bullet_outdent.gif b/webapp/src/main/webapp/src/widget/templates/buttons/list_bullet_outdent.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/list_bullet_outdent.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/list_bullet_outdent.gif diff --git a/webapp/web/src/widget/templates/buttons/list_num_indent.gif b/webapp/src/main/webapp/src/widget/templates/buttons/list_num_indent.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/list_num_indent.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/list_num_indent.gif diff --git a/webapp/web/src/widget/templates/buttons/list_num_outdent.gif b/webapp/src/main/webapp/src/widget/templates/buttons/list_num_outdent.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/list_num_outdent.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/list_num_outdent.gif diff --git a/webapp/web/src/widget/templates/buttons/outdent.gif b/webapp/src/main/webapp/src/widget/templates/buttons/outdent.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/outdent.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/outdent.gif diff --git a/webapp/web/src/widget/templates/buttons/paste.gif b/webapp/src/main/webapp/src/widget/templates/buttons/paste.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/paste.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/paste.gif diff --git a/webapp/web/src/widget/templates/buttons/redo.gif b/webapp/src/main/webapp/src/widget/templates/buttons/redo.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/redo.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/redo.gif diff --git a/webapp/web/src/widget/templates/buttons/removeformat.gif b/webapp/src/main/webapp/src/widget/templates/buttons/removeformat.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/removeformat.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/removeformat.gif diff --git a/webapp/web/src/widget/templates/buttons/right_to_left.gif b/webapp/src/main/webapp/src/widget/templates/buttons/right_to_left.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/right_to_left.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/right_to_left.gif diff --git a/webapp/web/src/widget/templates/buttons/save.gif b/webapp/src/main/webapp/src/widget/templates/buttons/save.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/save.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/save.gif diff --git a/webapp/web/src/widget/templates/buttons/space.gif b/webapp/src/main/webapp/src/widget/templates/buttons/space.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/space.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/space.gif diff --git a/webapp/web/src/widget/templates/buttons/strikethrough.gif b/webapp/src/main/webapp/src/widget/templates/buttons/strikethrough.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/strikethrough.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/strikethrough.gif diff --git a/webapp/web/src/widget/templates/buttons/subscript.gif b/webapp/src/main/webapp/src/widget/templates/buttons/subscript.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/subscript.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/subscript.gif diff --git a/webapp/web/src/widget/templates/buttons/superscript.gif b/webapp/src/main/webapp/src/widget/templates/buttons/superscript.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/superscript.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/superscript.gif diff --git a/webapp/web/src/widget/templates/buttons/underline.gif b/webapp/src/main/webapp/src/widget/templates/buttons/underline.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/underline.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/underline.gif diff --git a/webapp/web/src/widget/templates/buttons/undo.gif b/webapp/src/main/webapp/src/widget/templates/buttons/undo.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/undo.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/undo.gif diff --git a/webapp/web/src/widget/templates/buttons/wikiword.gif b/webapp/src/main/webapp/src/widget/templates/buttons/wikiword.gif similarity index 100% rename from webapp/web/src/widget/templates/buttons/wikiword.gif rename to webapp/src/main/webapp/src/widget/templates/buttons/wikiword.gif diff --git a/webapp/web/src/widget/templates/check_disabled_off.gif b/webapp/src/main/webapp/src/widget/templates/check_disabled_off.gif similarity index 100% rename from webapp/web/src/widget/templates/check_disabled_off.gif rename to webapp/src/main/webapp/src/widget/templates/check_disabled_off.gif diff --git a/webapp/web/src/widget/templates/check_disabled_on.gif b/webapp/src/main/webapp/src/widget/templates/check_disabled_on.gif similarity index 100% rename from webapp/web/src/widget/templates/check_disabled_on.gif rename to webapp/src/main/webapp/src/widget/templates/check_disabled_on.gif diff --git a/webapp/web/src/widget/templates/check_hover_off.gif b/webapp/src/main/webapp/src/widget/templates/check_hover_off.gif similarity index 100% rename from webapp/web/src/widget/templates/check_hover_off.gif rename to webapp/src/main/webapp/src/widget/templates/check_hover_off.gif diff --git a/webapp/web/src/widget/templates/check_hover_on.gif b/webapp/src/main/webapp/src/widget/templates/check_hover_on.gif similarity index 100% rename from webapp/web/src/widget/templates/check_hover_on.gif rename to webapp/src/main/webapp/src/widget/templates/check_hover_on.gif diff --git a/webapp/web/src/widget/templates/check_off.gif b/webapp/src/main/webapp/src/widget/templates/check_off.gif similarity index 100% rename from webapp/web/src/widget/templates/check_off.gif rename to webapp/src/main/webapp/src/widget/templates/check_off.gif diff --git a/webapp/web/src/widget/templates/check_on.gif b/webapp/src/main/webapp/src/widget/templates/check_on.gif similarity index 100% rename from webapp/web/src/widget/templates/check_on.gif rename to webapp/src/main/webapp/src/widget/templates/check_on.gif diff --git a/webapp/web/src/widget/templates/decrementMonth.gif b/webapp/src/main/webapp/src/widget/templates/decrementMonth.gif similarity index 100% rename from webapp/web/src/widget/templates/decrementMonth.gif rename to webapp/src/main/webapp/src/widget/templates/decrementMonth.gif diff --git a/webapp/web/src/widget/templates/decrementWeek.gif b/webapp/src/main/webapp/src/widget/templates/decrementWeek.gif similarity index 100% rename from webapp/web/src/widget/templates/decrementWeek.gif rename to webapp/src/main/webapp/src/widget/templates/decrementWeek.gif diff --git a/webapp/web/src/widget/templates/grabCorner.gif b/webapp/src/main/webapp/src/widget/templates/grabCorner.gif similarity index 100% rename from webapp/web/src/widget/templates/grabCorner.gif rename to webapp/src/main/webapp/src/widget/templates/grabCorner.gif diff --git a/webapp/web/src/widget/templates/images/Tree/Tree.css b/webapp/src/main/webapp/src/widget/templates/images/Tree/Tree.css similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/Tree.css rename to webapp/src/main/webapp/src/widget/templates/images/Tree/Tree.css diff --git a/webapp/web/src/widget/templates/images/Tree/blank.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/blank.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/blank.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/blank.gif diff --git a/webapp/web/src/widget/templates/images/Tree/closed.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/closed.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/closed.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/closed.gif diff --git a/webapp/web/src/widget/templates/images/Tree/document.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/document.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/document.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/document.gif diff --git a/webapp/web/src/widget/templates/images/Tree/minus.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/minus.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/minus.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/minus.gif diff --git a/webapp/web/src/widget/templates/images/Tree/plus.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/plus.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/plus.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/plus.gif diff --git a/webapp/web/src/widget/templates/images/Tree/transparent.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/transparent.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/transparent.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/transparent.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_blank.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_blank.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_blank.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_blank.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_child.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_child.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_child.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_child.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_expand_minus.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_expand_minus.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_expand_minus.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_expand_minus.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_expand_plus.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_expand_plus.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_expand_plus.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_expand_plus.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_c.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_c.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_c.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_c.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_l.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_l.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_l.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_l.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_p.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_p.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_p.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_p.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_t.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_t.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_t.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_t.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_v.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_v.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_v.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_v.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_x.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_x.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_x.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_x.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_y.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_y.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_y.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_y.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_grid_z.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_z.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_grid_z.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_grid_z.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_loading.gif b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_loading.gif similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_loading.gif rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_loading.gif diff --git a/webapp/web/src/widget/templates/images/Tree/treenode_loading.jpg b/webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_loading.jpg similarity index 100% rename from webapp/web/src/widget/templates/images/Tree/treenode_loading.jpg rename to webapp/src/main/webapp/src/widget/templates/images/Tree/treenode_loading.jpg diff --git a/webapp/web/src/widget/templates/images/bdYearBg.1.gif b/webapp/src/main/webapp/src/widget/templates/images/bdYearBg.1.gif similarity index 100% rename from webapp/web/src/widget/templates/images/bdYearBg.1.gif rename to webapp/src/main/webapp/src/widget/templates/images/bdYearBg.1.gif diff --git a/webapp/web/src/widget/templates/images/bdYearBg.gif b/webapp/src/main/webapp/src/widget/templates/images/bdYearBg.gif similarity index 100% rename from webapp/web/src/widget/templates/images/bdYearBg.gif rename to webapp/src/main/webapp/src/widget/templates/images/bdYearBg.gif diff --git a/webapp/web/src/widget/templates/images/blank.gif b/webapp/src/main/webapp/src/widget/templates/images/blank.gif similarity index 100% rename from webapp/web/src/widget/templates/images/blank.gif rename to webapp/src/main/webapp/src/widget/templates/images/blank.gif diff --git a/webapp/web/src/widget/templates/images/combo_box_arrow.png b/webapp/src/main/webapp/src/widget/templates/images/combo_box_arrow.png similarity index 100% rename from webapp/web/src/widget/templates/images/combo_box_arrow.png rename to webapp/src/main/webapp/src/widget/templates/images/combo_box_arrow.png diff --git a/webapp/web/src/widget/templates/images/dateIcon.gif b/webapp/src/main/webapp/src/widget/templates/images/dateIcon.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dateIcon.gif rename to webapp/src/main/webapp/src/widget/templates/images/dateIcon.gif diff --git a/webapp/web/src/widget/templates/images/decrementMonth.gif b/webapp/src/main/webapp/src/widget/templates/images/decrementMonth.gif similarity index 100% rename from webapp/web/src/widget/templates/images/decrementMonth.gif rename to webapp/src/main/webapp/src/widget/templates/images/decrementMonth.gif diff --git a/webapp/web/src/widget/templates/images/decrementMonth.png b/webapp/src/main/webapp/src/widget/templates/images/decrementMonth.png similarity index 100% rename from webapp/web/src/widget/templates/images/decrementMonth.png rename to webapp/src/main/webapp/src/widget/templates/images/decrementMonth.png diff --git a/webapp/web/src/widget/templates/images/dpBg.gif b/webapp/src/main/webapp/src/widget/templates/images/dpBg.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dpBg.gif rename to webapp/src/main/webapp/src/widget/templates/images/dpBg.gif diff --git a/webapp/web/src/widget/templates/images/dpCurveBL.png b/webapp/src/main/webapp/src/widget/templates/images/dpCurveBL.png similarity index 100% rename from webapp/web/src/widget/templates/images/dpCurveBL.png rename to webapp/src/main/webapp/src/widget/templates/images/dpCurveBL.png diff --git a/webapp/web/src/widget/templates/images/dpCurveBR.png b/webapp/src/main/webapp/src/widget/templates/images/dpCurveBR.png similarity index 100% rename from webapp/web/src/widget/templates/images/dpCurveBR.png rename to webapp/src/main/webapp/src/widget/templates/images/dpCurveBR.png diff --git a/webapp/web/src/widget/templates/images/dpCurveTL.png b/webapp/src/main/webapp/src/widget/templates/images/dpCurveTL.png similarity index 100% rename from webapp/web/src/widget/templates/images/dpCurveTL.png rename to webapp/src/main/webapp/src/widget/templates/images/dpCurveTL.png diff --git a/webapp/web/src/widget/templates/images/dpCurveTR.png b/webapp/src/main/webapp/src/widget/templates/images/dpCurveTR.png similarity index 100% rename from webapp/web/src/widget/templates/images/dpCurveTR.png rename to webapp/src/main/webapp/src/widget/templates/images/dpCurveTR.png diff --git a/webapp/web/src/widget/templates/images/dpHorizLine.gif b/webapp/src/main/webapp/src/widget/templates/images/dpHorizLine.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dpHorizLine.gif rename to webapp/src/main/webapp/src/widget/templates/images/dpHorizLine.gif diff --git a/webapp/web/src/widget/templates/images/dpHorizLineFoot.gif b/webapp/src/main/webapp/src/widget/templates/images/dpHorizLineFoot.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dpHorizLineFoot.gif rename to webapp/src/main/webapp/src/widget/templates/images/dpHorizLineFoot.gif diff --git a/webapp/web/src/widget/templates/images/dpMonthBg.gif b/webapp/src/main/webapp/src/widget/templates/images/dpMonthBg.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dpMonthBg.gif rename to webapp/src/main/webapp/src/widget/templates/images/dpMonthBg.gif diff --git a/webapp/web/src/widget/templates/images/dpMonthBg.png b/webapp/src/main/webapp/src/widget/templates/images/dpMonthBg.png similarity index 100% rename from webapp/web/src/widget/templates/images/dpMonthBg.png rename to webapp/src/main/webapp/src/widget/templates/images/dpMonthBg.png diff --git a/webapp/web/src/widget/templates/images/dpVertLine.gif b/webapp/src/main/webapp/src/widget/templates/images/dpVertLine.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dpVertLine.gif rename to webapp/src/main/webapp/src/widget/templates/images/dpVertLine.gif diff --git a/webapp/web/src/widget/templates/images/dpYearBg.png b/webapp/src/main/webapp/src/widget/templates/images/dpYearBg.png similarity index 100% rename from webapp/web/src/widget/templates/images/dpYearBg.png rename to webapp/src/main/webapp/src/widget/templates/images/dpYearBg.png diff --git a/webapp/web/src/widget/templates/images/dropdownButtonsArrow-disabled.gif b/webapp/src/main/webapp/src/widget/templates/images/dropdownButtonsArrow-disabled.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dropdownButtonsArrow-disabled.gif rename to webapp/src/main/webapp/src/widget/templates/images/dropdownButtonsArrow-disabled.gif diff --git a/webapp/web/src/widget/templates/images/dropdownButtonsArrow.gif b/webapp/src/main/webapp/src/widget/templates/images/dropdownButtonsArrow.gif similarity index 100% rename from webapp/web/src/widget/templates/images/dropdownButtonsArrow.gif rename to webapp/src/main/webapp/src/widget/templates/images/dropdownButtonsArrow.gif diff --git a/webapp/web/src/widget/templates/images/floatingPaneClose.gif b/webapp/src/main/webapp/src/widget/templates/images/floatingPaneClose.gif similarity index 100% rename from webapp/web/src/widget/templates/images/floatingPaneClose.gif rename to webapp/src/main/webapp/src/widget/templates/images/floatingPaneClose.gif diff --git a/webapp/web/src/widget/templates/images/floatingPaneMaximize.gif b/webapp/src/main/webapp/src/widget/templates/images/floatingPaneMaximize.gif similarity index 100% rename from webapp/web/src/widget/templates/images/floatingPaneMaximize.gif rename to webapp/src/main/webapp/src/widget/templates/images/floatingPaneMaximize.gif diff --git a/webapp/web/src/widget/templates/images/floatingPaneMinimize.gif b/webapp/src/main/webapp/src/widget/templates/images/floatingPaneMinimize.gif similarity index 100% rename from webapp/web/src/widget/templates/images/floatingPaneMinimize.gif rename to webapp/src/main/webapp/src/widget/templates/images/floatingPaneMinimize.gif diff --git a/webapp/web/src/widget/templates/images/floatingPaneRestore.gif b/webapp/src/main/webapp/src/widget/templates/images/floatingPaneRestore.gif similarity index 100% rename from webapp/web/src/widget/templates/images/floatingPaneRestore.gif rename to webapp/src/main/webapp/src/widget/templates/images/floatingPaneRestore.gif diff --git a/webapp/web/src/widget/templates/images/incrementMonth.gif b/webapp/src/main/webapp/src/widget/templates/images/incrementMonth.gif similarity index 100% rename from webapp/web/src/widget/templates/images/incrementMonth.gif rename to webapp/src/main/webapp/src/widget/templates/images/incrementMonth.gif diff --git a/webapp/web/src/widget/templates/images/incrementMonth.png b/webapp/src/main/webapp/src/widget/templates/images/incrementMonth.png similarity index 100% rename from webapp/web/src/widget/templates/images/incrementMonth.png rename to webapp/src/main/webapp/src/widget/templates/images/incrementMonth.png diff --git a/webapp/web/src/widget/templates/images/no.gif b/webapp/src/main/webapp/src/widget/templates/images/no.gif similarity index 100% rename from webapp/web/src/widget/templates/images/no.gif rename to webapp/src/main/webapp/src/widget/templates/images/no.gif diff --git a/webapp/web/src/widget/templates/images/no.svg b/webapp/src/main/webapp/src/widget/templates/images/no.svg similarity index 100% rename from webapp/web/src/widget/templates/images/no.svg rename to webapp/src/main/webapp/src/widget/templates/images/no.svg diff --git a/webapp/web/src/widget/templates/images/scBackground.gif b/webapp/src/main/webapp/src/widget/templates/images/scBackground.gif similarity index 100% rename from webapp/web/src/widget/templates/images/scBackground.gif rename to webapp/src/main/webapp/src/widget/templates/images/scBackground.gif diff --git a/webapp/web/src/widget/templates/images/slider-bg-vert.gif b/webapp/src/main/webapp/src/widget/templates/images/slider-bg-vert.gif similarity index 100% rename from webapp/web/src/widget/templates/images/slider-bg-vert.gif rename to webapp/src/main/webapp/src/widget/templates/images/slider-bg-vert.gif diff --git a/webapp/web/src/widget/templates/images/slider-bg.gif b/webapp/src/main/webapp/src/widget/templates/images/slider-bg.gif similarity index 100% rename from webapp/web/src/widget/templates/images/slider-bg.gif rename to webapp/src/main/webapp/src/widget/templates/images/slider-bg.gif diff --git a/webapp/web/src/widget/templates/images/slider-button-horz.png b/webapp/src/main/webapp/src/widget/templates/images/slider-button-horz.png similarity index 100% rename from webapp/web/src/widget/templates/images/slider-button-horz.png rename to webapp/src/main/webapp/src/widget/templates/images/slider-button-horz.png diff --git a/webapp/web/src/widget/templates/images/slider-button-vert.png b/webapp/src/main/webapp/src/widget/templates/images/slider-button-vert.png similarity index 100% rename from webapp/web/src/widget/templates/images/slider-button-vert.png rename to webapp/src/main/webapp/src/widget/templates/images/slider-button-vert.png diff --git a/webapp/web/src/widget/templates/images/slider-button.png b/webapp/src/main/webapp/src/widget/templates/images/slider-button.png similarity index 100% rename from webapp/web/src/widget/templates/images/slider-button.png rename to webapp/src/main/webapp/src/widget/templates/images/slider-button.png diff --git a/webapp/web/src/widget/templates/images/soriaActive-c.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaActive-c.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaActive-c.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaActive-c.gif diff --git a/webapp/web/src/widget/templates/images/soriaActive-l.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaActive-l.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaActive-l.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaActive-l.gif diff --git a/webapp/web/src/widget/templates/images/soriaActive-r.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaActive-r.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaActive-r.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaActive-r.gif diff --git a/webapp/web/src/widget/templates/images/soriaButton-c.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaButton-c.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaButton-c.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaButton-c.gif diff --git a/webapp/web/src/widget/templates/images/soriaButton-l.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaButton-l.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaButton-l.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaButton-l.gif diff --git a/webapp/web/src/widget/templates/images/soriaButton-r.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaButton-r.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaButton-r.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaButton-r.gif diff --git a/webapp/web/src/widget/templates/images/soriaDisabled-c.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaDisabled-c.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaDisabled-c.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaDisabled-c.gif diff --git a/webapp/web/src/widget/templates/images/soriaDisabled-l.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaDisabled-l.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaDisabled-l.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaDisabled-l.gif diff --git a/webapp/web/src/widget/templates/images/soriaDisabled-r.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaDisabled-r.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaDisabled-r.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaDisabled-r.gif diff --git a/webapp/web/src/widget/templates/images/soriaPressed-c.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaPressed-c.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaPressed-c.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaPressed-c.gif diff --git a/webapp/web/src/widget/templates/images/soriaPressed-l.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaPressed-l.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaPressed-l.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaPressed-l.gif diff --git a/webapp/web/src/widget/templates/images/soriaPressed-r.gif b/webapp/src/main/webapp/src/widget/templates/images/soriaPressed-r.gif similarity index 100% rename from webapp/web/src/widget/templates/images/soriaPressed-r.gif rename to webapp/src/main/webapp/src/widget/templates/images/soriaPressed-r.gif diff --git a/webapp/web/src/widget/templates/images/spinnerDecrement.gif b/webapp/src/main/webapp/src/widget/templates/images/spinnerDecrement.gif similarity index 100% rename from webapp/web/src/widget/templates/images/spinnerDecrement.gif rename to webapp/src/main/webapp/src/widget/templates/images/spinnerDecrement.gif diff --git a/webapp/web/src/widget/templates/images/spinnerIncrement.gif b/webapp/src/main/webapp/src/widget/templates/images/spinnerIncrement.gif similarity index 100% rename from webapp/web/src/widget/templates/images/spinnerIncrement.gif rename to webapp/src/main/webapp/src/widget/templates/images/spinnerIncrement.gif diff --git a/webapp/web/src/widget/templates/images/submenu_off.gif b/webapp/src/main/webapp/src/widget/templates/images/submenu_off.gif similarity index 100% rename from webapp/web/src/widget/templates/images/submenu_off.gif rename to webapp/src/main/webapp/src/widget/templates/images/submenu_off.gif diff --git a/webapp/web/src/widget/templates/images/submenu_on.gif b/webapp/src/main/webapp/src/widget/templates/images/submenu_on.gif similarity index 100% rename from webapp/web/src/widget/templates/images/submenu_on.gif rename to webapp/src/main/webapp/src/widget/templates/images/submenu_on.gif diff --git a/webapp/web/src/widget/templates/images/tab_bot_left.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_bot_left.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_bot_left.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_bot_left.gif diff --git a/webapp/web/src/widget/templates/images/tab_bot_left_curr.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_bot_left_curr.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_bot_left_curr.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_bot_left_curr.gif diff --git a/webapp/web/src/widget/templates/images/tab_bot_right.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_bot_right.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_bot_right.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_bot_right.gif diff --git a/webapp/web/src/widget/templates/images/tab_bot_right_curr.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_bot_right_curr.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_bot_right_curr.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_bot_right_curr.gif diff --git a/webapp/web/src/widget/templates/images/tab_close.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_close.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_close.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_close.gif diff --git a/webapp/web/src/widget/templates/images/tab_close_h.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_close_h.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_close_h.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_close_h.gif diff --git a/webapp/web/src/widget/templates/images/tab_left.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_left.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_left.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_left.gif diff --git a/webapp/web/src/widget/templates/images/tab_left_r.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_left_r.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_left_r.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_left_r.gif diff --git a/webapp/web/src/widget/templates/images/tab_left_r_curr.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_left_r_curr.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_left_r_curr.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_left_r_curr.gif diff --git a/webapp/web/src/widget/templates/images/tab_right.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_right.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_right.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_right.gif diff --git a/webapp/web/src/widget/templates/images/tab_right_r.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_right_r.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_right_r.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_right_r.gif diff --git a/webapp/web/src/widget/templates/images/tab_right_r_curr.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_right_r_curr.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_right_r_curr.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_right_r_curr.gif diff --git a/webapp/web/src/widget/templates/images/tab_top_left.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_top_left.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_top_left.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_top_left.gif diff --git a/webapp/web/src/widget/templates/images/tab_top_right.gif b/webapp/src/main/webapp/src/widget/templates/images/tab_top_right.gif similarity index 100% rename from webapp/web/src/widget/templates/images/tab_top_right.gif rename to webapp/src/main/webapp/src/widget/templates/images/tab_top_right.gif diff --git a/webapp/web/src/widget/templates/images/toolbar-bg.gif b/webapp/src/main/webapp/src/widget/templates/images/toolbar-bg.gif similarity index 100% rename from webapp/web/src/widget/templates/images/toolbar-bg.gif rename to webapp/src/main/webapp/src/widget/templates/images/toolbar-bg.gif diff --git a/webapp/web/src/widget/templates/images/transparent.gif b/webapp/src/main/webapp/src/widget/templates/images/transparent.gif similarity index 100% rename from webapp/web/src/widget/templates/images/transparent.gif rename to webapp/src/main/webapp/src/widget/templates/images/transparent.gif diff --git a/webapp/web/src/widget/templates/images/treenode_blank.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_blank.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_blank.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_blank.gif diff --git a/webapp/web/src/widget/templates/images/treenode_child.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_child.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_child.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_child.gif diff --git a/webapp/web/src/widget/templates/images/treenode_expand_minus.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_expand_minus.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_expand_minus.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_expand_minus.gif diff --git a/webapp/web/src/widget/templates/images/treenode_expand_plus.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_expand_plus.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_expand_plus.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_expand_plus.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_c.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_c.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_c.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_c.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_l.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_l.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_l.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_l.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_p.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_p.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_p.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_p.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_t.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_t.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_t.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_t.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_v.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_v.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_v.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_v.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_x.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_x.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_x.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_x.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_y.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_y.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_y.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_y.gif diff --git a/webapp/web/src/widget/templates/images/treenode_grid_z.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_grid_z.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_grid_z.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_grid_z.gif diff --git a/webapp/web/src/widget/templates/images/treenode_node.gif b/webapp/src/main/webapp/src/widget/templates/images/treenode_node.gif similarity index 100% rename from webapp/web/src/widget/templates/images/treenode_node.gif rename to webapp/src/main/webapp/src/widget/templates/images/treenode_node.gif diff --git a/webapp/web/src/widget/templates/images/verticalbar.gif b/webapp/src/main/webapp/src/widget/templates/images/verticalbar.gif similarity index 100% rename from webapp/web/src/widget/templates/images/verticalbar.gif rename to webapp/src/main/webapp/src/widget/templates/images/verticalbar.gif diff --git a/webapp/web/src/widget/templates/images/whiteDownArrow.gif b/webapp/src/main/webapp/src/widget/templates/images/whiteDownArrow.gif similarity index 100% rename from webapp/web/src/widget/templates/images/whiteDownArrow.gif rename to webapp/src/main/webapp/src/widget/templates/images/whiteDownArrow.gif diff --git a/webapp/web/src/widget/templates/incrementMonth.gif b/webapp/src/main/webapp/src/widget/templates/incrementMonth.gif similarity index 100% rename from webapp/web/src/widget/templates/incrementMonth.gif rename to webapp/src/main/webapp/src/widget/templates/incrementMonth.gif diff --git a/webapp/web/src/widget/templates/incrementWeek.gif b/webapp/src/main/webapp/src/widget/templates/incrementWeek.gif similarity index 100% rename from webapp/web/src/widget/templates/incrementWeek.gif rename to webapp/src/main/webapp/src/widget/templates/incrementWeek.gif diff --git a/webapp/web/src/widget/templates/richtextframe.html b/webapp/src/main/webapp/src/widget/templates/richtextframe.html similarity index 100% rename from webapp/web/src/widget/templates/richtextframe.html rename to webapp/src/main/webapp/src/widget/templates/richtextframe.html diff --git a/webapp/web/src/widget/validate.js b/webapp/src/main/webapp/src/widget/validate.js similarity index 100% rename from webapp/web/src/widget/validate.js rename to webapp/src/main/webapp/src/widget/validate.js diff --git a/webapp/web/src/widget/vml/Chart.js b/webapp/src/main/webapp/src/widget/vml/Chart.js similarity index 100% rename from webapp/web/src/widget/vml/Chart.js rename to webapp/src/main/webapp/src/widget/vml/Chart.js diff --git a/webapp/web/src/xml/Parse.js b/webapp/src/main/webapp/src/xml/Parse.js similarity index 100% rename from webapp/web/src/xml/Parse.js rename to webapp/src/main/webapp/src/xml/Parse.js diff --git a/webapp/web/src/xml/__package__.js b/webapp/src/main/webapp/src/xml/__package__.js similarity index 100% rename from webapp/web/src/xml/__package__.js rename to webapp/src/main/webapp/src/xml/__package__.js diff --git a/webapp/web/src/xml/domUtil.js b/webapp/src/main/webapp/src/xml/domUtil.js similarity index 100% rename from webapp/web/src/xml/domUtil.js rename to webapp/src/main/webapp/src/xml/domUtil.js diff --git a/webapp/web/src/xml/htmlUtil.js b/webapp/src/main/webapp/src/xml/htmlUtil.js similarity index 100% rename from webapp/web/src/xml/htmlUtil.js rename to webapp/src/main/webapp/src/xml/htmlUtil.js diff --git a/webapp/web/src/xml/svgUtil.js b/webapp/src/main/webapp/src/xml/svgUtil.js similarity index 100% rename from webapp/web/src/xml/svgUtil.js rename to webapp/src/main/webapp/src/xml/svgUtil.js diff --git a/webapp/web/templates/README.txt b/webapp/src/main/webapp/templates/README.txt similarity index 100% rename from webapp/web/templates/README.txt rename to webapp/src/main/webapp/templates/README.txt diff --git a/webapp/web/templates/alpha/alphaIndex.jsp b/webapp/src/main/webapp/templates/alpha/alphaIndex.jsp similarity index 100% rename from webapp/web/templates/alpha/alphaIndex.jsp rename to webapp/src/main/webapp/templates/alpha/alphaIndex.jsp diff --git a/webapp/web/templates/edit/autogenerated.jsp b/webapp/src/main/webapp/templates/edit/autogenerated.jsp similarity index 100% rename from webapp/web/templates/edit/autogenerated.jsp rename to webapp/src/main/webapp/templates/edit/autogenerated.jsp diff --git a/webapp/web/templates/edit/fetch/horizontal.jsp b/webapp/src/main/webapp/templates/edit/fetch/horizontal.jsp similarity index 100% rename from webapp/web/templates/edit/fetch/horizontal.jsp rename to webapp/src/main/webapp/templates/edit/fetch/horizontal.jsp diff --git a/webapp/web/templates/edit/fetch/vertical.jsp b/webapp/src/main/webapp/templates/edit/fetch/vertical.jsp similarity index 100% rename from webapp/web/templates/edit/fetch/vertical.jsp rename to webapp/src/main/webapp/templates/edit/fetch/vertical.jsp diff --git a/webapp/web/templates/edit/formBasic.js b/webapp/src/main/webapp/templates/edit/formBasic.js similarity index 100% rename from webapp/web/templates/edit/formBasic.js rename to webapp/src/main/webapp/templates/edit/formBasic.js diff --git a/webapp/web/templates/edit/formBasic.jsp b/webapp/src/main/webapp/templates/edit/formBasic.jsp similarity index 100% rename from webapp/web/templates/edit/formBasic.jsp rename to webapp/src/main/webapp/templates/edit/formBasic.jsp diff --git a/webapp/web/templates/edit/formContact.jsp b/webapp/src/main/webapp/templates/edit/formContact.jsp similarity index 100% rename from webapp/web/templates/edit/formContact.jsp rename to webapp/src/main/webapp/templates/edit/formContact.jsp diff --git a/webapp/web/templates/edit/specific/allValuesFromRestriction_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/allValuesFromRestriction_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/allValuesFromRestriction_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/allValuesFromRestriction_retry.jsp diff --git a/webapp/web/templates/edit/specific/applicationBean_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/applicationBean_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/applicationBean_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/applicationBean_retry.jsp diff --git a/webapp/web/templates/edit/specific/cardinalityRestriction_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/cardinalityRestriction_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/cardinalityRestriction_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/cardinalityRestriction_retry.jsp diff --git a/webapp/web/templates/edit/specific/class2classes_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/class2classes_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/class2classes_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/class2classes_retry.jsp diff --git a/webapp/web/templates/edit/specific/classes_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/classes_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/classes_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/classes_edit.jsp diff --git a/webapp/web/templates/edit/specific/classgroup_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/classgroup_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/classgroup_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/classgroup_retry.jsp diff --git a/webapp/web/templates/edit/specific/classgroups_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/classgroups_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/classgroups_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/classgroups_edit.jsp diff --git a/webapp/web/templates/edit/specific/dataprop_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/dataprop_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/dataprop_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/dataprop_retry.jsp diff --git a/webapp/web/templates/edit/specific/dataprops_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/dataprops_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/dataprops_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/dataprops_edit.jsp diff --git a/webapp/web/templates/edit/specific/datatype_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/datatype_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/datatype_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/datatype_retry.jsp diff --git a/webapp/web/templates/edit/specific/datatypes_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/datatypes_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/datatypes_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/datatypes_edit.jsp diff --git a/webapp/web/templates/edit/specific/disjointClasses_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/disjointClasses_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/disjointClasses_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/disjointClasses_retry.jsp diff --git a/webapp/web/templates/edit/specific/entity_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/entity_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/entity_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/entity_retry.jsp diff --git a/webapp/web/templates/edit/specific/entity_retry_dataprop.jsp b/webapp/src/main/webapp/templates/edit/specific/entity_retry_dataprop.jsp similarity index 100% rename from webapp/web/templates/edit/specific/entity_retry_dataprop.jsp rename to webapp/src/main/webapp/templates/edit/specific/entity_retry_dataprop.jsp diff --git a/webapp/web/templates/edit/specific/entity_retry_dataprops.jsp b/webapp/src/main/webapp/templates/edit/specific/entity_retry_dataprops.jsp similarity index 100% rename from webapp/web/templates/edit/specific/entity_retry_dataprops.jsp rename to webapp/src/main/webapp/templates/edit/specific/entity_retry_dataprops.jsp diff --git a/webapp/web/templates/edit/specific/entity_retry_init.jsp b/webapp/src/main/webapp/templates/edit/specific/entity_retry_init.jsp similarity index 100% rename from webapp/web/templates/edit/specific/entity_retry_init.jsp rename to webapp/src/main/webapp/templates/edit/specific/entity_retry_init.jsp diff --git a/webapp/web/templates/edit/specific/ents2data_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/ents2data_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ents2data_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/ents2data_retry.jsp diff --git a/webapp/web/templates/edit/specific/ents2ents_retry_domainSide.jsp b/webapp/src/main/webapp/templates/edit/specific/ents2ents_retry_domainSide.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ents2ents_retry_domainSide.jsp rename to webapp/src/main/webapp/templates/edit/specific/ents2ents_retry_domainSide.jsp diff --git a/webapp/web/templates/edit/specific/ents2ents_retry_rangeSide.jsp b/webapp/src/main/webapp/templates/edit/specific/ents2ents_retry_rangeSide.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ents2ents_retry_rangeSide.jsp rename to webapp/src/main/webapp/templates/edit/specific/ents2ents_retry_rangeSide.jsp diff --git a/webapp/web/templates/edit/specific/ents_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/ents_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ents_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/ents_edit.jsp diff --git a/webapp/web/templates/edit/specific/ents_edit_head.jsp b/webapp/src/main/webapp/templates/edit/specific/ents_edit_head.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ents_edit_head.jsp rename to webapp/src/main/webapp/templates/edit/specific/ents_edit_head.jsp diff --git a/webapp/web/templates/edit/specific/equivalentClasses_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/equivalentClasses_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/equivalentClasses_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/equivalentClasses_retry.jsp diff --git a/webapp/web/templates/edit/specific/externalIds_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/externalIds_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/externalIds_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/externalIds_retry.jsp diff --git a/webapp/web/templates/edit/specific/fauxProperty_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/fauxProperty_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/fauxProperty_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/fauxProperty_retry.jsp diff --git a/webapp/web/templates/edit/specific/hasValueRestriction_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/hasValueRestriction_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/hasValueRestriction_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/hasValueRestriction_retry.jsp diff --git a/webapp/web/templates/edit/specific/individualType_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/individualType_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/individualType_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/individualType_retry.jsp diff --git a/webapp/web/templates/edit/specific/merge_result.jsp b/webapp/src/main/webapp/templates/edit/specific/merge_result.jsp similarity index 100% rename from webapp/web/templates/edit/specific/merge_result.jsp rename to webapp/src/main/webapp/templates/edit/specific/merge_result.jsp diff --git a/webapp/web/templates/edit/specific/moveInstances_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/moveInstances_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/moveInstances_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/moveInstances_retry.jsp diff --git a/webapp/web/templates/edit/specific/movePropertyStatements_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/movePropertyStatements_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/movePropertyStatements_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/movePropertyStatements_retry.jsp diff --git a/webapp/web/templates/edit/specific/namespacePrefix_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/namespacePrefix_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/namespacePrefix_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/namespacePrefix_retry.jsp diff --git a/webapp/web/templates/edit/specific/namespaces_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/namespaces_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/namespaces_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/namespaces_edit.jsp diff --git a/webapp/web/templates/edit/specific/ontologies_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/ontologies_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ontologies_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/ontologies_edit.jsp diff --git a/webapp/web/templates/edit/specific/ontology_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/ontology_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/ontology_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/ontology_retry.jsp diff --git a/webapp/web/templates/edit/specific/properties2properties_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/properties2properties_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/properties2properties_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/properties2properties_retry.jsp diff --git a/webapp/web/templates/edit/specific/propertyGroup_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/propertyGroup_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/propertyGroup_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/propertyGroup_retry.jsp diff --git a/webapp/web/templates/edit/specific/property_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/property_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/property_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/property_retry.jsp diff --git a/webapp/web/templates/edit/specific/props_edit.jsp b/webapp/src/main/webapp/templates/edit/specific/props_edit.jsp similarity index 100% rename from webapp/web/templates/edit/specific/props_edit.jsp rename to webapp/src/main/webapp/templates/edit/specific/props_edit.jsp diff --git a/webapp/web/templates/edit/specific/renameResource_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/renameResource_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/renameResource_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/renameResource_retry.jsp diff --git a/webapp/web/templates/edit/specific/restriction_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/restriction_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/restriction_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/restriction_retry.jsp diff --git a/webapp/web/templates/edit/specific/someValuesFromRestriction_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/someValuesFromRestriction_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/someValuesFromRestriction_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/someValuesFromRestriction_retry.jsp diff --git a/webapp/web/templates/edit/specific/upload_rdf.jsp b/webapp/src/main/webapp/templates/edit/specific/upload_rdf.jsp similarity index 100% rename from webapp/web/templates/edit/specific/upload_rdf.jsp rename to webapp/src/main/webapp/templates/edit/specific/upload_rdf.jsp diff --git a/webapp/web/templates/edit/specific/upload_rdf_result.jsp b/webapp/src/main/webapp/templates/edit/specific/upload_rdf_result.jsp similarity index 100% rename from webapp/web/templates/edit/specific/upload_rdf_result.jsp rename to webapp/src/main/webapp/templates/edit/specific/upload_rdf_result.jsp diff --git a/webapp/web/templates/edit/specific/user_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/user_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/user_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/user_retry.jsp diff --git a/webapp/web/templates/edit/specific/user_retry_head.jsp b/webapp/src/main/webapp/templates/edit/specific/user_retry_head.jsp similarity index 100% rename from webapp/web/templates/edit/specific/user_retry_head.jsp rename to webapp/src/main/webapp/templates/edit/specific/user_retry_head.jsp diff --git a/webapp/web/templates/edit/specific/vclass_retry.jsp b/webapp/src/main/webapp/templates/edit/specific/vclass_retry.jsp similarity index 100% rename from webapp/web/templates/edit/specific/vclass_retry.jsp rename to webapp/src/main/webapp/templates/edit/specific/vclass_retry.jsp diff --git a/webapp/web/templates/entity/entityListForTabs.jsp b/webapp/src/main/webapp/templates/entity/entityListForTabs.jsp similarity index 100% rename from webapp/web/templates/entity/entityListForTabs.jsp rename to webapp/src/main/webapp/templates/entity/entityListForTabs.jsp diff --git a/webapp/web/templates/entity/entityListPages.jsp b/webapp/src/main/webapp/templates/entity/entityListPages.jsp similarity index 100% rename from webapp/web/templates/entity/entityListPages.jsp rename to webapp/src/main/webapp/templates/entity/entityListPages.jsp diff --git a/webapp/web/templates/error/entityNotFound.jsp b/webapp/src/main/webapp/templates/error/entityNotFound.jsp similarity index 100% rename from webapp/web/templates/error/entityNotFound.jsp rename to webapp/src/main/webapp/templates/error/entityNotFound.jsp diff --git a/webapp/web/templates/error/error404.jsp b/webapp/src/main/webapp/templates/error/error404.jsp similarity index 100% rename from webapp/web/templates/error/error404.jsp rename to webapp/src/main/webapp/templates/error/error404.jsp diff --git a/webapp/web/templates/error/error404content.jsp b/webapp/src/main/webapp/templates/error/error404content.jsp similarity index 100% rename from webapp/web/templates/error/error404content.jsp rename to webapp/src/main/webapp/templates/error/error404content.jsp diff --git a/webapp/web/templates/error/error500.jsp b/webapp/src/main/webapp/templates/error/error500.jsp similarity index 100% rename from webapp/web/templates/error/error500.jsp rename to webapp/src/main/webapp/templates/error/error500.jsp diff --git a/webapp/web/templates/error/error500content.jsp b/webapp/src/main/webapp/templates/error/error500content.jsp similarity index 100% rename from webapp/web/templates/error/error500content.jsp rename to webapp/src/main/webapp/templates/error/error500content.jsp diff --git a/webapp/web/templates/freemarker/ajax/autocompleteResults.ftl b/webapp/src/main/webapp/templates/freemarker/ajax/autocompleteResults.ftl similarity index 100% rename from webapp/web/templates/freemarker/ajax/autocompleteResults.ftl rename to webapp/src/main/webapp/templates/freemarker/ajax/autocompleteResults.ftl diff --git a/webapp/web/templates/freemarker/body/about.ftl b/webapp/src/main/webapp/templates/freemarker/body/about.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/about.ftl rename to webapp/src/main/webapp/templates/freemarker/body/about.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-acctCreatedEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-acctCreatedEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-acctCreatedEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-acctCreatedEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-acctCreatedExternalOnlyEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-acctCreatedExternalOnlyEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-acctCreatedExternalOnlyEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-acctCreatedExternalOnlyEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-add.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-add.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-add.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-add.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-associateProfilePanel.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-associateProfilePanel.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-associateProfilePanel.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-associateProfilePanel.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-confirmEmailChangedEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-confirmEmailChangedEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-confirmEmailChangedEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-confirmEmailChangedEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-createPassword.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-createPassword.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-createPassword.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-createPassword.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-edit.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-edit.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-edit.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-edit.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-firstTimeExternal.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-firstTimeExternal.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-firstTimeExternal.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-firstTimeExternal.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-firstTimeExternalEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-firstTimeExternalEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-firstTimeExternalEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-firstTimeExternalEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-list.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-list.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-list.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-list.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-myAccount.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-myAccount.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-myAccount.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-myAccount.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-myProxiesPanel.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-myProxiesPanel.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-myProxiesPanel.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-myProxiesPanel.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-passwordCreatedEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-passwordCreatedEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-passwordCreatedEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-passwordCreatedEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-passwordResetCompleteEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-passwordResetCompleteEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-passwordResetCompleteEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-passwordResetCompleteEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-passwordResetPendingEmail.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-passwordResetPendingEmail.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-passwordResetPendingEmail.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-passwordResetPendingEmail.ftl diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-resetPassword.ftl b/webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-resetPassword.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/accounts/userAccounts-resetPassword.ftl rename to webapp/src/main/webapp/templates/freemarker/body/accounts/userAccounts-resetPassword.ftl diff --git a/webapp/web/templates/freemarker/body/admin/admin-restrictLogins.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-restrictLogins.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/admin-restrictLogins.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/admin-restrictLogins.ftl diff --git a/webapp/web/templates/freemarker/body/admin/admin-showAuth.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-showAuth.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/admin-showAuth.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/admin-showAuth.ftl diff --git a/webapp/web/templates/freemarker/body/admin/admin-showConfiguration.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-showConfiguration.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/admin-showConfiguration.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/admin-showConfiguration.ftl diff --git a/webapp/web/templates/freemarker/body/admin/admin-showSources.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-showSources.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/admin-showSources.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/admin-showSources.ftl diff --git a/webapp/web/templates/freemarker/body/admin/admin-showThreads.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-showThreads.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/admin-showThreads.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/admin-showThreads.ftl diff --git a/webapp/web/templates/freemarker/body/admin/admin-sparqlQueryForm.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-sparqlQueryForm.ftl similarity index 76% rename from webapp/web/templates/freemarker/body/admin/admin-sparqlQueryForm.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/admin-sparqlQueryForm.ftl index d3f12e248..2f1edb45e 100644 --- a/webapp/web/templates/freemarker/body/admin/admin-sparqlQueryForm.ftl +++ b/webapp/src/main/webapp/templates/freemarker/body/admin/admin-sparqlQueryForm.ftl @@ -6,13 +6,10 @@

SPARQL Query

Query:

-
- -
-
+ + +

Format for SELECT and ASK query results:

@@ -21,7 +18,7 @@ ${sampleQuery}
-
+

Format for CONSTRUCT and DESCRIBE query results:

@@ -33,3 +30,7 @@ ${sampleQuery}
+ +${stylesheets.add('')} +${scripts.add('', +'')} diff --git a/webapp/web/templates/freemarker/body/admin/searchIndex.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/searchIndex.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/searchIndex.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/searchIndex.ftl diff --git a/webapp/web/templates/freemarker/body/admin/searchIndexStatus.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/searchIndexStatus.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/searchIndexStatus.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/searchIndexStatus.ftl diff --git a/webapp/web/templates/freemarker/body/admin/startupStatus-display.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/startupStatus-display.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/startupStatus-display.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/startupStatus-display.ftl diff --git a/webapp/web/templates/freemarker/body/admin/startupStatus-displayRaw.ftl b/webapp/src/main/webapp/templates/freemarker/body/admin/startupStatus-displayRaw.ftl similarity index 100% rename from webapp/web/templates/freemarker/body/admin/startupStatus-displayRaw.ftl rename to webapp/src/main/webapp/templates/freemarker/body/admin/startupStatus-displayRaw.ftl diff --git a/webapp/web/templates/freemarker/body/classGroups.ftl b/webapp/src/main/webapp/templates/freemarker/body/classGroups.ftl similarity index 80% rename from webapp/web/templates/freemarker/body/classGroups.ftl rename to webapp/src/main/webapp/templates/freemarker/body/classGroups.ftl index aa4fc60ef..96cc3eedb 100644 --- a/webapp/web/templates/freemarker/body/classGroups.ftl +++ b/webapp/src/main/webapp/templates/freemarker/body/classGroups.ftl @@ -8,12 +8,19 @@
<#list classGroups as classGroup> - <#assign groupSize = classGroup.classes?size > + <#assign groupSize = 0 > <#assign classCount = 0 > <#assign splitGroup = false> <#-- Only render classgroups that have at least one populated class --> - <#if (classGroup.individualCount > 0)> -
+ <#if (classGroup.individualCount > 0)> + + <#list classGroup.classes as class> + <#if (class.individualCount > 0)> + <#assign groupSize = groupSize + 1 > + + + +

${classGroup.displayName}

    <#list classGroup.classes as class> @@ -22,7 +29,7 @@
  • ${class.name} (${class.individualCount})
  • <#assign classCount = classCount + 1 > - <#if (classCount > 34) && !splitGroup > + <#if (classCount > 34) && (classCount < groupSize) && !splitGroup > <#assign splitGroup = true >
@@ -40,7 +47,7 @@ ${headScripts.add('')}