From 0a63088e055dcd5ff397ce4e98d008c62c84dc98 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 10 Feb 2015 10:40:11 +0000 Subject: [PATCH] Remove or merge bundles Clean up POMs git-svn-id: https://svn.argeo.org/commons/trunk@7775 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- dep/org.argeo.dep.cms/pom.xml | 76 +---- dep/org.argeo.security.dep.node.rap/pom.xml | 73 +---- dep/org.argeo.security.dep.node/pom.xml | 74 +---- dep/pom.xml | 51 +++- dist/osgi-boot/pom.xml | 4 +- dist/pom.xml | 2 +- org.argeo.cms/bnd.bnd | 3 +- org.argeo.cms/pom.xml | 45 +-- .../src/org/argeo/cms/CmsApplication.java | 1 + .../backup/AbstractAtomicBackup.java | 2 +- .../cms/internal}/backup/AtomicBackup.java | 2 +- .../cms/internal}/backup/BackupContext.java | 2 +- .../backup/BackupFileSystemManager.java | 2 +- .../cms/internal}/backup/BackupPurge.java | 2 +- .../cms/internal}/backup/BackupUtils.java | 2 +- .../cms/internal}/backup/MySqlBackup.java | 2 +- .../cms/internal}/backup/OpenLdapBackup.java | 2 +- .../cms/internal}/backup/OsCallBackup.java | 2 +- .../internal}/backup/PostgreSqlBackup.java | 2 +- .../internal}/backup/SimpleBackupContext.java | 2 +- .../internal}/backup/SimpleBackupPurge.java | 2 +- .../argeo/cms/internal}/backup/SvnBackup.java | 2 +- .../cms/internal}/backup/SystemBackup.java | 102 ++++--- .../argeo/cms/internal/kernel/NodeHttp.java | 6 +- .../cms/internal/kernel/NodeSecurity.java | 36 ++- .../argeo/cms/viewers/AbstractPageViewer.java | 1 - org.argeo.eclipse.ui.rap/pom.xml | 17 -- org.argeo.eclipse.ui.workbench.rap/pom.xml | 2 +- org.argeo.eclipse.ui.workbench/pom.xml | 33 +-- org.argeo.eclipse.ui/bnd.bnd | 10 - org.argeo.eclipse.ui/pom.xml | 28 -- org.argeo.security.core/bnd.bnd | 2 + org.argeo.security.core/pom.xml | 93 +----- .../security/core/AuthorizationPrincipal.java | 24 ++ .../security/core/UserAdminLoginModule.java | 155 ++++++++++ .../ldap/ArgeoLdapShaPasswordEncoder.java | 0 .../ldap/ArgeoLdapUserDetailsManager.java | 0 .../security/ldap/ArgeoUserAdminDaoLdap.java | 0 .../ldap/jcr/JcrLdapSynchronizer.java | 0 .../ldap/jcr/JcrUserDetailsContextMapper.java | 0 org.argeo.security.jackrabbit/pom.xml | 14 +- org.argeo.security.ldap/.classpath | 9 - org.argeo.security.ldap/.project | 28 -- org.argeo.security.ldap/bnd.bnd | 4 - org.argeo.security.ldap/build.properties | 1 - org.argeo.security.ldap/pom.xml | 76 ----- org.argeo.security.ui.admin/pom.xml | 37 +-- org.argeo.security.ui.rap/pom.xml | 20 +- org.argeo.security.ui/pom.xml | 24 +- org.argeo.server.core/.classpath | 9 - org.argeo.server.core/.project | 28 -- org.argeo.server.core/bnd.bnd | 3 - org.argeo.server.core/build.properties | 4 - org.argeo.server.core/pom.xml | 81 ------ .../src/org/argeo/server/BooleanAnswer.java | 36 --- .../src/org/argeo/server/Deserializer.java | 22 -- .../org/argeo/server/DeserializingEditor.java | 43 --- .../src/org/argeo/server/PrimitiveAnswer.java | 34 --- .../src/org/argeo/server/Serializer.java | 26 -- .../src/org/argeo/server/ServerAnswer.java | 95 ------- .../org/argeo/server/ServerSerializer.java | 24 -- .../server/dao/AbstractMemoryDaoSupport.java | 264 ------------------ .../server/dao/AbstractTabularDaoSupport.java | 100 ------- .../org/argeo/server/dao/LightDaoAware.java | 20 -- .../server/dao/LightDaoPropertyEditor.java | 59 ---- .../org/argeo/server/dao/LightDaoSupport.java | 36 --- .../mvc/DefaultHandlerExceptionResolver.java | 46 --- .../argeo/server/mvc/EmptyViewController.java | 34 --- .../org/argeo/server/mvc/MvcConstants.java | 21 -- .../org/argeo/server/mvc/SerializingView.java | 119 -------- .../server/mvc/SerializingViewResolver.java | 46 --- org.argeo.server.jackrabbit/.classpath | 9 - org.argeo.server.jackrabbit/.project | 28 -- .../.settings/org.eclipse.jdt.core.prefs | 89 ------ org.argeo.server.jackrabbit/bnd.bnd | 7 - org.argeo.server.jackrabbit/build.properties | 2 - org.argeo.server.jackrabbit/pom.xml | 68 ----- org.argeo.server.jcr/bnd.bnd | 4 + org.argeo.server.jcr/build.properties | 4 +- org.argeo.server.jcr/pom.xml | 93 +----- .../jackrabbit/JackrabbitAuthorizations.java | 0 .../argeo/jackrabbit/JackrabbitContainer.java | 0 .../JackrabbitDataModelMigration.java | 0 .../JackrabbitRepositoryFactory.java | 0 .../argeo/jackrabbit/JackrabbitWrapper.java | 0 .../OsgiJackrabbitRepositoryFactory.java | 0 .../org/argeo/jackrabbit/repository-fs.xml | 0 .../org/argeo/jackrabbit/repository-h2.xml | 0 .../argeo/jackrabbit/repository-memory.xml | 0 .../servlet/OpenInViewSessionProvider.java | 0 .../jackrabbit/servlet/RemotingServlet.java | 0 .../jackrabbit/servlet/WebdavServlet.java | 0 org.argeo.util/pom.xml | 18 +- pom.xml | 16 +- 94 files changed, 367 insertions(+), 2198 deletions(-) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/AbstractAtomicBackup.java (98%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/AtomicBackup.java (96%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/BackupContext.java (96%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/BackupFileSystemManager.java (98%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/BackupPurge.java (96%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/BackupUtils.java (96%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/MySqlBackup.java (98%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/OpenLdapBackup.java (97%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/OsCallBackup.java (98%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/PostgreSqlBackup.java (98%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/SimpleBackupContext.java (97%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/SimpleBackupPurge.java (98%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/SvnBackup.java (97%) rename {org.argeo.server.core/src/org/argeo/server => org.argeo.cms/src/org/argeo/cms/internal}/backup/SystemBackup.java (77%) create mode 100644 org.argeo.security.core/src/org/argeo/security/core/AuthorizationPrincipal.java create mode 100644 org.argeo.security.core/src/org/argeo/security/core/UserAdminLoginModule.java rename {org.argeo.security.ldap => org.argeo.security.core}/src/org/argeo/security/ldap/ArgeoLdapShaPasswordEncoder.java (100%) rename {org.argeo.security.ldap => org.argeo.security.core}/src/org/argeo/security/ldap/ArgeoLdapUserDetailsManager.java (100%) rename {org.argeo.security.ldap => org.argeo.security.core}/src/org/argeo/security/ldap/ArgeoUserAdminDaoLdap.java (100%) rename {org.argeo.security.ldap => org.argeo.security.core}/src/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java (100%) rename {org.argeo.security.ldap => org.argeo.security.core}/src/org/argeo/security/ldap/jcr/JcrUserDetailsContextMapper.java (100%) delete mode 100644 org.argeo.security.ldap/.classpath delete mode 100644 org.argeo.security.ldap/.project delete mode 100644 org.argeo.security.ldap/bnd.bnd delete mode 100644 org.argeo.security.ldap/build.properties delete mode 100644 org.argeo.security.ldap/pom.xml delete mode 100644 org.argeo.server.core/.classpath delete mode 100644 org.argeo.server.core/.project delete mode 100644 org.argeo.server.core/bnd.bnd delete mode 100644 org.argeo.server.core/build.properties delete mode 100644 org.argeo.server.core/pom.xml delete mode 100644 org.argeo.server.core/src/org/argeo/server/BooleanAnswer.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/Deserializer.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/DeserializingEditor.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/PrimitiveAnswer.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/Serializer.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/ServerAnswer.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/ServerSerializer.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/dao/AbstractMemoryDaoSupport.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/dao/AbstractTabularDaoSupport.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/dao/LightDaoAware.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/dao/LightDaoPropertyEditor.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/dao/LightDaoSupport.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/mvc/DefaultHandlerExceptionResolver.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/mvc/EmptyViewController.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/mvc/MvcConstants.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/mvc/SerializingView.java delete mode 100644 org.argeo.server.core/src/org/argeo/server/mvc/SerializingViewResolver.java delete mode 100644 org.argeo.server.jackrabbit/.classpath delete mode 100644 org.argeo.server.jackrabbit/.project delete mode 100644 org.argeo.server.jackrabbit/.settings/org.eclipse.jdt.core.prefs delete mode 100644 org.argeo.server.jackrabbit/bnd.bnd delete mode 100644 org.argeo.server.jackrabbit/build.properties delete mode 100644 org.argeo.server.jackrabbit/pom.xml rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/JackrabbitAuthorizations.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/JackrabbitContainer.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/JackrabbitDataModelMigration.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/JackrabbitRepositoryFactory.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/JackrabbitWrapper.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/OsgiJackrabbitRepositoryFactory.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/repository-fs.xml (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/repository-h2.xml (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/repository-memory.xml (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/servlet/OpenInViewSessionProvider.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/servlet/RemotingServlet.java (100%) rename {org.argeo.server.jackrabbit => org.argeo.server.jcr}/src/org/argeo/jackrabbit/servlet/WebdavServlet.java (100%) diff --git a/dep/org.argeo.dep.cms/pom.xml b/dep/org.argeo.dep.cms/pom.xml index ca9bde218..6bba46fd6 100644 --- a/dep/org.argeo.dep.cms/pom.xml +++ b/dep/org.argeo.dep.cms/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 org.argeo.commons @@ -8,33 +9,7 @@ .. org.argeo.dep.cms - Commons CMS Dependencies - - - - org.apache.felix - maven-bundle-plugin - - - default - - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - generate-descriptors - - descriptors - - generate-resources - - - - - + Commons CMS Light org.argeo.commons @@ -93,10 +68,6 @@ - - org.argeo.tp.rap.platform - javax.xml - org.argeo.tp.rap.platform org.eclipse.rap.ui.workbench @@ -209,41 +180,16 @@ - - - - - - - - + + org.argeo.tp.apache.ant + org.apache.ant + + + org.argeo.tp.apache.ant + org.apache.ant.launch + - - - check-osgi - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - check-osgi - test - - equinox - - - true - - - - - - - - \ No newline at end of file diff --git a/dep/org.argeo.security.dep.node.rap/pom.xml b/dep/org.argeo.security.dep.node.rap/pom.xml index 14bd5b919..002365fa7 100644 --- a/dep/org.argeo.security.dep.node.rap/pom.xml +++ b/dep/org.argeo.security.dep.node.rap/pom.xml @@ -7,35 +7,9 @@ .. org.argeo.security.dep.node.rap - Node Eclipse RAP - - - - org.apache.felix - maven-bundle-plugin - - - default - - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - generate-descriptors - - descriptors - - generate-resources - - - - - + Commons CMS Full - + org.argeo.commons org.argeo.cms @@ -58,11 +32,6 @@ org.argeo.security.ui.admin 2.1.14-SNAPSHOT - - - - - @@ -70,12 +39,6 @@ org.argeo.security.dep.node 2.1.14-SNAPSHOT pom - - - - org.argeo.commons @@ -89,37 +52,5 @@ argeo-tp ${version.argeo-distribution} - - - - - - - check-osgi - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - check-osgi - test - - equinox - - - true - - - - - - - - diff --git a/dep/org.argeo.security.dep.node/pom.xml b/dep/org.argeo.security.dep.node/pom.xml index 507bb9353..9c6440fd0 100644 --- a/dep/org.argeo.security.dep.node/pom.xml +++ b/dep/org.argeo.security.dep.node/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 org.argeo.commons @@ -8,33 +9,7 @@ .. org.argeo.security.dep.node - Node Backend - - - - org.apache.felix - maven-bundle-plugin - - - default - - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - generate-descriptors - - descriptors - - generate-resources - - - - - + Commons Backend @@ -43,13 +18,6 @@ ${version.argeo-distribution} - - - - - - - org.argeo.commons @@ -64,10 +32,10 @@ 2.1.14-SNAPSHOT - + org.argeo.commons - org.argeo.server.jackrabbit + org.argeo.server.jcr 2.1.14-SNAPSHOT @@ -75,37 +43,5 @@ org.argeo.security.jackrabbit 2.1.14-SNAPSHOT - - - - - - - - - - check-osgi - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - check-osgi - test - - equinox - - - true - - - - - - - - \ No newline at end of file diff --git a/dep/pom.xml b/dep/pom.xml index 5702442ab..200cf2ce6 100644 --- a/dep/pom.xml +++ b/dep/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 org.argeo.commons @@ -8,16 +9,62 @@ .. dep - Commons Base Dependencies + Commons Modular Distributions pom org.argeo.security.dep.node org.argeo.dep.cms org.argeo.security.dep.node.rap + + + + org.apache.felix + maven-bundle-plugin + + + default + + + + + org.argeo.maven.plugins + maven-argeo-osgi-plugin + + + generate-descriptors + + descriptors + + generate-resources + + + + + check-osgi + + + + org.argeo.maven.plugins + maven-argeo-osgi-plugin + + + check-osgi + test + + equinox + + + true + + + + + + org.argeo.commons diff --git a/dist/osgi-boot/pom.xml b/dist/osgi-boot/pom.xml index 06eefe9e3..9a81e9b1c 100644 --- a/dist/osgi-boot/pom.xml +++ b/dist/osgi-boot/pom.xml @@ -8,9 +8,9 @@ osgi-boot pom - Commons OSGi Boot Distribution + Commons Deployable OSGi Boot - 3.9.1.v20140110-1610 + 3.10.1.v20140909-1633 diff --git a/dist/pom.xml b/dist/pom.xml index adcc087df..da75c3bea 100644 --- a/dist/pom.xml +++ b/dist/pom.xml @@ -8,7 +8,7 @@ .. dist - Commons Distributions + Commons Deployable Distributions pom osgi-boot diff --git a/org.argeo.cms/bnd.bnd b/org.argeo.cms/bnd.bnd index 477223485..bdcfd61d0 100644 --- a/org.argeo.cms/bnd.bnd +++ b/org.argeo.cms/bnd.bnd @@ -8,9 +8,10 @@ javax.jcr.security,\ org.xml.sax;version="0.0.0",\ org.eclipse.swt.widgets;version="0.0.0",\ org.argeo.jcr,\ -org.h2;resolution:=optional,\ org.springframework.context,\ org.apache.jackrabbit.api,\ org.apache.jackrabbit.commons,\ org.eclipse.rap.rwt.osgi,\ +org.h2;resolution:=optional,\ +org.apache.commons.vfs2.*;resolution:=optional,\ * diff --git a/org.argeo.cms/pom.xml b/org.argeo.cms/pom.xml index b2a398d2a..660a263fc 100644 --- a/org.argeo.cms/pom.xml +++ b/org.argeo.cms/pom.xml @@ -8,7 +8,7 @@ .. org.argeo.cms - Commons Content Management System + Commons CMS jar @@ -16,58 +16,15 @@ org.argeo.server.jcr 2.1.14-SNAPSHOT - - org.argeo.commons - org.argeo.server.jackrabbit - 2.1.14-SNAPSHOT - - org.argeo.commons org.argeo.security.core 2.1.14-SNAPSHOT - - - - - - - org.argeo.commons org.argeo.eclipse.ui 2.1.14-SNAPSHOT - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.cms/src/org/argeo/cms/CmsApplication.java b/org.argeo.cms/src/org/argeo/cms/CmsApplication.java index af8fa1c99..7871ee086 100644 --- a/org.argeo.cms/src/org/argeo/cms/CmsApplication.java +++ b/org.argeo.cms/src/org/argeo/cms/CmsApplication.java @@ -23,6 +23,7 @@ import org.eclipse.rap.rwt.service.ResourceLoader; import org.osgi.framework.BundleContext; /** Configures an Argeo CMS RWT application. */ +@SuppressWarnings("deprecation") public class CmsApplication implements CmsConstants, ApplicationConfiguration, BundleContextAware { final static Log log = LogFactory.getLog(CmsApplication.class); diff --git a/org.argeo.server.core/src/org/argeo/server/backup/AbstractAtomicBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/AbstractAtomicBackup.java similarity index 98% rename from org.argeo.server.core/src/org/argeo/server/backup/AbstractAtomicBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/AbstractAtomicBackup.java index 89c53e680..88fbb5a1c 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/AbstractAtomicBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/AbstractAtomicBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemManager; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/AtomicBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/AtomicBackup.java similarity index 96% rename from org.argeo.server.core/src/org/argeo/server/backup/AtomicBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/AtomicBackup.java index 1f3eb942d..e14344c8f 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/AtomicBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/AtomicBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileSystemManager; import org.apache.commons.vfs2.FileSystemOptions; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/BackupContext.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupContext.java similarity index 96% rename from org.argeo.server.core/src/org/argeo/server/backup/BackupContext.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/BackupContext.java index 5f6442f04..14e7eb41a 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/BackupContext.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupContext.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.text.DateFormat; import java.util.Date; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/BackupFileSystemManager.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupFileSystemManager.java similarity index 98% rename from org.argeo.server.core/src/org/argeo/server/backup/BackupFileSystemManager.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/BackupFileSystemManager.java index c963c303d..2883e05ed 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/BackupFileSystemManager.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupFileSystemManager.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileSystemException; import org.apache.commons.vfs2.impl.DefaultFileSystemManager; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/BackupPurge.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupPurge.java similarity index 96% rename from org.argeo.server.core/src/org/argeo/server/backup/BackupPurge.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/BackupPurge.java index 4937b8eb9..75a6b164b 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/BackupPurge.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupPurge.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.text.DateFormat; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/BackupUtils.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupUtils.java similarity index 96% rename from org.argeo.server.core/src/org/argeo/server/backup/BackupUtils.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/BackupUtils.java index 4eb3830d8..9a4e91c1f 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/BackupUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/BackupUtils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileObject; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/MySqlBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/MySqlBackup.java similarity index 98% rename from org.argeo.server.core/src/org/argeo/server/backup/MySqlBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/MySqlBackup.java index 4eb662cbc..765c56495 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/MySqlBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/MySqlBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileObject; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/OpenLdapBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/OpenLdapBackup.java similarity index 97% rename from org.argeo.server.core/src/org/argeo/server/backup/OpenLdapBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/OpenLdapBackup.java index bfebe263e..278e36276 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/OpenLdapBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/OpenLdapBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileObject; import org.argeo.ArgeoException; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/OsCallBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/OsCallBackup.java similarity index 98% rename from org.argeo.server.core/src/org/argeo/server/backup/OsCallBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/OsCallBackup.java index 788ba52db..e588a0b2e 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/OsCallBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/OsCallBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.io.ByteArrayOutputStream; import java.util.HashMap; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/PostgreSqlBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/PostgreSqlBackup.java similarity index 98% rename from org.argeo.server.core/src/org/argeo/server/backup/PostgreSqlBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/PostgreSqlBackup.java index 805954b09..dbc3624fb 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/PostgreSqlBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/PostgreSqlBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import org.apache.commons.vfs2.FileObject; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/SimpleBackupContext.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/SimpleBackupContext.java similarity index 97% rename from org.argeo.server.core/src/org/argeo/server/backup/SimpleBackupContext.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/SimpleBackupContext.java index 33e45e654..8e9e418f0 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/SimpleBackupContext.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/SimpleBackupContext.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.text.DateFormat; import java.text.SimpleDateFormat; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/SimpleBackupPurge.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/SimpleBackupPurge.java similarity index 98% rename from org.argeo.server.core/src/org/argeo/server/backup/SimpleBackupPurge.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/SimpleBackupPurge.java index ad269f77b..64d749bee 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/SimpleBackupPurge.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/SimpleBackupPurge.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.text.DateFormat; import java.util.Date; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/SvnBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/SvnBackup.java similarity index 97% rename from org.argeo.server.core/src/org/argeo/server/backup/SvnBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/SvnBackup.java index d157ecf45..7367c04c6 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/SvnBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/SvnBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.io.File; diff --git a/org.argeo.server.core/src/org/argeo/server/backup/SystemBackup.java b/org.argeo.cms/src/org/argeo/cms/internal/backup/SystemBackup.java similarity index 77% rename from org.argeo.server.core/src/org/argeo/server/backup/SystemBackup.java rename to org.argeo.cms/src/org/argeo/cms/internal/backup/SystemBackup.java index b7ce02996..5036cc481 100644 --- a/org.argeo.server.core/src/org/argeo/server/backup/SystemBackup.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/backup/SystemBackup.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.server.backup; +package org.argeo.cms.internal.backup; import java.util.ArrayList; import java.util.HashMap; @@ -28,9 +28,7 @@ import org.apache.commons.vfs2.FileSystemManager; import org.apache.commons.vfs2.FileSystemOptions; import org.apache.commons.vfs2.Selectors; import org.apache.commons.vfs2.UserAuthenticator; -import org.apache.commons.vfs2.auth.StaticUserAuthenticator; import org.apache.commons.vfs2.impl.DefaultFileSystemConfigBuilder; -import org.apache.commons.vfs2.impl.StandardFileSystemManager; import org.argeo.ArgeoException; /** @@ -181,53 +179,53 @@ public class SystemBackup implements Runnable { this.remoteBases = remoteBases; } - public static void main(String args[]) { - while (true) { - try { - StandardFileSystemManager fsm = new StandardFileSystemManager(); - fsm.init(); - - SystemBackup systemBackup = new SystemBackup(); - systemBackup.setSystemName("mySystem"); - systemBackup - .setBackupsBase("/home/mbaudier/dev/src/commons/server/runtime/org.argeo.server.core/target"); - systemBackup.setFileSystemManager(fsm); - - List atomicBackups = new ArrayList(); - - MySqlBackup mySqlBackup = new MySqlBackup("root", "", "test"); - atomicBackups.add(mySqlBackup); - PostgreSqlBackup postgreSqlBackup = new PostgreSqlBackup( - "argeo", "argeo", "gis_template"); - atomicBackups.add(postgreSqlBackup); - SvnBackup svnBackup = new SvnBackup( - "/home/mbaudier/tmp/testsvnrepo"); - atomicBackups.add(svnBackup); - - systemBackup.setAtomicBackups(atomicBackups); - - Map remoteBases = new HashMap(); - StaticUserAuthenticator userAuthenticator = new StaticUserAuthenticator( - null, "demo", "demo"); - remoteBases.put("sftp://localhost/home/mbaudier/test", - userAuthenticator); - systemBackup.setRemoteBases(remoteBases); - - systemBackup.run(); - - fsm.close(); - } catch (FileSystemException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - System.exit(1); - } - - // wait - try { - Thread.sleep(120 * 1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } +// public static void main(String args[]) { +// while (true) { +// try { +// StandardFileSystemManager fsm = new StandardFileSystemManager(); +// fsm.init(); +// +// SystemBackup systemBackup = new SystemBackup(); +// systemBackup.setSystemName("mySystem"); +// systemBackup +// .setBackupsBase("/home/mbaudier/dev/src/commons/server/runtime/org.argeo.server.core/target"); +// systemBackup.setFileSystemManager(fsm); +// +// List atomicBackups = new ArrayList(); +// +// MySqlBackup mySqlBackup = new MySqlBackup("root", "", "test"); +// atomicBackups.add(mySqlBackup); +// PostgreSqlBackup postgreSqlBackup = new PostgreSqlBackup( +// "argeo", "argeo", "gis_template"); +// atomicBackups.add(postgreSqlBackup); +// SvnBackup svnBackup = new SvnBackup( +// "/home/mbaudier/tmp/testsvnrepo"); +// atomicBackups.add(svnBackup); +// +// systemBackup.setAtomicBackups(atomicBackups); +// +// Map remoteBases = new HashMap(); +// StaticUserAuthenticator userAuthenticator = new StaticUserAuthenticator( +// null, "demo", "demo"); +// remoteBases.put("sftp://localhost/home/mbaudier/test", +// userAuthenticator); +// systemBackup.setRemoteBases(remoteBases); +// +// systemBackup.run(); +// +// fsm.close(); +// } catch (FileSystemException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// System.exit(1); +// } +// +// // wait +// try { +// Thread.sleep(120 * 1000); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } +// } +// } } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java index c0383f543..db66de2ea 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java @@ -15,8 +15,6 @@ import org.apache.commons.codec.binary.Base64; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; -import org.argeo.cms.internal.kernel.NodeHttp.AnonymousFilter; -import org.argeo.cms.internal.kernel.NodeHttp.DavFilter; import org.argeo.jackrabbit.servlet.OpenInViewSessionProvider; import org.argeo.jackrabbit.servlet.RemotingServlet; import org.argeo.jackrabbit.servlet.WebdavServlet; @@ -52,7 +50,7 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants { private String httpAuthRealm = "Argeo"; // Filters - private final RootFilter rootFilter; + // private final RootFilter rootFilter; // remoting private OpenInViewSessionProvider sessionProvider; @@ -81,7 +79,7 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants { + ExtendedHttpService.class + " service."); // Filters - rootFilter = new RootFilter(); + // rootFilter = new RootFilter(); // DAV sessionProvider = new OpenInViewSessionProvider(); diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeSecurity.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeSecurity.java index b5d2eb412..be94cd5df 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeSecurity.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeSecurity.java @@ -30,12 +30,15 @@ class NodeSecurity implements AuthenticationManager { private final InternalAuthenticationProvider internalAuth; private final AnonymousAuthenticationProvider anonymousAuth; - private final JackrabbitUserAdminService jackrabbitUserAdmin; + private final JackrabbitUserAdminService userAdminService; + // private final JcrUserAdmin userAdmin; private ServiceRegistration authenticationManagerReg; - private ServiceRegistration userAdminReg; + private ServiceRegistration userAdminServiceReg; private ServiceRegistration userDetailsManagerReg; + // private ServiceRegistration userAdminReg; + public NodeSecurity(BundleContext bundleContext, JackrabbitNode node) throws RepositoryException { URL url = getClass().getClassLoader().getResource( @@ -51,33 +54,36 @@ class NodeSecurity implements AuthenticationManager { KernelConstants.DEFAULT_SECURITY_KEY); // user admin - jackrabbitUserAdmin = new JackrabbitUserAdminService(); - jackrabbitUserAdmin.setRepository(node); - jackrabbitUserAdmin.setSecurityModel(new SimpleJcrSecurityModel()); - jackrabbitUserAdmin.init(); + userAdminService = new JackrabbitUserAdminService(); + userAdminService.setRepository(node); + userAdminService.setSecurityModel(new SimpleJcrSecurityModel()); + userAdminService.init(); + + // userAdmin = new JcrUserAdmin(bundleContext); + // userAdmin.setUserAdminService(userAdminService); } public void publish() { authenticationManagerReg = bundleContext.registerService( AuthenticationManager.class, this, null); - userAdminReg = bundleContext.registerService(UserAdminService.class, - jackrabbitUserAdmin, null); + userAdminServiceReg = bundleContext.registerService( + UserAdminService.class, userAdminService, null); userDetailsManagerReg = bundleContext.registerService( - UserDetailsManager.class, jackrabbitUserAdmin, null); - // userAdminReg = - // bundleContext.registerService(UserDetailsService.class, - // jackrabbitUserAdmin, null); + UserDetailsManager.class, userAdminService, null); + // userAdminReg = bundleContext.registerService(UserAdmin.class, + // userAdmin, null); } void destroy() { try { - jackrabbitUserAdmin.destroy(); + userAdminService.destroy(); } catch (RepositoryException e) { log.error("Error while destroying Jackrabbit useradmin"); } userDetailsManagerReg.unregister(); - userAdminReg.unregister(); + userAdminServiceReg.unregister(); authenticationManagerReg.unregister(); + // userAdminReg.unregister(); } @Override @@ -89,7 +95,7 @@ class NodeSecurity implements AuthenticationManager { else if (authentication instanceof AnonymousAuthenticationToken) auth = anonymousAuth.authenticate(authentication); else if (authentication instanceof UsernamePasswordAuthenticationToken) - auth = jackrabbitUserAdmin.authenticate(authentication); + auth = userAdminService.authenticate(authentication); if (auth == null) throw new CmsException("Could not authenticate " + authentication); return auth; diff --git a/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java b/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java index e779a7993..331275c44 100644 --- a/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java +++ b/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java @@ -10,7 +10,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsEditable; import org.argeo.cms.CmsException; -import org.argeo.cms.widgets.JcrComposite; import org.argeo.cms.widgets.ScrolledPage; import org.eclipse.jface.viewers.ContentViewer; import org.eclipse.jface.viewers.ISelection; diff --git a/org.argeo.eclipse.ui.rap/pom.xml b/org.argeo.eclipse.ui.rap/pom.xml index 167f2d3e3..d164dbc96 100644 --- a/org.argeo.eclipse.ui.rap/pom.xml +++ b/org.argeo.eclipse.ui.rap/pom.xml @@ -9,33 +9,16 @@ org.argeo.eclipse.ui.rap Commons Eclipse UI RAP - Provide rap specific classes and behaviour in order to provide single sourcing abilities - jar - org.argeo.commons org.argeo.eclipse.ui 2.1.14-SNAPSHOT - - - - - org.argeo.commons org.argeo.util 2.1.14-SNAPSHOT - - - - \ No newline at end of file diff --git a/org.argeo.eclipse.ui.workbench.rap/pom.xml b/org.argeo.eclipse.ui.workbench.rap/pom.xml index a1f59ea9e..3977949dc 100644 --- a/org.argeo.eclipse.ui.workbench.rap/pom.xml +++ b/org.argeo.eclipse.ui.workbench.rap/pom.xml @@ -7,5 +7,5 @@ .. org.argeo.eclipse.ui.workbench.rap - Commons Eclipse UI Workbench RAP + Commons Eclipse Workbench RAP diff --git a/org.argeo.eclipse.ui.workbench/pom.xml b/org.argeo.eclipse.ui.workbench/pom.xml index 360054f33..bde063db0 100644 --- a/org.argeo.eclipse.ui.workbench/pom.xml +++ b/org.argeo.eclipse.ui.workbench/pom.xml @@ -7,44 +7,23 @@ .. org.argeo.eclipse.ui.workbench - Commons Eclipse UI Workbench + Commons Eclipse Workbench - org.argeo.commons - org.argeo.eclipse.ui + org.argeo.util 2.1.14-SNAPSHOT - - - - - - org.argeo.commons - org.argeo.eclipse.ui.rap + org.argeo.eclipse.ui 2.1.14-SNAPSHOT - provided - - - - org.argeo.commons - org.argeo.util + org.argeo.eclipse.ui.rap 2.1.14-SNAPSHOT + provided - + \ No newline at end of file diff --git a/org.argeo.eclipse.ui/bnd.bnd b/org.argeo.eclipse.ui/bnd.bnd index 32bfbc1ad..bf8d37a8f 100644 --- a/org.argeo.eclipse.ui/bnd.bnd +++ b/org.argeo.eclipse.ui/bnd.bnd @@ -1,4 +1,3 @@ -Require-Bundle: org.eclipse.core.runtime Import-Package: org.eclipse.core.commands,\ org.eclipse.jface.window,\ org.eclipse.swt,\ @@ -11,12 +10,3 @@ Import-Package: org.eclipse.core.commands,\ javax.jcr.nodetype,\ org.springframework.security.core,\ * - -# Was: -#Bundle-ActivationPolicy: lazy -#Bundle-SymbolicName: org.argeo.eclipse.ui;singleton:=true -#Bundle-Activator: org.argeo.eclipse.ui.ArgeoUiPlugin - -#!org.eclipse.core.commands,\ -# !org.eclipse.core.runtime,\ -# !org.eclipse.ui.plugin,\ diff --git a/org.argeo.eclipse.ui/pom.xml b/org.argeo.eclipse.ui/pom.xml index d352a32ec..7a6d53505 100644 --- a/org.argeo.eclipse.ui/pom.xml +++ b/org.argeo.eclipse.ui/pom.xml @@ -9,16 +9,7 @@ org.argeo.eclipse.ui Commons Eclipse UI - jar - - - - org.argeo.commons org.argeo.util @@ -34,24 +25,5 @@ org.argeo.security.core 2.1.14-SNAPSHOT - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.security.core/bnd.bnd b/org.argeo.security.core/bnd.bnd index ef3d1aa2e..fa20c3d9e 100644 --- a/org.argeo.security.core/bnd.bnd +++ b/org.argeo.security.core/bnd.bnd @@ -3,4 +3,6 @@ Import-Package:org.bouncycastle.*;resolution:=optional,\ org.springframework.util,\ javax.jcr.security,\ org.apache.jackrabbit.*;resolution:=optional,\ +org.springframework.ldap.*;resolution:=optional,\ +org.springframework.security.ldap.*;resolution:=optional,\ * diff --git a/org.argeo.security.core/pom.xml b/org.argeo.security.core/pom.xml index b677bb860..426fc9ff1 100644 --- a/org.argeo.security.core/pom.xml +++ b/org.argeo.security.core/pom.xml @@ -8,7 +8,7 @@ .. org.argeo.security.core - Commons Security Core + Commons Security org.argeo.commons @@ -20,96 +20,5 @@ org.argeo.server.jcr 2.1.14-SNAPSHOT - - org.argeo.commons - org.argeo.server.jackrabbit - 2.1.14-SNAPSHOT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.security.core/src/org/argeo/security/core/AuthorizationPrincipal.java b/org.argeo.security.core/src/org/argeo/security/core/AuthorizationPrincipal.java new file mode 100644 index 000000000..ac3b23369 --- /dev/null +++ b/org.argeo.security.core/src/org/argeo/security/core/AuthorizationPrincipal.java @@ -0,0 +1,24 @@ +package org.argeo.security.core; + +import java.security.Principal; + +import org.osgi.service.useradmin.Authorization; + +/** Wraps an OSGi {@link Authorization} as a JAAS {@link Principal} */ +public final class AuthorizationPrincipal implements Principal { + private Authorization authorization; + + public AuthorizationPrincipal(Authorization authorization) { + this.authorization = authorization; + } + + @Override + public String getName() { + return authorization.getName(); + } + + public Authorization getAuthorization() { + return authorization; + } + +} diff --git a/org.argeo.security.core/src/org/argeo/security/core/UserAdminLoginModule.java b/org.argeo.security.core/src/org/argeo/security/core/UserAdminLoginModule.java new file mode 100644 index 000000000..16bc623d6 --- /dev/null +++ b/org.argeo.security.core/src/org/argeo/security/core/UserAdminLoginModule.java @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2007-2012 Argeo GmbH + * + * Licensed 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. + */ +package org.argeo.security.core; + +import java.util.Locale; +import java.util.Map; + +import javax.security.auth.Subject; +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.login.LoginException; +import javax.security.auth.spi.LoginModule; + +import org.argeo.jcr.ArgeoNames; +import org.argeo.util.LocaleCallback; +import org.argeo.util.LocaleUtils; +import org.osgi.framework.BundleContext; +import org.osgi.service.useradmin.Authorization; +import org.osgi.service.useradmin.User; +import org.osgi.service.useradmin.UserAdmin; +import org.springframework.security.authentication.encoding.LdapShaPasswordEncoder; + +/** Login module which caches one subject per thread. */ +public class UserAdminLoginModule implements LoginModule { + // private final static Log log = LogFactory + // .getLog(UserAdminLoginModule.class); + + private CallbackHandler callbackHandler; + + private Subject subject; + + private Long waitBetweenFailedLoginAttempts = 5 * 1000l; + + /** Comma separated list of locales */ + private String availableLocales = ""; + + private AuthorizationPrincipal auth = null; + private Locale selectedLocale = null; + + private LdapShaPasswordEncoder shaPasswordEncoder = new LdapShaPasswordEncoder(); + + public UserAdminLoginModule() { + + } + + @SuppressWarnings("rawtypes") + public void initialize(Subject subject, CallbackHandler callbackHandler, + Map sharedState, Map options) { + this.callbackHandler = callbackHandler; + this.subject = subject; + } + + public boolean login() throws LoginException { + try { + // TODO thread already logged in + // AuthorizationPrincipal principal = subject + // .getPrincipals(AuthorizationPrincipal.class).iterator(); + + if (callbackHandler == null) + throw new LoginException("No call back handler available"); + + // ask for username and password + NameCallback nameCallback = new NameCallback("User"); + PasswordCallback passwordCallback = new PasswordCallback( + "Password", false); + LocaleCallback localeCallback = new LocaleCallback(availableLocales); + BundleContextCallback bundleContextCallback = new BundleContextCallback(); + + callbackHandler.handle(new Callback[] { nameCallback, + passwordCallback, localeCallback, bundleContextCallback }); + + selectedLocale = localeCallback.getSelectedLocale(); + + // create credentials + final String username = nameCallback.getName(); + if (username == null || username.trim().equals("")) + return false; + + char[] password = {}; + if (passwordCallback.getPassword() != null) + password = passwordCallback.getPassword(); + + BundleContext bc = bundleContextCallback.getBundleContext(); + UserAdmin userAdmin = bc.getService(bc + .getServiceReference(UserAdmin.class)); + + User user = (User) userAdmin.getRole(username); + // TODO use hash + boolean authenticated = user.hasCredential( + ArgeoNames.ARGEO_PASSWORD, new String(password)); + + if (!authenticated) { + // wait between failed login attempts + Thread.sleep(waitBetweenFailedLoginAttempts); + return false; + } + + Authorization authorization = userAdmin.getAuthorization(user); + auth = new AuthorizationPrincipal(authorization); + return true; + } catch (LoginException e) { + throw e; + } catch (ThreadDeath e) { + LoginException le = new LoginException( + "Spring Security login thread died"); + le.initCause(e); + throw le; + } catch (Exception e) { + LoginException le = new LoginException( + "Spring Security login failed"); + le.initCause(e); + throw le; + } + } + + @Override + public boolean logout() throws LoginException { + subject.getPrincipals(AuthorizationPrincipal.class).remove(auth); + return true; + } + + @Override + public boolean commit() throws LoginException { + subject.getPrincipals().add(auth); + if (selectedLocale != null) + LocaleUtils.threadLocale.set(selectedLocale); + return true; + } + + @Override + public boolean abort() throws LoginException { + auth = null; + selectedLocale = null; + return true; + } + + public void setAvailableLocales(String locales) { + this.availableLocales = locales; + } +} \ No newline at end of file diff --git a/org.argeo.security.ldap/src/org/argeo/security/ldap/ArgeoLdapShaPasswordEncoder.java b/org.argeo.security.core/src/org/argeo/security/ldap/ArgeoLdapShaPasswordEncoder.java similarity index 100% rename from org.argeo.security.ldap/src/org/argeo/security/ldap/ArgeoLdapShaPasswordEncoder.java rename to org.argeo.security.core/src/org/argeo/security/ldap/ArgeoLdapShaPasswordEncoder.java diff --git a/org.argeo.security.ldap/src/org/argeo/security/ldap/ArgeoLdapUserDetailsManager.java b/org.argeo.security.core/src/org/argeo/security/ldap/ArgeoLdapUserDetailsManager.java similarity index 100% rename from org.argeo.security.ldap/src/org/argeo/security/ldap/ArgeoLdapUserDetailsManager.java rename to org.argeo.security.core/src/org/argeo/security/ldap/ArgeoLdapUserDetailsManager.java diff --git a/org.argeo.security.ldap/src/org/argeo/security/ldap/ArgeoUserAdminDaoLdap.java b/org.argeo.security.core/src/org/argeo/security/ldap/ArgeoUserAdminDaoLdap.java similarity index 100% rename from org.argeo.security.ldap/src/org/argeo/security/ldap/ArgeoUserAdminDaoLdap.java rename to org.argeo.security.core/src/org/argeo/security/ldap/ArgeoUserAdminDaoLdap.java diff --git a/org.argeo.security.ldap/src/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java b/org.argeo.security.core/src/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java similarity index 100% rename from org.argeo.security.ldap/src/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java rename to org.argeo.security.core/src/org/argeo/security/ldap/jcr/JcrLdapSynchronizer.java diff --git a/org.argeo.security.ldap/src/org/argeo/security/ldap/jcr/JcrUserDetailsContextMapper.java b/org.argeo.security.core/src/org/argeo/security/ldap/jcr/JcrUserDetailsContextMapper.java similarity index 100% rename from org.argeo.security.ldap/src/org/argeo/security/ldap/jcr/JcrUserDetailsContextMapper.java rename to org.argeo.security.core/src/org/argeo/security/ldap/jcr/JcrUserDetailsContextMapper.java diff --git a/org.argeo.security.jackrabbit/pom.xml b/org.argeo.security.jackrabbit/pom.xml index bb8138ff2..282c3f954 100644 --- a/org.argeo.security.jackrabbit/pom.xml +++ b/org.argeo.security.jackrabbit/pom.xml @@ -8,24 +8,12 @@ .. org.argeo.security.jackrabbit - Commons Security Jackrabbit + Commons Jackrabbit Extensions org.argeo.commons org.argeo.security.core 2.1.14-SNAPSHOT - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.security.ldap/.classpath b/org.argeo.security.ldap/.classpath deleted file mode 100644 index d2953a684..000000000 --- a/org.argeo.security.ldap/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/org.argeo.security.ldap/.project b/org.argeo.security.ldap/.project deleted file mode 100644 index 942f1404d..000000000 --- a/org.argeo.security.ldap/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.argeo.security.ldap - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/org.argeo.security.ldap/bnd.bnd b/org.argeo.security.ldap/bnd.bnd deleted file mode 100644 index 12f35fa05..000000000 --- a/org.argeo.security.ldap/bnd.bnd +++ /dev/null @@ -1,4 +0,0 @@ -Import-Package: org.springframework.core,\ -org.springframework.dao,\ -javax.jcr.nodetype,\ -* \ No newline at end of file diff --git a/org.argeo.security.ldap/build.properties b/org.argeo.security.ldap/build.properties deleted file mode 100644 index 30f715358..000000000 --- a/org.argeo.security.ldap/build.properties +++ /dev/null @@ -1 +0,0 @@ -source.. = src/ diff --git a/org.argeo.security.ldap/pom.xml b/org.argeo.security.ldap/pom.xml deleted file mode 100644 index 295f743d5..000000000 --- a/org.argeo.security.ldap/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - 4.0.0 - - org.argeo.commons - argeo-commons - 2.1.14-SNAPSHOT - .. - - org.argeo.security.ldap - Commons Security LDAP - - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-jar-plugin - - - org.apache.felix - maven-bundle-plugin - - - - - org.argeo.security.ldap.* - - - org.springframework.core, - org.springframework.dao, - javax.jcr.nodetype, - * - - - - - - - - - org.argeo.commons - org.argeo.util - 2.1.14-SNAPSHOT - - - org.argeo.commons - org.argeo.security.core - 2.1.14-SNAPSHOT - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.security.ui.admin/pom.xml b/org.argeo.security.ui.admin/pom.xml index e11b5b4a3..cd153c903 100644 --- a/org.argeo.security.ui.admin/pom.xml +++ b/org.argeo.security.ui.admin/pom.xml @@ -8,59 +8,34 @@ .. org.argeo.security.ui.admin - Commons Security Admin UI + Commons CMS Workbench Admin jar - org.argeo.commons - org.argeo.security.ui + org.argeo.util 2.1.14-SNAPSHOT org.argeo.commons - org.argeo.security.core + org.argeo.security.ui 2.1.14-SNAPSHOT - - org.argeo.commons - org.argeo.eclipse.ui.rap + org.argeo.security.core 2.1.14-SNAPSHOT - provided - org.argeo.commons org.argeo.eclipse.ui 2.1.14-SNAPSHOT - - org.argeo.commons - org.argeo.util + org.argeo.eclipse.ui.rap 2.1.14-SNAPSHOT + provided - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.security.ui.rap/pom.xml b/org.argeo.security.ui.rap/pom.xml index 6aa33e871..208cd173e 100644 --- a/org.argeo.security.ui.rap/pom.xml +++ b/org.argeo.security.ui.rap/pom.xml @@ -8,37 +8,19 @@ .. org.argeo.security.ui.rap - Commons Security UI RAP + Commons CMS Workbench RAP jar - org.argeo.commons org.argeo.util 2.1.14-SNAPSHOT - - - - - - - - org.argeo.commons org.argeo.security.ui 2.1.14-SNAPSHOT - - - - - - - - org.argeo.commons org.argeo.eclipse.ui.rap diff --git a/org.argeo.security.ui/pom.xml b/org.argeo.security.ui/pom.xml index 5634891ab..14b240165 100644 --- a/org.argeo.security.ui/pom.xml +++ b/org.argeo.security.ui/pom.xml @@ -8,45 +8,23 @@ .. org.argeo.security.ui - Commons Security UI + Commons CMS Workbench jar - org.argeo.commons org.argeo.security.core 2.1.14-SNAPSHOT - - org.argeo.commons org.argeo.eclipse.ui.workbench 2.1.14-SNAPSHOT - - - - - org.argeo.commons org.argeo.util 2.1.14-SNAPSHOT - - - - - - - - \ No newline at end of file diff --git a/org.argeo.server.core/.classpath b/org.argeo.server.core/.classpath deleted file mode 100644 index d2953a684..000000000 --- a/org.argeo.server.core/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/org.argeo.server.core/.project b/org.argeo.server.core/.project deleted file mode 100644 index b28214ba7..000000000 --- a/org.argeo.server.core/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.argeo.server.core - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - - diff --git a/org.argeo.server.core/bnd.bnd b/org.argeo.server.core/bnd.bnd deleted file mode 100644 index 8a56d16ed..000000000 --- a/org.argeo.server.core/bnd.bnd +++ /dev/null @@ -1,3 +0,0 @@ -Import-Package: javax.servlet,\ -org.springframework.web.context,\ -* \ No newline at end of file diff --git a/org.argeo.server.core/build.properties b/org.argeo.server.core/build.properties deleted file mode 100644 index 63f6b336e..000000000 --- a/org.argeo.server.core/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -source.. = src/ -additional.bundles = org.apache.log4j,\ - com.jcraft.jsch - \ No newline at end of file diff --git a/org.argeo.server.core/pom.xml b/org.argeo.server.core/pom.xml deleted file mode 100644 index 9d81e2e97..000000000 --- a/org.argeo.server.core/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - 4.0.0 - - org.argeo.commons - argeo-commons - 2.1.14-SNAPSHOT - .. - - org.argeo.server.core - Commons Server Core - - - org.argeo.commons - org.argeo.util - 2.1.14-SNAPSHOT - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.server.core/src/org/argeo/server/BooleanAnswer.java b/org.argeo.server.core/src/org/argeo/server/BooleanAnswer.java deleted file mode 100644 index 2b7ffb2fc..000000000 --- a/org.argeo.server.core/src/org/argeo/server/BooleanAnswer.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - - -/** Answer to an execution of a remote service which performed changes. */ -public class BooleanAnswer { - private Boolean value = Boolean.TRUE; - - /** Canonical constructor */ - public BooleanAnswer(Boolean status) { - this.value = status; - } - - /** Empty constructor */ - public BooleanAnswer() { - } - - public Boolean getValue() { - return value; - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/Deserializer.java b/org.argeo.server.core/src/org/argeo/server/Deserializer.java deleted file mode 100644 index 4d7faf966..000000000 --- a/org.argeo.server.core/src/org/argeo/server/Deserializer.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - -import java.io.Reader; - -public interface Deserializer { - public T deserialize(Reader reader, Class clss); -} diff --git a/org.argeo.server.core/src/org/argeo/server/DeserializingEditor.java b/org.argeo.server.core/src/org/argeo/server/DeserializingEditor.java deleted file mode 100644 index 915b71cfe..000000000 --- a/org.argeo.server.core/src/org/argeo/server/DeserializingEditor.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - -import java.beans.PropertyEditorSupport; -import java.io.StringReader; - -import org.apache.commons.io.IOUtils; - -public class DeserializingEditor extends PropertyEditorSupport { - private final Deserializer deserializer; - private final Class targetClass; - - public DeserializingEditor(Deserializer deserializer, Class targetClass) { - super(); - this.deserializer = deserializer; - this.targetClass = targetClass; - } - - @Override - public void setAsText(String text) throws IllegalArgumentException { - StringReader reader = new StringReader(text); - try { - setValue(deserializer.deserialize(reader, targetClass)); - } finally { - IOUtils.closeQuietly(reader); - } - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/PrimitiveAnswer.java b/org.argeo.server.core/src/org/argeo/server/PrimitiveAnswer.java deleted file mode 100644 index c69ffedb8..000000000 --- a/org.argeo.server.core/src/org/argeo/server/PrimitiveAnswer.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - -/** - * Answer to a request to a remote service that sends back only one primitive - */ -public class PrimitiveAnswer { - - private Object primitive; - - /** Canonical constructor */ - public PrimitiveAnswer(Object primitive) { - this.primitive = primitive; - } - - public Object getValue() { - return primitive; - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/Serializer.java b/org.argeo.server.core/src/org/argeo/server/Serializer.java deleted file mode 100644 index 890b17cd4..000000000 --- a/org.argeo.server.core/src/org/argeo/server/Serializer.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - -import java.io.Writer; - -public interface Serializer { - /** Will be removed soon. Use {@link #serialize(Object, Writer)} instead. */ - @Deprecated - public void serialize(Writer writer, Object obj); - - public void serialize(Object obj, Writer writer); -} diff --git a/org.argeo.server.core/src/org/argeo/server/ServerAnswer.java b/org.argeo.server.core/src/org/argeo/server/ServerAnswer.java deleted file mode 100644 index 2f9cbee1d..000000000 --- a/org.argeo.server.core/src/org/argeo/server/ServerAnswer.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - -import java.io.PrintWriter; -import java.io.StringWriter; - -import org.apache.commons.io.IOUtils; -import org.argeo.ArgeoException; - -/** Answer to an execution of a remote service which performed changes. */ -public class ServerAnswer { - public final static String OK = "OK"; - public final static String ERROR = "ERROR"; - - private String status = OK; - private String message = ""; - - // TODO: add an exception field - - /** Canonical constructor */ - public ServerAnswer(String status, String message) { - setStatus(status); - if (message == null) - throw new ArgeoException("Message cannot be null"); - this.message = message; - } - - /** Empty constructor */ - public ServerAnswer() { - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - if (status == null || (!status.equals(OK) && !status.equals(ERROR))) - throw new ArgeoException("Bad status format: " + status); - this.status = status; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public Boolean isOk() { - return status.equals(OK); - } - - public Boolean isError() { - return status.equals(ERROR); - } - - public static ServerAnswer error(String message) { - return new ServerAnswer(ERROR, message); - } - - public static ServerAnswer error(Throwable e) { - StringWriter writer = new StringWriter(); - try { - e.printStackTrace(new PrintWriter(writer)); - return new ServerAnswer(ERROR, writer.toString()); - } finally { - IOUtils.closeQuietly(writer); - } - } - - public static ServerAnswer ok(String message) { - return new ServerAnswer(OK, message); - } - - @Override - public String toString() { - return "ServerAnswer{status:" + status + ", message:" + message + "}"; - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/ServerSerializer.java b/org.argeo.server.core/src/org/argeo/server/ServerSerializer.java deleted file mode 100644 index cdb163214..000000000 --- a/org.argeo.server.core/src/org/argeo/server/ServerSerializer.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public interface ServerSerializer { - public void serialize(Object obj, HttpServletRequest request, - HttpServletResponse response); -} diff --git a/org.argeo.server.core/src/org/argeo/server/dao/AbstractMemoryDaoSupport.java b/org.argeo.server.core/src/org/argeo/server/dao/AbstractMemoryDaoSupport.java deleted file mode 100644 index f9af51bcf..000000000 --- a/org.argeo.server.core/src/org/argeo/server/dao/AbstractMemoryDaoSupport.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.dao; - -import java.beans.PropertyEditor; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.ArgeoException; -import org.springframework.beans.BeanWrapper; -import org.springframework.beans.BeanWrapperImpl; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.core.io.Resource; - -public abstract class AbstractMemoryDaoSupport implements LightDaoSupport, - ApplicationContextAware, InitializingBean { - private final static Log log = LogFactory - .getLog(AbstractMemoryDaoSupport.class); - - private ClassLoader classLoader = getClass().getClassLoader(); - private ApplicationContext applicationContext; - private List> additionalClasses = new ArrayList>(); - - private Map, Map> model = new HashMap, Map>(); - - private Map externalRefs = new HashMap(); - - private List scannedPackages = new ArrayList(); - - private List resources = new ArrayList(); - - private Map, PropertyEditor> customEditors = new HashMap, PropertyEditor>();; - - protected abstract void load(InputStream in, List references); - - protected abstract Object findInternalRef(Reference reference); - - public void afterPropertiesSet() throws Exception { - init(); - } - - public void init() { - for (PropertyEditor propertyEditor : customEditors.values()) - if (propertyEditor instanceof LightDaoAware) { - ((LightDaoAware) propertyEditor).setLightDaoSupport(this); - } - - // Load data - List references = new ArrayList(); - - for (Resource res : resources) { - InputStream in = null; - try { - in = res.getInputStream(); - load(in, references); - } catch (Exception e) { - throw new ArgeoException("Cannot load stream", e); - } finally { - IOUtils.closeQuietly(in); - } - } - - // Inject references - for (Reference ref : references) { - injectReference(ref); - } - if (log.isDebugEnabled()) - log.debug(references.size() + " references linked"); - } - - public List> getSupportedClasses() { - List> res = new ArrayList>(); - res.addAll(additionalClasses); - res.addAll(model.keySet()); - return res; - } - - protected void injectReference(Reference reference) { - BeanWrapper bw = new BeanWrapperImpl(reference.object); - Object targetObject; - if (reference.getExternalRef() != null) { - String ref = reference.getExternalRef(); - if (externalRefs.containsKey(ref)) - targetObject = externalRefs.get(ref); - else if (applicationContext != null) - targetObject = applicationContext.getBean(ref); - else { - targetObject = null; - log.warn("Ref " + ref + " not found"); - } - } else { - targetObject = findInternalRef(reference); - } - bw.setPropertyValue(reference.property, targetObject); - - } - - protected BeanWrapper newBeanWrapper(Class targetClass) { - BeanWrapperImpl bw = new BeanWrapperImpl(targetClass); - for (Class clss : customEditors.keySet()) - bw.registerCustomEditor(clss, customEditors.get(clss)); - return bw; - } - - @SuppressWarnings("unchecked") - public T getByKey(Class clss, Object key) { - if (key == null) - throw new ArgeoException("Key is null for " + clss); - return (T) model.get(findClass(clss)).get(key); - } - - /** - * Slow. - * - * @return the first found - */ - public T getByField(Class clss, String field, Object value) { - List all = list(clss, null); - T res = null; - for (T obj : all) { - if (new BeanWrapperImpl(obj).getPropertyValue(field).equals(value)) { - res = obj; - break; - } - } - return res; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - public List list(Class clss, Object filter) { - List res = new ArrayList(); - - Class classToUse = findClass(clss); - if (classToUse != null) - res.addAll((Collection) model.get(classToUse).values()); - - if (applicationContext != null) - res.addAll(applicationContext.getBeansOfType(clss).values()); - - return res; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - protected Class findClass(Class parent) { - if (model.containsKey(parent)) - return parent; - - for (Class clss : model.keySet()) { - if (parent.isAssignableFrom(clss)) - return clss;// return the first found - } - if (log.isDebugEnabled()) - log.warn("No class found for " + parent.getName()); - return null; - } - - public void setApplicationContext(ApplicationContext applicationContext) - throws BeansException { - this.applicationContext = applicationContext; - } - - /** - * When it should be stored under a different class (e.g. super class or - * interface) - */ - public void saveOrUpdate(Object key, Object value, Class clss) { - if (!model.containsKey(clss)) - model.put(clss, new TreeMap()); - model.get(clss).put(key, value); - } - - protected ClassLoader getClassLoader() { - return classLoader; - } - - public void setExternalRefs(Map externalRefs) { - this.externalRefs = externalRefs; - } - - public Map getExternalRefs() { - return externalRefs; - } - - public void setScannedPackages(List scannedPackages) { - this.scannedPackages = scannedPackages; - } - - public List getScannedPackages() { - return scannedPackages; - } - - public void setResources(List workbooks) { - this.resources = workbooks; - } - - public List getResources() { - return resources; - } - - public void setClassLoader(ClassLoader classLoader) { - this.classLoader = classLoader; - } - - public List> getAdditionalClasses() { - return additionalClasses; - } - - public void setAdditionalClasses(List> additionalClasses) { - this.additionalClasses = additionalClasses; - } - - public void setCustomEditors(Map, PropertyEditor> propertyEditors) { - this.customEditors = propertyEditors; - } - - protected static class Reference { - private Object object; - private String property; - private String externalRef; - - public Reference(Object object, String property, String externalRef) { - this.object = object; - this.property = property; - this.externalRef = externalRef; - } - - public Object getObject() { - return object; - } - - public String getProperty() { - return property; - } - - public String getExternalRef() { - return externalRef; - } - - } -} diff --git a/org.argeo.server.core/src/org/argeo/server/dao/AbstractTabularDaoSupport.java b/org.argeo.server.core/src/org/argeo/server/dao/AbstractTabularDaoSupport.java deleted file mode 100644 index 1ca5a100c..000000000 --- a/org.argeo.server.core/src/org/argeo/server/dao/AbstractTabularDaoSupport.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.dao; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.ArgeoException; - -public abstract class AbstractTabularDaoSupport extends - AbstractMemoryDaoSupport { - private final static Log log = LogFactory - .getLog(AbstractTabularDaoSupport.class); - - private Map> tabularView = new HashMap>(); - - @Override - protected Object findInternalRef(Reference reference) { - TabularInternalReference tabReference = (TabularInternalReference) reference; - return getFromTabularView(tabReference.getTargetTableName(), - tabReference.getTargetRow()); - } - - protected Object getFromTabularView(String tableName, Integer row) { - return tabularView.get(tableName).get(row - 2); - } - - protected void registerInTabularView(String tableName, Object object) { - if (!tabularView.containsKey(tableName)) - tabularView.put(tableName, new ArrayList()); - tabularView.get(tableName).add(object); - } - - protected Class findClassToInstantiate(String tableName) { - // TODO: ability to map sheet names and class names - String className = tableName; - Class clss = null; - try { - clss = getClassLoader().loadClass(className); - return clss; - } catch (ClassNotFoundException e) { - // silent - } - - scannedPkgs: for (String pkg : getScannedPackages()) { - try { - clss = getClassLoader().loadClass(pkg.trim() + "." + className); - break scannedPkgs; - } catch (ClassNotFoundException e) { - // silent - if (log.isTraceEnabled()) - log.trace(e.getMessage()); - } - } - - if (clss == null) - throw new ArgeoException("Cannot find a class for table " - + tableName); - - return clss; - } - - protected static class TabularInternalReference extends Reference { - private String targetTableName; - private Integer targetRow; - - public TabularInternalReference(Object object, String property, - String targetSheet, Integer targetRow) { - super(object, property, null); - this.targetTableName = targetSheet; - this.targetRow = targetRow; - } - - public String getTargetTableName() { - return targetTableName; - } - - public Integer getTargetRow() { - return targetRow; - } - - } -} diff --git a/org.argeo.server.core/src/org/argeo/server/dao/LightDaoAware.java b/org.argeo.server.core/src/org/argeo/server/dao/LightDaoAware.java deleted file mode 100644 index 5ae7bea1e..000000000 --- a/org.argeo.server.core/src/org/argeo/server/dao/LightDaoAware.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.dao; - -public interface LightDaoAware { - public void setLightDaoSupport(LightDaoSupport lightDaoSupport); -} diff --git a/org.argeo.server.core/src/org/argeo/server/dao/LightDaoPropertyEditor.java b/org.argeo.server.core/src/org/argeo/server/dao/LightDaoPropertyEditor.java deleted file mode 100644 index de6ba7084..000000000 --- a/org.argeo.server.core/src/org/argeo/server/dao/LightDaoPropertyEditor.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.dao; - -import java.beans.PropertyEditorSupport; - -import org.argeo.ArgeoException; - -public class LightDaoPropertyEditor extends PropertyEditorSupport implements - LightDaoAware { - private LightDaoSupport lightDaoSupport; - - private Class targetClass; - /** Can be null */ - private String businessIdField; - - @Override - public String getAsText() { - return getValue().toString(); - } - - @Override - public void setAsText(String text) throws IllegalArgumentException { - if (targetClass == null) - throw new ArgeoException("Target class cannot be null"); - - if (businessIdField != null) - setValue(lightDaoSupport.getByField(targetClass, businessIdField, - text)); - else - setValue(lightDaoSupport.getByKey(targetClass, text)); - } - - public void setLightDaoSupport(LightDaoSupport lightDaoSupport) { - this.lightDaoSupport = lightDaoSupport; - } - - public void setTargetClass(Class targetClass) { - this.targetClass = targetClass; - } - - public void setBusinessIdField(String businessIdField) { - this.businessIdField = businessIdField; - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/dao/LightDaoSupport.java b/org.argeo.server.core/src/org/argeo/server/dao/LightDaoSupport.java deleted file mode 100644 index 6ea1b754d..000000000 --- a/org.argeo.server.core/src/org/argeo/server/dao/LightDaoSupport.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.dao; - -import java.util.List; - -/** Minimal generic DAO for easy to implements objects <-> storage mapping. */ -public interface LightDaoSupport { - /** Retrieve an object of a given type by its unique key. */ - public T getByKey(Class clss, Object key); - - /** Retrieve an object of a given type by the value of one of its fields. */ - public T getByField(Class clss, String field, Object value); - - /** List all objects, optionally filtering them (implementation dependent) */ - public List list(Class clss, Object filter); - - /** Lis all supported object types. */ - public List> getSupportedClasses(); - - /** Save or update an object */ - public void saveOrUpdate(Object key, Object value, Class clss); -} diff --git a/org.argeo.server.core/src/org/argeo/server/mvc/DefaultHandlerExceptionResolver.java b/org.argeo.server.core/src/org/argeo/server/mvc/DefaultHandlerExceptionResolver.java deleted file mode 100644 index 6269bd007..000000000 --- a/org.argeo.server.core/src/org/argeo/server/mvc/DefaultHandlerExceptionResolver.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.mvc; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.server.ServerAnswer; -import org.springframework.web.servlet.HandlerExceptionResolver; -import org.springframework.web.servlet.ModelAndView; - -public class DefaultHandlerExceptionResolver implements - HandlerExceptionResolver { - private final static Log log = LogFactory - .getLog(DefaultHandlerExceptionResolver.class); - - public ModelAndView resolveException(HttpServletRequest request, - HttpServletResponse response, Object handler, Exception ex) { - ModelAndView mv = new ModelAndView(); - ServerAnswer serverAnswer = ServerAnswer.error(ex); - mv.addObject(serverAnswer); - - if (log.isDebugEnabled()) - log.error(serverAnswer); - - mv.setViewName("500"); - // response.setStatus(500); - return mv; - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/mvc/EmptyViewController.java b/org.argeo.server.core/src/org/argeo/server/mvc/EmptyViewController.java deleted file mode 100644 index c83d4aeba..000000000 --- a/org.argeo.server.core/src/org/argeo/server/mvc/EmptyViewController.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.mvc; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.ParameterizableViewController; - -/** Dummy controller which simply redirects to a view (typically a JSP)*/ -public class EmptyViewController extends ParameterizableViewController { - - protected ModelAndView handleRequestInternal(HttpServletRequest request, - HttpServletResponse response) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName(getViewName()); - return modelAndView; - - } -} diff --git a/org.argeo.server.core/src/org/argeo/server/mvc/MvcConstants.java b/org.argeo.server.core/src/org/argeo/server/mvc/MvcConstants.java deleted file mode 100644 index d5c32dc89..000000000 --- a/org.argeo.server.core/src/org/argeo/server/mvc/MvcConstants.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.mvc; - -public interface MvcConstants { - public final static String ANSWER_MODEL_KEY = "org.argeo.server.mvc.ANSWER"; - public final static String ANSWER_MODEL_KEY_AS_HTML = "org.argeo.server.mvc.ANSWER_AS_HTML"; -} diff --git a/org.argeo.server.core/src/org/argeo/server/mvc/SerializingView.java b/org.argeo.server.core/src/org/argeo/server/mvc/SerializingView.java deleted file mode 100644 index b42a9a0d2..000000000 --- a/org.argeo.server.core/src/org/argeo/server/mvc/SerializingView.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.mvc; - -import java.util.Locale; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.argeo.ArgeoException; -import org.argeo.server.ServerAnswer; -import org.argeo.server.ServerSerializer; -import org.springframework.validation.BindingResult; -import org.springframework.web.servlet.View; -import org.springframework.web.servlet.view.AbstractView; - -/** - * Can be used as a standalone {@link View} or using - * {@link SerializingViewResolver} - */ -public class SerializingView extends AbstractView implements MvcConstants { - private final String viewName; - private final Locale locale; - - private ServerSerializer serializer; - - public SerializingView() { - this.viewName = null; - this.locale = Locale.getDefault(); - } - - public SerializingView(String viewName, Locale locale, - ServerSerializer serializer) { - this.viewName = viewName; - this.locale = locale; - this.serializer = serializer; - } - - @SuppressWarnings({ "rawtypes" }) - @Override - protected void renderMergedOutputModel(Map model, - HttpServletRequest request, HttpServletResponse response) - throws Exception { - Boolean serverAnswersAsHtml = model - .containsKey(ANSWER_MODEL_KEY_AS_HTML); - - final Object answer = findAnswerInModel(model); - - if ((answer instanceof ServerAnswer) && serverAnswersAsHtml) { - response.setContentType("text/html"); - ServerAnswer serverAnswer = (ServerAnswer) answer; - response.getWriter().append("
");
-			response.getWriter().append(serverAnswer.getMessage());
-			response.getWriter().append("
"); - } else { - serializer.serialize(answer, request, response); - } - } - - @SuppressWarnings("rawtypes") - protected Object findAnswerInModel(Map model) { - if (model.size() == 1) { - return model.values().iterator().next(); - } else if (model.size() == 2) { - boolean otherIsBindingResult = false; - Object answerValue = null; - for (Object value : model.values()) { - if (value instanceof BindingResult) - otherIsBindingResult = true; - else - answerValue = value; - } - - if (otherIsBindingResult) - return answerValue; - } - - if (model.containsKey(ANSWER_MODEL_KEY)) { - return model.get(ANSWER_MODEL_KEY); - } else if (model.containsKey(ANSWER_MODEL_KEY_AS_HTML)) { - return model.get(ANSWER_MODEL_KEY_AS_HTML); - } else if (viewName != null && model.containsKey(viewName)) { - return model.get(viewName); - } else { - if (model.size() == 0) - throw new ArgeoException("Model is empty."); - else - throw new ArgeoException( - "Model has a size different from 1. Specify a modelKey."); - } - } - - public String getViewName() { - return viewName; - } - - public Locale getLocale() { - return locale; - } - - public void setSerializer(ServerSerializer serializer) { - this.serializer = serializer; - } - -} diff --git a/org.argeo.server.core/src/org/argeo/server/mvc/SerializingViewResolver.java b/org.argeo.server.core/src/org/argeo/server/mvc/SerializingViewResolver.java deleted file mode 100644 index 93315438f..000000000 --- a/org.argeo.server.core/src/org/argeo/server/mvc/SerializingViewResolver.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed 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. - */ -package org.argeo.server.mvc; - -import java.util.Locale; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.server.ServerSerializer; -import org.springframework.web.servlet.View; -import org.springframework.web.servlet.view.AbstractCachingViewResolver; - -/** - * Returns a {@link SerializingView} based on the underlying. - */ -public class SerializingViewResolver extends AbstractCachingViewResolver { - private final static Log log = LogFactory - .getLog(SerializingViewResolver.class); - - private ServerSerializer serializer; - - @Override - protected View loadView(String viewName, Locale locale) throws Exception { - if (log.isTraceEnabled()) - log.trace("viewName=" + viewName); - return new SerializingView(viewName, locale, serializer); - } - - public void setSerializer(ServerSerializer serializer) { - this.serializer = serializer; - } - -} diff --git a/org.argeo.server.jackrabbit/.classpath b/org.argeo.server.jackrabbit/.classpath deleted file mode 100644 index d2953a684..000000000 --- a/org.argeo.server.jackrabbit/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/org.argeo.server.jackrabbit/.project b/org.argeo.server.jackrabbit/.project deleted file mode 100644 index a381d35e0..000000000 --- a/org.argeo.server.jackrabbit/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.argeo.server.jackrabbit - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - - diff --git a/org.argeo.server.jackrabbit/.settings/org.eclipse.jdt.core.prefs b/org.argeo.server.jackrabbit/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 51880a3eb..000000000 --- a/org.argeo.server.jackrabbit/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,89 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning diff --git a/org.argeo.server.jackrabbit/bnd.bnd b/org.argeo.server.jackrabbit/bnd.bnd deleted file mode 100644 index 785086f75..000000000 --- a/org.argeo.server.jackrabbit/bnd.bnd +++ /dev/null @@ -1,7 +0,0 @@ -Import-Package: javax.servlet,\ -org.apache.jackrabbit.webdav.server,\ -org.osgi.framework;version="0.0.0",\ -org.xml.sax;version="0.0.0",\ -org.apache.jackrabbit.webdav.jcr,\ -org.springframework.beans,\ -* diff --git a/org.argeo.server.jackrabbit/build.properties b/org.argeo.server.jackrabbit/build.properties deleted file mode 100644 index 93e080c53..000000000 --- a/org.argeo.server.jackrabbit/build.properties +++ /dev/null @@ -1,2 +0,0 @@ -source.. = src/ -additional.bundles = org.apache.jackrabbit.data diff --git a/org.argeo.server.jackrabbit/pom.xml b/org.argeo.server.jackrabbit/pom.xml deleted file mode 100644 index 4ea6c7172..000000000 --- a/org.argeo.server.jackrabbit/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - 4.0.0 - - org.argeo.commons - argeo-commons - 2.1.14-SNAPSHOT - .. - - org.argeo.server.jackrabbit - Commons Server Jackrabbit - - - org.argeo.commons - org.argeo.util - 2.1.14-SNAPSHOT - - - org.argeo.commons - org.argeo.server.jcr - 2.1.14-SNAPSHOT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.server.jcr/bnd.bnd b/org.argeo.server.jcr/bnd.bnd index 2b0bd1b2c..d0385e232 100644 --- a/org.argeo.server.jcr/bnd.bnd +++ b/org.argeo.server.jcr/bnd.bnd @@ -3,4 +3,8 @@ org.xml.sax;version="0.0.0",\ org.springframework.core;resolution:=optional,\ org.springframework.core.io;resolution:=optional,\ org.springframework.*;resolution:=optional,\ +org.apache.jackrabbit.*;resolution:=optional,\ +org.apache.jackrabbit.webdav.jcr;resolution:=optional,\ +org.apache.jackrabbit.webdav.server;resolution:=optional,\ * +Export-Package: org.argeo.jcr.*, org.argeo.jackrabbit.* \ No newline at end of file diff --git a/org.argeo.server.jcr/build.properties b/org.argeo.server.jcr/build.properties index bea936651..1d2423681 100644 --- a/org.argeo.server.jcr/build.properties +++ b/org.argeo.server.jcr/build.properties @@ -1,7 +1,6 @@ source.. = src/,\ ext/test/ -output.. = bin/,\ - bin/test-classes/ +output.. = bin/ bin.includes = META-INF/,\ . additional.bundles = org.junit,\ @@ -12,4 +11,3 @@ additional.bundles = org.junit,\ org.apache.jackrabbit.jcr.commons,\ org.apache.jackrabbit.spi,\ org.apache.jackrabbit.spi.commons - diff --git a/org.argeo.server.jcr/pom.xml b/org.argeo.server.jcr/pom.xml index 790c7dfee..95e49a843 100644 --- a/org.argeo.server.jcr/pom.xml +++ b/org.argeo.server.jcr/pom.xml @@ -7,103 +7,12 @@ .. org.argeo.server.jcr - Commons Server JCR - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - true - true - - -clean - - - - XXX - - - - - + Commons JCR org.argeo.commons org.argeo.util 2.1.14-SNAPSHOT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitAuthorizations.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitAuthorizations.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitAuthorizations.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitAuthorizations.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitContainer.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitContainer.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitContainer.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitContainer.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitDataModelMigration.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitDataModelMigration.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitDataModelMigration.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitDataModelMigration.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitRepositoryFactory.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitRepositoryFactory.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitRepositoryFactory.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitRepositoryFactory.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitWrapper.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitWrapper.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/JackrabbitWrapper.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/JackrabbitWrapper.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/OsgiJackrabbitRepositoryFactory.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/OsgiJackrabbitRepositoryFactory.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/OsgiJackrabbitRepositoryFactory.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/OsgiJackrabbitRepositoryFactory.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/repository-fs.xml b/org.argeo.server.jcr/src/org/argeo/jackrabbit/repository-fs.xml similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/repository-fs.xml rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/repository-fs.xml diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/repository-h2.xml b/org.argeo.server.jcr/src/org/argeo/jackrabbit/repository-h2.xml similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/repository-h2.xml rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/repository-h2.xml diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/repository-memory.xml b/org.argeo.server.jcr/src/org/argeo/jackrabbit/repository-memory.xml similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/repository-memory.xml rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/repository-memory.xml diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/servlet/OpenInViewSessionProvider.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/servlet/OpenInViewSessionProvider.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/servlet/OpenInViewSessionProvider.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/servlet/OpenInViewSessionProvider.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/servlet/RemotingServlet.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/servlet/RemotingServlet.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/servlet/RemotingServlet.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/servlet/RemotingServlet.java diff --git a/org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/servlet/WebdavServlet.java b/org.argeo.server.jcr/src/org/argeo/jackrabbit/servlet/WebdavServlet.java similarity index 100% rename from org.argeo.server.jackrabbit/src/org/argeo/jackrabbit/servlet/WebdavServlet.java rename to org.argeo.server.jcr/src/org/argeo/jackrabbit/servlet/WebdavServlet.java diff --git a/org.argeo.util/pom.xml b/org.argeo.util/pom.xml index a1bbc8a71..0cb1341e1 100644 --- a/org.argeo.util/pom.xml +++ b/org.argeo.util/pom.xml @@ -8,21 +8,5 @@ .. org.argeo.util - Commons Util (no third party dependencies) - - - - - - - - - - - - - - - - + Commons Utilities \ No newline at end of file diff --git a/pom.xml b/pom.xml index e10581b25..8959e0fbb 100644 --- a/pom.xml +++ b/pom.xml @@ -25,30 +25,18 @@ org.argeo.security.core org.argeo.security.jackrabbit - org.argeo.security.ldap - - - - - - - org.argeo.server.core - - org.argeo.server.jackrabbit org.argeo.eclipse.ui org.argeo.eclipse.ui.rap - - + org.argeo.cms org.argeo.eclipse.ui.workbench org.argeo.eclipse.ui.workbench.rap - org.argeo.security.ui org.argeo.security.ui.admin org.argeo.security.ui.rap - + dep dist -- 2.30.2