From ed7bc12c0c7bc20d032c8486ae6279086111765a Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 25 Feb 2011 09:47:54 +0000 Subject: [PATCH] Improve build and maven structure git-svn-id: https://svn.argeo.org/commons/trunk@4192 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../log4j.properties | 24 +++ .../org.argeo.jcr.ui.explorer.product | 190 ++++++++++++++++++ .../plugins/org.argeo.jcr.ui.explorer/pom.xml | 129 +++++++++++- .../runtime/org.argeo.eclipse.ui.jcr/pom.xml | 1 + .../dep/org.argeo.security.dep.ads/pom.xml | 56 +++++- ...org.argeo.security.ui.application.product} | 2 - .../org.argeo.security.ui.application/pom.xml | 43 +--- .../org.argeo.security.core/build.properties | 1 - .../security/json/ArgeoUserJsonTest.java | 132 ------------ .../security/json/JsonServerMapperTest.java | 62 ------ server/dep/.project | 11 - .../dep/org.argeo.server.dep.activemq/pom.xml | 62 +++++- .../pom.xml | 46 +---- server/dep/org.argeo.server.dep.javax/pom.xml | 44 ++++ .../dep/org.argeo.server.dep.tomcat/pom.xml | 25 +++ server/dep/pom.xml | 34 +++- .../WEB-INF/web.xml | 2 +- .../org.argeo.server.jackrabbit/pom.xml | 5 +- .../remote/JcrRemotingHandlerMapping.java | 24 +++ .../MultipleRepositoryHandlerMapping.java | 25 +-- .../org.argeo.server.modeshape/pom.xml | 6 + 21 files changed, 599 insertions(+), 325 deletions(-) create mode 100644 eclipse/plugins/org.argeo.jcr.ui.explorer/log4j.properties create mode 100644 eclipse/plugins/org.argeo.jcr.ui.explorer/org.argeo.jcr.ui.explorer.product rename security/eclipse/plugins/org.argeo.security.ui.application/{SecureRCP.product => org.argeo.security.ui.application.product} (97%) delete mode 100644 security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/ArgeoUserJsonTest.java delete mode 100644 security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/JsonServerMapperTest.java delete mode 100644 server/dep/.project create mode 100644 server/dep/org.argeo.server.dep.javax/pom.xml create mode 100644 server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/JcrRemotingHandlerMapping.java diff --git a/eclipse/plugins/org.argeo.jcr.ui.explorer/log4j.properties b/eclipse/plugins/org.argeo.jcr.ui.explorer/log4j.properties new file mode 100644 index 000000000..8a89a4aa3 --- /dev/null +++ b/eclipse/plugins/org.argeo.jcr.ui.explorer/log4j.properties @@ -0,0 +1,24 @@ +log4j.rootLogger=WARN, console + +## Levels +log4j.logger.org.argeo=DEBUG +log4j.logger.org.springframework.security=DEBUG + +log4j.logger.org.apache.catalina=INFO +log4j.logger.org.apache.coyote=INFO +log4j.logger.org.apache.tomcat=INFO + +log4j.logger.org.apache.directory.server=INFO +log4j.logger.org.apache.directory.server.core.partition=ERROR +log4j.logger.org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry=ERROR + +log4j.logger.org.apache.jackrabbit=WARN +log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR + +## Appenders +# console is set to be a ConsoleAppender. +log4j.appender.console=org.apache.log4j.ConsoleAppender + +# console uses PatternLayout. +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c - [%t]%n diff --git a/eclipse/plugins/org.argeo.jcr.ui.explorer/org.argeo.jcr.ui.explorer.product b/eclipse/plugins/org.argeo.jcr.ui.explorer/org.argeo.jcr.ui.explorer.product new file mode 100644 index 000000000..35b11a864 --- /dev/null +++ b/eclipse/plugins/org.argeo.jcr.ui.explorer/org.argeo.jcr.ui.explorer.product @@ -0,0 +1,190 @@ + + + + + + + + + + -Dlog4j.configuration=file:${system_property:user.home}/dev/src/commons/eclipse/plugins/org.argeo.jcr.ui.explorer/log4j.properties + -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/org.argeo.jcr.ui.explorer/pom.xml b/eclipse/plugins/org.argeo.jcr.ui.explorer/pom.xml index 277e44a9a..5f08cd511 100644 --- a/eclipse/plugins/org.argeo.jcr.ui.explorer/pom.xml +++ b/eclipse/plugins/org.argeo.jcr.ui.explorer/pom.xml @@ -1,4 +1,5 @@ - + 4.0.0 org.argeo.commons.eclipse @@ -8,11 +9,47 @@ org.argeo.jcr.ui.explorer Commons JCR Explorer - jar + + + + org.argeo.maven.plugins + maven-argeo-osgi-plugin + + + resolve-pde-sources + + pde-sources + + generate-resources + + + generate-descriptors + + descriptors + + generate-resources + + + check-osgi + test + + equinox + + + true + + -clean + + + + + + + org.argeo.commons.eclipse - org.argeo.eclipse.ui.jucr + org.argeo.eclipse.ui.jcr 0.2.3-SNAPSHOT @@ -23,5 +60,91 @@ 0.2.3-SNAPSHOT provided + + + + + org.argeo.commons.osgi + org.argeo.osgi.boot + 0.2.3-SNAPSHOT + test + + + org.argeo.commons.server + org.argeo.server.dep.javax + ${version.argeo-commons} + pom + test + + + org.apache.xmlcommons + com.springsource.org.apache.xmlcommons + test + + + + org.argeo.commons.security + org.argeo.security.dep.ads + ${version.argeo-commons} + pom + test + + + + org.argeo.commons.server + org.argeo.server.dep.tomcat + ${version.argeo-commons} + pom + test + + + org.springframework.osgi + org.springframework.osgi.web.extender + + + org.springframework.osgi + org.springframework.osgi.web + + + + org.argeo.commons.server + org.argeo.server.jackrabbit + ${version.argeo-commons} + test + + + org.argeo.commons.server + org.argeo.server.dep.jackrabbit.server + ${version.argeo-commons} + pom + test + + + org.argeo.commons.server + org.argeo.jackrabbit.webapp + ${version.argeo-commons} + test + + + org.argeo.commons.server + org.argeo.node.repo.jackrabbit + ${version.argeo-commons} + test + + + com.h2database + com.springsource.org.h2 + test + + + com.mysql.jdbc + com.springsource.com.mysql.jdbc + test + + + org.postgresql + com.springsource.org.postgresql.jdbc3 + test + diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/pom.xml b/eclipse/runtime/org.argeo.eclipse.ui.jcr/pom.xml index 6fe7b680e..3508f1757 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/pom.xml +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/pom.xml @@ -86,5 +86,6 @@ org.slf4j com.springsource.slf4j.org.apache.commons.logging + diff --git a/security/dep/org.argeo.security.dep.ads/pom.xml b/security/dep/org.argeo.security.dep.ads/pom.xml index 5406680e1..7d21ecaaa 100644 --- a/security/dep/org.argeo.security.dep.ads/pom.xml +++ b/security/dep/org.argeo.security.dep.ads/pom.xml @@ -1,4 +1,5 @@ - + 4.0.0 org.argeo.commons.security @@ -13,14 +14,63 @@ org.argeo.commons.security org.argeo.security.dep.ldap - 0.2.3-SNAPSHOT + ${version.argeo-commons} pom org.argeo.commons.server org.argeo.server.dep.ads - 0.2.3-SNAPSHOT + ${version.argeo-commons} pom + + + + org.argeo.commons.server + org.argeo.server.ads.server + ${version.argeo-commons} + + + org.argeo.commons.security + org.argeo.security.services + ${version.argeo-commons} + + + org.argeo.commons.security + org.argeo.security.ldap + ${version.argeo-commons} + + + org.argeo.commons.security + org.argeo.security.manager.ldap + ${version.argeo-commons} + + + org.argeo.commons.server + org.argeo.server.ads + ${version.argeo-commons} + + + org.argeo.dep.osgi + org.argeo.dep.osgi.springframework.ldap + + + org.argeo.commons.basic + org.argeo.basic.dep.log4j + ${version.argeo-commons} + pom + + + net.sourceforge.jdbm + com.springsource.jdbm + + + + + org.argeo.commons.server + org.argeo.server.json + ${version.argeo-commons} + + \ No newline at end of file diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/SecureRCP.product b/security/eclipse/plugins/org.argeo.security.ui.application/org.argeo.security.ui.application.product similarity index 97% rename from security/eclipse/plugins/org.argeo.security.ui.application/SecureRCP.product rename to security/eclipse/plugins/org.argeo.security.ui.application/org.argeo.security.ui.application.product index 574dcc77e..be468c8ae 100644 --- a/security/eclipse/plugins/org.argeo.security.ui.application/SecureRCP.product +++ b/security/eclipse/plugins/org.argeo.security.ui.application/org.argeo.security.ui.application.product @@ -112,9 +112,7 @@ - - diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml b/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml index e86c48750..e66484841 100644 --- a/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml +++ b/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml @@ -108,52 +108,13 @@ - - org.argeo.commons.server - org.argeo.server.ads.server - ${version.argeo-commons} - test - + org.argeo.commons.security - org.argeo.security.services + org.argeo.security.dep.ads ${version.argeo-commons} - test - - - org.argeo.commons.security - org.argeo.security.ldap - ${version.argeo-commons} - test - - - org.argeo.commons.security - org.argeo.security.manager.ldap - ${version.argeo-commons} - test - - - org.argeo.commons.server - org.argeo.server.ads - 0.2.3-SNAPSHOT - test - - - org.argeo.dep.osgi - org.argeo.dep.osgi.springframework.ldap - test - - - org.argeo.commons.basic - org.argeo.basic.dep.log4j - 0.2.3-SNAPSHOT pom test - - net.sourceforge.jdbm - com.springsource.jdbm - test - diff --git a/security/runtime/org.argeo.security.core/build.properties b/security/runtime/org.argeo.security.core/build.properties index 6ebf8f32f..c2c338280 100644 --- a/security/runtime/org.argeo.security.core/build.properties +++ b/security/runtime/org.argeo.security.core/build.properties @@ -3,7 +3,6 @@ additional.bundles = org.springframework.transaction,\ com.springsource.junit,\ com.springsource.org.apache.commons.io,\ com.springsource.org.codehaus.jackson,\ - com.springsource.json,\ com.springsource.org.apache.commons.codec,\ org.springframework.security.core,\ com.springsource.org.codehaus.jackson.mapper,\ diff --git a/security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/ArgeoUserJsonTest.java b/security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/ArgeoUserJsonTest.java deleted file mode 100644 index 13db4c5bb..000000000 --- a/security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/ArgeoUserJsonTest.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2010 Mathieu Baudier - * - * 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.json; - -import java.io.StringWriter; -import java.util.HashMap; -import java.util.Map; - -import junit.framework.TestCase; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.security.ArgeoUser; -import org.argeo.security.SimpleArgeoUser; -import org.argeo.security.UserNature; -import org.argeo.security.core.ArgeoUserDetails; -import org.argeo.security.nature.CoworkerNature; -import org.argeo.security.nature.SimpleUserNature; -import org.argeo.server.json.JsonServerMapper; -import org.codehaus.jackson.JsonFactory; -import org.codehaus.jackson.JsonGenerator; -import org.codehaus.jackson.map.ObjectMapper; -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; - -import com.springsource.json.writer.JSONArray; -import com.springsource.json.writer.JSONObject; - -public class ArgeoUserJsonTest extends TestCase { - private static Log log = LogFactory.getLog(ArgeoUserJsonTest.class); - - public void testMapper() throws Exception { -// Map natures = new HashMap(); -// SimpleUserNature sun = new SimpleUserNature(); -// sun.setFirstName("Mickey"); -// sun.setEmail("username@domain.com"); -// natures.put("simple",sun); -// CoworkerNature cwn = new CoworkerNature(); -// cwn.setMobile("+123456789"); -// natures.put("coworker",cwn); -// -// GrantedAuthority[] roles = { new GrantedAuthorityImpl("ROLE1"), -// new GrantedAuthorityImpl("ROLE2") }; -// ArgeoUserDetails argeoUserDetails = new ArgeoUserDetails("USER", -// natures, "PASSWORD", roles); -// -// SimpleArgeoUser argeoUser = new SimpleArgeoUser(argeoUserDetails); -// -// StringWriter writer = new StringWriter(); -// -// JsonFactory jsonFactory = new JsonFactory(); -// JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(writer); -// jsonGenerator.useDefaultPrettyPrinter(); -// -// ObjectMapper objectMapper = new ObjectMapper(); -// -// objectMapper.writeValue(jsonGenerator, argeoUser); -// String audJo = writer.toString(); -// -// log.info("audJo:\n" + audJo); -// -// // BasicArgeoUser aud = objectMapper.readValue(audJo, -// // BasicArgeoUser.class); -// -// JsonServerMapper mapper = JsonServerMapperTest.createJsonServerMapper(); -// ArgeoUser aud = (ArgeoUser) mapper.deserialize(audJo); -// -// assertEquals(argeoUser.getUsername(), aud.getUsername()); -// assertEquals(argeoUser.getRoles().size(), aud.getRoles().size()); -// assertEquals(argeoUser.getUserNatures().size(), aud.getUserNatures() -// .size()); -// -// assertSimpleUserNature((SimpleUserNature) argeoUser.getUserNatures() -// .get(0), (SimpleUserNature) aud.getUserNatures().get(0)); -// assertCoworkerNature( -// (CoworkerNature) argeoUser.getUserNatures().get(1), -// (CoworkerNature) aud.getUserNatures().get(1)); - - } - - public static void assertSimpleUserNature(SimpleUserNature expected, - SimpleUserNature reached) { - assertEquals(expected.getEmail(), reached.getEmail()); - } - - public static void assertCoworkerNature(CoworkerNature expected, - CoworkerNature reached) { - assertEquals(expected.getMobile(), reached.getMobile()); - } - - public void testSeriDeserialize() { -// Map natures = new HashMap(); -// JSONArray naturesJo = new JSONArray(); -// -// SimpleUserNature sun = new SimpleUserNature(); -// sun.setEmail("username@domain.com"); -// natures.put("simple",sun); -// naturesJo.put(new JSONObject(sun)); -// -// CoworkerNature cwn = new CoworkerNature(); -// cwn.setMobile("+123456789"); -// natures.put("coworker",cwn); -// naturesJo.put(new JSONObject(cwn)); -// -// GrantedAuthority[] roles = { new GrantedAuthorityImpl("ROLE1"), -// new GrantedAuthorityImpl("ROLE1") }; -// ArgeoUserDetails argeoUserDetails = new ArgeoUserDetails("USER", -// natures, "PASSWORD", roles); -// -// JSONObject argeoUserDetailsJo = new JSONObject(argeoUserDetails); -// argeoUserDetailsJo.put("userNatures", naturesJo); -// -// log.info("argeoUserDetailsJo=" + argeoUserDetailsJo.toString(2)); - - // JSONParser jsonParser = new JSONParser(); - // ArgeoUserDetails argeoUserDetails = JSONParser - } -} diff --git a/security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/JsonServerMapperTest.java b/security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/JsonServerMapperTest.java deleted file mode 100644 index d0e55331b..000000000 --- a/security/runtime/org.argeo.security.core/src/test/java/org/argeo/security/json/JsonServerMapperTest.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2010 Mathieu Baudier - * - * 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.json; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; - -import junit.framework.TestCase; - -import org.apache.commons.io.IOUtils; -import org.argeo.security.ArgeoUser; -import org.argeo.security.SimpleArgeoUser; -import org.argeo.security.UserNature; -import org.argeo.server.json.GenericJsonDeserializer; -import org.argeo.server.json.JsonObjectFactoryImpl; -import org.argeo.server.json.JsonServerMapper; - -public class JsonServerMapperTest extends TestCase { - public void testDeserialize() throws Exception { -// JsonServerMapper mapper = createJsonServerMapper(); -// -// Reader reader = null; -// try { -// InputStream in = getClass().getResource( -// "/org/argeo/security/json/gandalf2.json").openStream(); -// reader = new InputStreamReader(in); -// -// ArgeoUser user = (ArgeoUser) mapper.deserialize(reader); -// assertEquals("gandalf2", user.getUsername()); -// assertEquals(2, user.getRoles().size()); -// assertEquals(2, user.getUserNatures().size()); -// } finally { -// IOUtils.closeQuietly(reader); -// } - } - - @SuppressWarnings("unchecked") - public static JsonServerMapper createJsonServerMapper() throws Exception { - JsonServerMapper mapper = new JsonServerMapper(); - mapper.setTargetClass(SimpleArgeoUser.class); - GenericJsonDeserializer jsonDeserializer = new GenericJsonDeserializer(); - jsonDeserializer.getObjectFactories().add(new JsonObjectFactoryImpl()); - mapper.getDeserializers().put(UserNature.class, jsonDeserializer); - mapper.afterPropertiesSet(); - return mapper; - } -} diff --git a/server/dep/.project b/server/dep/.project deleted file mode 100644 index 6550fea25..000000000 --- a/server/dep/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - org.argeo.server.dep - - - - - - - - diff --git a/server/dep/org.argeo.server.dep.activemq/pom.xml b/server/dep/org.argeo.server.dep.activemq/pom.xml index a7da2fd36..078400bcb 100644 --- a/server/dep/org.argeo.server.dep.activemq/pom.xml +++ b/server/dep/org.argeo.server.dep.activemq/pom.xml @@ -1,4 +1,5 @@ - + 4.0.0 org.argeo.commons.server @@ -27,10 +28,6 @@ org.argeo.dep.osgi org.argeo.dep.osgi.activemq - - org.argeo.dep.osgi - org.argeo.dep.osgi.activemq.optional - org.apache.activemq com.springsource.org.apache.activemq.pool @@ -57,13 +54,60 @@ javax.xml.rpc com.springsource.javax.xml.rpc + + + + org.argeo.commons.server + org.argeo.server.dep.javax + ${version.argeo-commons} + pom + test + + + javax.servlet + com.springsource.javax.servlet + test + + + org.apache.xmlcommons + com.springsource.org.apache.xmlcommons + test + + + org.apache.xalan + com.springsource.org.apache.xalan + test + + + org.springframework + org.springframework.beans + test + + + org.springframework + org.springframework.context + test + + + + + org.argeo.dep.osgi + org.argeo.dep.osgi.activemq.optional + + + org.apache.commons + com.springsource.org.apache.commons.collections + test + - javax.xml.soap - com.springsource.javax.xml.soap + org.springframework.ws + org.springframework.oxm + test - javax.activation - com.springsource.javax.activation + org.springframework.ws + org.springframework.xml + test \ No newline at end of file diff --git a/server/dep/org.argeo.server.dep.jackrabbit.server/pom.xml b/server/dep/org.argeo.server.dep.jackrabbit.server/pom.xml index 84338825a..9ee053ea7 100644 --- a/server/dep/org.argeo.server.dep.jackrabbit.server/pom.xml +++ b/server/dep/org.argeo.server.dep.jackrabbit.server/pom.xml @@ -1,4 +1,5 @@ - + 4.0.0 org.argeo.commons.server @@ -9,35 +10,6 @@ org.argeo.server.dep.jackrabbit.server pom Dep Jack Rabbit Server - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - ${version.maven-argeo-osgi} - - - check-osgi - test - - equinox - - - true - true - - -clean - - - - XXX - - - - - - - org.argeo.dep.osgi @@ -191,16 +163,12 @@ com.springsource.org.xmlpull - + - org.argeo.commons.osgi - org.argeo.osgi.boot - 0.2.3-SNAPSHOT - test - - - javax.xml.stream - com.springsource.javax.xml.stream + org.argeo.commons.server + org.argeo.server.dep.javax + ${version.argeo-commons} + pom test diff --git a/server/dep/org.argeo.server.dep.javax/pom.xml b/server/dep/org.argeo.server.dep.javax/pom.xml new file mode 100644 index 000000000..ce32cdb9b --- /dev/null +++ b/server/dep/org.argeo.server.dep.javax/pom.xml @@ -0,0 +1,44 @@ + + 4.0.0 + + org.argeo.commons.server + 0.2.3-SNAPSHOT + dep + .. + + org.argeo.server.dep.javax + pom + Dep Javax + Component provided by Java 6 + + + javax.activation + com.springsource.javax.activation + + + javax.annotation + com.springsource.javax.annotation + + + javax.transaction + com.springsource.javax.transaction + + + javax.xml.stream + com.springsource.javax.xml.stream + + + javax.xml.bind + com.springsource.javax.xml.bind + + + javax.xml.soap + com.springsource.javax.xml.soap + + + javax.xml.ws + com.springsource.javax.xml.ws + + + \ No newline at end of file diff --git a/server/dep/org.argeo.server.dep.tomcat/pom.xml b/server/dep/org.argeo.server.dep.tomcat/pom.xml index 535ef108b..8aab7db73 100644 --- a/server/dep/org.argeo.server.dep.tomcat/pom.xml +++ b/server/dep/org.argeo.server.dep.tomcat/pom.xml @@ -19,6 +19,18 @@ pom + + + org.argeo.commons.server + org.argeo.server.catalina + ${version.argeo-commons} + + + org.argeo.commons.server + org.argeo.server.tomcat + ${version.argeo-commons} + + javax.servlet @@ -85,5 +97,18 @@ com.springsource.org.apache.el + + + org.argeo.commons.server + org.argeo.server.dep.javax + ${version.argeo-commons} + pom + test + + + org.apache.xmlcommons + com.springsource.org.apache.xmlcommons + test + \ No newline at end of file diff --git a/server/dep/pom.xml b/server/dep/pom.xml index f8b39a33a..ada33bfa3 100644 --- a/server/dep/pom.xml +++ b/server/dep/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 org.argeo.commons @@ -12,10 +13,41 @@ Commons Server Dependencies pom + org.argeo.server.dep.javax org.argeo.server.dep.tomcat org.argeo.server.dep.ads org.argeo.server.dep.hibernate org.argeo.server.dep.jackrabbit.server org.argeo.server.dep.activemq + + + + org.argeo.maven.plugins + maven-argeo-osgi-plugin + ${version.maven-argeo-osgi} + + + check-osgi + test + + equinox + + + true + + + + + + + + + + org.argeo.commons.osgi + org.argeo.osgi.boot + 0.2.3-SNAPSHOT + test + + \ No newline at end of file diff --git a/server/modules/org.argeo.jackrabbit.webapp/WEB-INF/web.xml b/server/modules/org.argeo.jackrabbit.webapp/WEB-INF/web.xml index a2822ad47..68ba7592b 100644 --- a/server/modules/org.argeo.jackrabbit.webapp/WEB-INF/web.xml +++ b/server/modules/org.argeo.jackrabbit.webapp/WEB-INF/web.xml @@ -23,7 +23,7 @@ remoting - org.argeo.server.jackrabbit.webdav.ExtendedDispatcherServlet + org.argeo.jackrabbit.remote.ExtendedDispatcherServlet contextClass org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext diff --git a/server/runtime/org.argeo.server.jackrabbit/pom.xml b/server/runtime/org.argeo.server.jackrabbit/pom.xml index 4eeae22b9..346da2e08 100644 --- a/server/runtime/org.argeo.server.jackrabbit/pom.xml +++ b/server/runtime/org.argeo.server.jackrabbit/pom.xml @@ -30,12 +30,11 @@ - org.argeo.jcr.*, - org.argeo.server.jackrabbit.*, - org.argeo.server.jcr.* + org.argeo.jackrabbit.*, org.xml.sax;version="0.0.0", + org.apache.jackrabbit.webdav.jcr, org.springframework.security.providers.jaas;resolution:="optional", junit.framework;resolution:="optional", * diff --git a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/JcrRemotingHandlerMapping.java b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/JcrRemotingHandlerMapping.java new file mode 100644 index 000000000..195a41d5b --- /dev/null +++ b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/JcrRemotingHandlerMapping.java @@ -0,0 +1,24 @@ +package org.argeo.jackrabbit.remote; + +import java.util.Properties; + +import javax.jcr.Repository; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; + +import org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet; + +public class JcrRemotingHandlerMapping extends MultipleRepositoryHandlerMapping { + protected HttpServlet createServlet(Repository repository, String pathPrefix) + throws ServletException { + JcrRemotingServlet jcrRemotingServlet = new JcrRemotingServlet( + repository); + Properties initParameters = new Properties(); + initParameters.setProperty( + JCRWebdavServerServlet.INIT_PARAM_RESOURCE_PATH_PREFIX, + pathPrefix); + jcrRemotingServlet.init(new DelegatingServletConfig(pathPrefix.replace( + '/', '_'), initParameters)); + return jcrRemotingServlet; + } +} diff --git a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/MultipleRepositoryHandlerMapping.java b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/MultipleRepositoryHandlerMapping.java index ae3ede742..12cff99e2 100644 --- a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/MultipleRepositoryHandlerMapping.java +++ b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/MultipleRepositoryHandlerMapping.java @@ -12,7 +12,6 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet; import org.argeo.ArgeoException; import org.argeo.jcr.RepositoryRegister; import org.springframework.beans.BeansException; @@ -23,8 +22,8 @@ import org.springframework.web.context.ServletContextAware; import org.springframework.web.servlet.HandlerExecutionChain; import org.springframework.web.servlet.HandlerMapping; -public class MultipleRepositoryHandlerMapping implements HandlerMapping, - ApplicationContextAware, ServletContextAware { +public abstract class MultipleRepositoryHandlerMapping implements + HandlerMapping, ApplicationContextAware, ServletContextAware { private final static Log log = LogFactory .getLog(MultipleRepositoryHandlerMapping.class); @@ -33,6 +32,10 @@ public class MultipleRepositoryHandlerMapping implements HandlerMapping, private RepositoryRegister repositoryRegister; + /** Actually creates the servlet to be registered. */ + protected abstract HttpServlet createServlet(Repository repository, + String pathPrefix) throws ServletException; + public HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception { if (log.isTraceEnabled()) { @@ -58,19 +61,6 @@ public class MultipleRepositoryHandlerMapping implements HandlerMapping, return new HandlerExecutionChain(remotingServlet); } - protected HttpServlet createServlet(Repository repository, String pathPrefix) - throws ServletException { - JcrRemotingServlet jcrRemotingServlet = new JcrRemotingServlet( - repository); - Properties initParameters = new Properties(); - initParameters.setProperty( - JCRWebdavServerServlet.INIT_PARAM_RESOURCE_PATH_PREFIX, - pathPrefix); - jcrRemotingServlet.init(new DelegatingServletConfig(pathPrefix.replace( - '/', '_'), initParameters)); - return jcrRemotingServlet; - } - /** The repository name is the first part of the path info */ protected String extractRepositoryName(HttpServletRequest request) { String pathInfo = request.getPathInfo(); @@ -103,7 +93,7 @@ public class MultipleRepositoryHandlerMapping implements HandlerMapping, this.repositoryRegister = repositoryRegister; } - private class DelegatingServletConfig implements ServletConfig { + protected class DelegatingServletConfig implements ServletConfig { private String name; private Properties initParameters; @@ -125,6 +115,7 @@ public class MultipleRepositoryHandlerMapping implements HandlerMapping, return initParameters.getProperty(paramName); } + @SuppressWarnings("rawtypes") public Enumeration getInitParameterNames() { return initParameters.keys(); } diff --git a/server/runtime/org.argeo.server.modeshape/pom.xml b/server/runtime/org.argeo.server.modeshape/pom.xml index e1500a83b..02a4363d9 100644 --- a/server/runtime/org.argeo.server.modeshape/pom.xml +++ b/server/runtime/org.argeo.server.modeshape/pom.xml @@ -38,6 +38,12 @@ + + org.argeo.commons.server + org.argeo.server.jcr + 0.2.3-SNAPSHOT + + org.argeo.dep.osgi org.argeo.dep.osgi.modeshape -- 2.39.2