exo-jcr SVN: r226 - core/trunk.
by do-not-reply@jboss.org
Author: pnedonosko
Date: 2009-10-05 09:26:34 -0400 (Mon, 05 Oct 2009)
New Revision: 226
Modified:
core/trunk/pom.xml
Log:
essage=EXOJCR-166: Foundation Core POM fix: surefire plugin
Modified: core/trunk/pom.xml
===================================================================
--- core/trunk/pom.xml 2009-10-05 12:26:44 UTC (rev 225)
+++ core/trunk/pom.xml 2009-10-05 13:26:34 UTC (rev 226)
@@ -398,14 +398,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <skip>${exo.test.skip}</skip>
- <useFile>${exo.test.use.file}</useFile>
<forkMode>always</forkMode>
- <testFailureIgnore>${exo.test.failure.ignore}</testFailureIgnore>
- <classesDirectory>${exo.test.classesdirectory}</classesDirectory>
- <includes>
- <include>**/${exo.test.includes}.java</include>
- </includes>
<excludes>
<exclude>**/*$*</exclude>
<exclude>**/DBCreatorTest.java</exclude>
@@ -418,15 +411,15 @@
<exclude>**/TestPipe.java</exclude>
<exclude>**/TestTidy.java</exclude>
</excludes>
- <systemProperties>
+ <!-- systemProperties>
<property>
<name>emma.coverage.out.file</name>
<value>target/emma/coverage.ec</value>
</property>
- </systemProperties>
+ </systemProperties -->
</configuration>
</plugin>
-</plugins>
+ </plugins>
</build>
</project>
14 years, 7 months
exo-jcr SVN: r225 - jcr/trunk/component/core.
by do-not-reply@jboss.org
Author: skabashnyuk
Date: 2009-10-05 08:26:44 -0400 (Mon, 05 Oct 2009)
New Revision: 225
Modified:
jcr/trunk/component/core/pom.xml
Log:
EXOJCR-161 : Remove TestValueConstraints from excludes
Modified: jcr/trunk/component/core/pom.xml
===================================================================
--- jcr/trunk/component/core/pom.xml 2009-10-05 12:22:02 UTC (rev 224)
+++ jcr/trunk/component/core/pom.xml 2009-10-05 12:26:44 UTC (rev 225)
@@ -430,7 +430,6 @@
<include>**/impl/**/Test*.java</include>
</includes>
<excludes>
- <exclude>**/TestValueConstraints.java</exclude>
<exclude>**/TestIndexingConfig.java</exclude>
<exclude>**/TestExcerpt.java</exclude>
14 years, 7 months
exo-jcr SVN: r224 - in jcr/trunk/component/core/src/test/java: org/exoplatform/services/jcr/api/nodetypes and 1 other directory.
by do-not-reply@jboss.org
Author: skabashnyuk
Date: 2009-10-05 08:22:02 -0400 (Mon, 05 Oct 2009)
New Revision: 224
Modified:
jcr/trunk/component/core/src/test/java/conf/standalone/test-jcr-config-sjdbc.xml
jcr/trunk/component/core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java
Log:
EXOJCR-161 : Merge test configuration. Revert changes in tests.
Modified: jcr/trunk/component/core/src/test/java/conf/standalone/test-jcr-config-sjdbc.xml
===================================================================
--- jcr/trunk/component/core/src/test/java/conf/standalone/test-jcr-config-sjdbc.xml 2009-10-05 12:20:44 UTC (rev 223)
+++ jcr/trunk/component/core/src/test/java/conf/standalone/test-jcr-config-sjdbc.xml 2009-10-05 12:22:02 UTC (rev 224)
@@ -62,13 +62,7 @@
<query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
<properties>
<property name="index-dir" value="target/temp/index/db1/ws" />
- <property name="synonymprovider-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.PropertiesSynonymProvider" />
- <property name="synonymprovider-config-path" value="../../synonyms.properties" />
- <property name="support-highlighting" value="true" />
- <property name="indexing-configuration-path" value="../../indexing-configuration.xml" />
- <property name="query-class" value="org.exoplatform.services.jcr.impl.core.query.QueryImpl" />
- <property name="spellchecker-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker$FiveSecondsRefreshInterval" />
- </properties>
+ </properties>
</query-handler>
<lock-manager>
<time-out>15m</time-out>
@@ -283,6 +277,7 @@
<property name="support-highlighting" value="true" />
<property name="indexing-configuration-path" value="../../indexing-configuration.xml" />
<property name="query-class" value="org.exoplatform.services.jcr.impl.core.query.QueryImpl" />
+ <property name="excerptprovider-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.WeightedHTMLExcerpt" />
<property name="spellchecker-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker$FiveSecondsRefreshInterval" />
</properties>
</query-handler>
@@ -379,13 +374,16 @@
</cache>
<query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
<properties>
- <property name="index-dir" value="target/temp/index/db1/ws2tck" />
+ <property name="index-dir" value="target/temp/index/db1tck/ws2" />
<property name="synonymprovider-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.PropertiesSynonymProvider" />
<property name="synonymprovider-config-path" value="../../synonyms.properties" />
<property name="support-highlighting" value="true" />
<property name="indexing-configuration-path" value="../../indexing-configuration.xml" />
<property name="query-class" value="org.exoplatform.services.jcr.impl.core.query.QueryImpl" />
<property name="spellchecker-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.spell.LuceneSpellChecker$FiveSecondsRefreshInterval" />
+ <property name="excerptprovider-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.WeightedHTMLExcerpt"/>
+ <property name="extractorPoolSize" value="2"/>
+ <property name="extractorTimeout" value="10"/>
</properties>
</query-handler>
</workspace>
Modified: jcr/trunk/component/core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java
===================================================================
--- jcr/trunk/component/core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java 2009-10-05 12:20:44 UTC (rev 223)
+++ jcr/trunk/component/core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java 2009-10-05 12:22:02 UTC (rev 224)
@@ -31,7 +31,6 @@
import javax.jcr.Property;
import javax.jcr.PropertyType;
import javax.jcr.Value;
-import javax.jcr.nodetype.ConstraintViolationException;
/**
* Created by The eXo Platform SAS.
@@ -319,12 +318,11 @@
try
{
testProperty.setValue(false);
- session.save();
- fail();
+ root.save();
}
- catch (ConstraintViolationException e)
+ catch (Exception e)
{
- // ok
+ fail("setValue(BOOLEAN value) here should be no Exception ");
}
}
14 years, 7 months
exo-jcr SVN: r223 - jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl.
by do-not-reply@jboss.org
Author: tolusha
Date: 2009-10-05 08:20:44 -0400 (Mon, 05 Oct 2009)
New Revision: 223
Modified:
jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java
Log:
EXOJCR-167: revert registerNodeType, addNamespace
Modified: jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
===================================================================
--- jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2009-10-05 11:18:42 UTC (rev 222)
+++ jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2009-10-05 12:20:44 UTC (rev 223)
@@ -105,33 +105,19 @@
private final Log log = ExoLogger.getLogger("jcr.RepositoryContainer");
/**
- * NodeType plugins list.
- */
- private final List<ComponentPlugin> addNodeTypePlugins;
-
- /**
- * NameSpace plugins list.
- */
- private final List<ComponentPlugin> addNamespacesPlugins;
-
- /**
* RepositoryContainer constructor.
*
* @param parent
* container
* @param config
* Repository configuration
- * @param addNodeTypePlugins
- * NodeType plugins list
- * @param addNamespacesPlugins
- * NameSpace plugins list
* @throws RepositoryException
* container initialization error
* @throws RepositoryConfigurationException
* configuration error
*/
- public RepositoryContainer(ExoContainer parent, RepositoryEntry config, List<ComponentPlugin> addNodeTypePlugins,
- List<ComponentPlugin> addNamespacesPlugins) throws RepositoryException, RepositoryConfigurationException
+ public RepositoryContainer(ExoContainer parent, RepositoryEntry config) throws RepositoryException,
+ RepositoryConfigurationException
{
super(new MX4JComponentAdapterFactory(), parent);
@@ -141,8 +127,6 @@
config.setAccessControl(AccessControlPolicy.OPTIONAL);
this.config = config;
- this.addNamespacesPlugins = addNamespacesPlugins;
- this.addNodeTypePlugins = addNodeTypePlugins;
registerComponents();
}
@@ -505,101 +489,6 @@
registerRepositoryComponents();
}
- private void addNamespaces() throws RepositoryException
- {
- NamespaceRegistry nsRegistry = (NamespaceRegistry)this.getComponentInstanceOfType(NamespaceRegistryImpl.class);
- this.getComponentInstanceOfType(IdGenerator.class);
-
- for (int j = 0; j < addNamespacesPlugins.size(); j++)
- {
- AddNamespacesPlugin plugin = (AddNamespacesPlugin)addNamespacesPlugins.get(j);
- Map<String, String> namespaces = plugin.getNamespaces();
- try
- {
- for (Map.Entry<String, String> namespace : namespaces.entrySet())
- {
-
- String prefix = namespace.getKey();
- String uri = namespace.getValue();
-
- // register namespace if not found
- try
- {
- nsRegistry.getURI(prefix);
- }
- catch (NamespaceException e)
- {
- nsRegistry.registerNamespace(prefix, uri);
- }
- if (log.isDebugEnabled())
- log.debug("Namespace is registered " + prefix + " = " + uri);
- }
- }
- catch (Exception e)
- {
- log.error("Error load namespaces ", e);
- }
- }
- }
-
- private void registerNodeTypes() throws RepositoryException
- {
- ConfigurationManager configService =
- (ConfigurationManager)this.getParent().getComponentInstanceOfType(ConfigurationManager.class);
-
- NodeTypeDataManagerImpl ntManager =
- (NodeTypeDataManagerImpl)this.getComponentInstanceOfType(NodeTypeDataManagerImpl.class);
- //
- for (int j = 0; j < addNodeTypePlugins.size(); j++)
- {
- AddNodeTypePlugin plugin = (AddNodeTypePlugin)addNodeTypePlugins.get(j);
- List<String> autoNodeTypesFiles = plugin.getNodeTypesFiles(AddNodeTypePlugin.AUTO_CREATED);
- if (autoNodeTypesFiles != null && autoNodeTypesFiles.size() > 0)
- {
- for (String nodeTypeFilesName : autoNodeTypesFiles)
- {
-
- InputStream inXml;
- try
- {
- inXml = configService.getInputStream(nodeTypeFilesName);
- }
- catch (Exception e)
- {
- throw new RepositoryException(e);
- }
- if (log.isDebugEnabled())
- log.debug("Trying register node types from xml-file " + nodeTypeFilesName);
- ntManager.registerNodeTypes(inXml, ExtendedNodeTypeManager.IGNORE_IF_EXISTS,
- NodeTypeDataManager.TEXT_XML);
- if (log.isDebugEnabled())
- log.debug("Node types is registered from xml-file " + nodeTypeFilesName);
- }
- List<String> defaultNodeTypesFiles = plugin.getNodeTypesFiles(this.getName());
- if (defaultNodeTypesFiles != null && defaultNodeTypesFiles.size() > 0)
- {
- for (String nodeTypeFilesName : defaultNodeTypesFiles)
- {
-
- InputStream inXml;
- try
- {
- inXml = configService.getInputStream(nodeTypeFilesName);
- }
- catch (Exception e)
- {
- throw new RepositoryException(e);
- }
- log.info("Trying register node types (" + this.getName() + ") from xml-file " + nodeTypeFilesName);
- ntManager.registerNodeTypes(inXml, ExtendedNodeTypeManager.IGNORE_IF_EXISTS,
- NodeTypeDataManager.TEXT_XML);
- log.info("Node types is registered (" + this.getName() + ") from xml-file " + nodeTypeFilesName);
- }
- }
- }
- }
- }
-
private void registerRepositoryComponents() throws RepositoryConfigurationException, RepositoryException
{
@@ -611,20 +500,13 @@
registerComponentImplementation(LocationFactory.class);
registerComponentImplementation(ValueFactoryImpl.class);
-
registerComponentImplementation(JcrNodeTypeDataPersister.class);
registerComponentImplementation(NamespaceDataPersister.class);
registerComponentImplementation(NamespaceRegistryImpl.class);
registerComponentImplementation(NodeTypeManagerImpl.class);
registerComponentImplementation(NodeTypeDataManagerImpl.class);
-
-
- //node types first
- addNamespaces();
- registerNodeTypes();
-
-
+
registerComponentImplementation(DefaultAccessManagerImpl.class);
registerComponentImplementation(SessionRegistry.class);
Modified: jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java
===================================================================
--- jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java 2009-10-05 11:18:42 UTC (rev 222)
+++ jcr/trunk/component/core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryServiceImpl.java 2009-10-05 12:20:44 UTC (rev 223)
@@ -145,8 +145,7 @@
if (repositoryContainers.containsKey(rEntry.getName()))
throw new RepositoryConfigurationException("Repository container " + rEntry.getName() + " already started");
- RepositoryContainer repositoryContainer =
- new RepositoryContainer(parentContainer, rEntry, addNodeTypePlugins, addNamespacesPlugins);
+ RepositoryContainer repositoryContainer = new RepositoryContainer(parentContainer, rEntry);
// Storing and starting the repository container under
// key=repository_name
@@ -159,7 +158,8 @@
config.getRepositoryConfigurations().add(rEntry);
}
- // registration Namespaces and NodeTypes moved to RepositoryContainer [AB]
+ addNamespaces(rEntry.getName());
+ registerNodeTypes(rEntry.getName());
// turn on Repository ONLINE
ManageableRepository mr =
@@ -283,6 +283,53 @@
managerStartChanges.cleanup();
}
+ private void addNamespaces() throws RepositoryException
+ {
+
+ for (RepositoryEntry repoConfig : config.getRepositoryConfigurations())
+ {
+ addNamespaces(repoConfig.getName());
+ }
+ }
+
+ private void addNamespaces(String repositoryName) throws RepositoryException
+ {
+
+ ManageableRepository repository = getRepository(repositoryName);
+ NamespaceRegistry nsRegistry = repository.getNamespaceRegistry();
+
+ for (int j = 0; j < addNamespacesPlugins.size(); j++)
+ {
+ AddNamespacesPlugin plugin = (AddNamespacesPlugin)addNamespacesPlugins.get(j);
+ Map<String, String> namespaces = plugin.getNamespaces();
+ try
+ {
+ for (Map.Entry<String, String> namespace : namespaces.entrySet())
+ {
+
+ String prefix = namespace.getKey();
+ String uri = namespace.getValue();
+
+ // register namespace if not found
+ try
+ {
+ nsRegistry.getURI(prefix);
+ }
+ catch (NamespaceException e)
+ {
+ nsRegistry.registerNamespace(prefix, uri);
+ }
+ if (log.isDebugEnabled())
+ log.debug("Namespace is registered " + prefix + " = " + uri);
+ }
+ }
+ catch (Exception e)
+ {
+ log.error("Error load namespaces ", e);
+ }
+ }
+ }
+
private void init(ExoContainer container) throws RepositoryConfigurationException, RepositoryException
{
this.parentContainer = container;
@@ -295,6 +342,69 @@
}
}
+ private void registerNodeTypes() throws RepositoryException
+ {
+ for (RepositoryEntry repoConfig : config.getRepositoryConfigurations())
+ {
+ registerNodeTypes(repoConfig.getName());
+ }
+ }
+
+ private void registerNodeTypes(String repositoryName) throws RepositoryException
+ {
+ ConfigurationManager configService =
+ (ConfigurationManager)parentContainer.getComponentInstanceOfType(ConfigurationManager.class);
+
+ ExtendedNodeTypeManager ntManager = getRepository(repositoryName).getNodeTypeManager();
+ //
+ for (int j = 0; j < addNodeTypePlugins.size(); j++)
+ {
+ AddNodeTypePlugin plugin = (AddNodeTypePlugin)addNodeTypePlugins.get(j);
+ List<String> autoNodeTypesFiles = plugin.getNodeTypesFiles(AddNodeTypePlugin.AUTO_CREATED);
+ if (autoNodeTypesFiles != null && autoNodeTypesFiles.size() > 0)
+ {
+ for (String nodeTypeFilesName : autoNodeTypesFiles)
+ {
+
+ InputStream inXml;
+ try
+ {
+ inXml = configService.getInputStream(nodeTypeFilesName);
+ }
+ catch (Exception e)
+ {
+ throw new RepositoryException(e);
+ }
+ if (log.isDebugEnabled())
+ log.debug("Trying register node types from xml-file " + nodeTypeFilesName);
+ ntManager.registerNodeTypes(inXml, ExtendedNodeTypeManager.IGNORE_IF_EXISTS);
+ if (log.isDebugEnabled())
+ log.debug("Node types is registered from xml-file " + nodeTypeFilesName);
+ }
+ List<String> defaultNodeTypesFiles = plugin.getNodeTypesFiles(repositoryName);
+ if (defaultNodeTypesFiles != null && defaultNodeTypesFiles.size() > 0)
+ {
+ for (String nodeTypeFilesName : defaultNodeTypesFiles)
+ {
+
+ InputStream inXml;
+ try
+ {
+ inXml = configService.getInputStream(nodeTypeFilesName);
+ }
+ catch (Exception e)
+ {
+ throw new RepositoryException(e);
+ }
+ log.info("Trying register node types (" + repositoryName + ") from xml-file " + nodeTypeFilesName);
+ ntManager.registerNodeTypes(inXml, ExtendedNodeTypeManager.IGNORE_IF_EXISTS);
+ log.info("Node types is registered (" + repositoryName + ") from xml-file " + nodeTypeFilesName);
+ }
+ }
+ }
+ }
+ }
+
/**
* Manager start changes plugins.
*/
14 years, 7 months
exo-jcr SVN: r222 - jcr/trunk.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2009-10-05 07:18:42 -0400 (Mon, 05 Oct 2009)
New Revision: 222
Modified:
jcr/trunk/pom.xml
Log:
EXOJCR-166: Support separated ear delivery
Temporary Commit
Modified: jcr/trunk/pom.xml
===================================================================
--- jcr/trunk/pom.xml 2009-10-05 11:10:20 UTC (rev 221)
+++ jcr/trunk/pom.xml 2009-10-05 11:18:42 UTC (rev 222)
@@ -38,10 +38,15 @@
<properties>
<exo.product.name>exo-jcr</exo.product.name>
<exo.product.specification>1.12</exo.product.specification>
-
+<!--
<org.exoplatform.kernel.version>2.2.0-Beta01</org.exoplatform.kernel.version>
<org.exoplatform.core.version>2.3.0-Beta01</org.exoplatform.core.version>
<org.exoplatform.ws.version>2.1.0-Beta01</org.exoplatform.ws.version>
+-->
+ <org.exoplatform.kernel.version>2.2.0-SNAPSHOT</org.exoplatform.kernel.version>
+ <org.exoplatform.core.version>2.3.0-SNAPSHOT</org.exoplatform.core.version>
+ <org.exoplatform.ws.version>2.1.0-SNAPSHOT</org.exoplatform.ws.version>
+
</properties>
<scm>
@@ -459,11 +464,17 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <skip>${exo.test.skip}</skip>
+ <useFile>${exo.test.use.file}</useFile>
+ <testFailureIgnore>${exo.test.failure.ignore}</testFailureIgnore>
+ <classesDirectory>${exo.test.classesdirectory}</classesDirectory>
+ <forkMode>${exo.test.forkMode}</forkMode>
<includes>
<include>**/${exo.test.includes}.java</include>
</includes>
<excludes>
<exclude>**/ftpclient/**/*.java</exclude>
+ <exclude>**/TestEncoding.java</exclude>
</excludes>
</configuration>
</plugin>
14 years, 7 months
exo-jcr SVN: r221 - ws/trunk.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2009-10-05 07:10:20 -0400 (Mon, 05 Oct 2009)
New Revision: 221
Modified:
ws/trunk/pom.xml
Log:
EXOJCR-166: Support separated ear delivery
Modified: ws/trunk/pom.xml
===================================================================
--- ws/trunk/pom.xml 2009-10-05 11:07:27 UTC (rev 220)
+++ ws/trunk/pom.xml 2009-10-05 11:10:20 UTC (rev 221)
@@ -45,8 +45,8 @@
<exo.product.name>exo-ws</exo.product.name>
<exo.product.specification>2.1</exo.product.specification>
- <org.exoplatform.kernel.version>2.2.0-Beta01</org.exoplatform.kernel.version>
- <org.exoplatform.core.version>2.3.0-Beta01</org.exoplatform.core.version>
+ <org.exoplatform.kernel.version>2.2.0-SNAPSHOT</org.exoplatform.kernel.version>
+ <org.exoplatform.core.version>2.3.0-SNAPSHOT</org.exoplatform.core.version>
<exo.test.includes>*Test*</exo.test.includes>
</properties>
14 years, 7 months
exo-jcr SVN: r220 - in jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web: fckeditor and 1 other directory.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2009-10-05 07:07:27 -0400 (Mon, 05 Oct 2009)
New Revision: 220
Modified:
jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/CommandControllerServlet.java
jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/DisplayJCRContentServlet.java
jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/ThreadLocalSessionProviderInitializedFilter.java
jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/fckeditor/JCRContentFCKeditor.java
Log:
EXOJCR-166: Support separated ear delivery
Modified: jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/CommandControllerServlet.java
===================================================================
--- jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/CommandControllerServlet.java 2009-10-05 11:06:46 UTC (rev 219)
+++ jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/CommandControllerServlet.java 2009-10-05 11:07:27 UTC (rev 220)
@@ -20,16 +20,19 @@
import org.apache.commons.chain.Command;
import org.exoplatform.container.ExoContainer;
-import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.frameworks.jcr.command.web.GenericWebAppContext;
import org.exoplatform.services.command.impl.CommandService;
import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.ext.app.SessionProviderService;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
import java.io.IOException;
import javax.jcr.RepositoryException;
+import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
@@ -42,19 +45,31 @@
* @version $Id: CommandControllerServlet.java 14756 2008-05-26 14:47:15Z pnedonosko $
*/
+@SuppressWarnings("serial")
public class CommandControllerServlet extends HttpServlet
{
+ private static Log log = ExoLogger.getLogger("jcr:CommandControllerServlet");
+
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException
{
- ExoContainer container = (ExoContainer)getServletContext().getAttribute(WebConstants.EXO_CONTAINER);
+ ServletContext servletCtx = getServletContext();
+ ExoContainer container = (ExoContainer)servletCtx.getAttribute(WebConstants.EXO_CONTAINER);
+ final ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
+ boolean hasChanged = false;
+ ClassLoader pcClassLoader = null;
if (container == null)
{
- String portalName = getServletContext().getServletContextName();
- container = ExoContainerContext.getCurrentContainer();
+ container = PortalContainer.getCurrentInstance(servletCtx);
+ if (container instanceof PortalContainer)
+ {
+ PortalContainer pc = (PortalContainer)container;
+ pcClassLoader = pc.getPortalClassLoader();
+ servletCtx = pc.getPortalContext();
+ }
}
SessionProviderService sessionProviderService =
@@ -67,7 +82,7 @@
try
{
ctx =
- new GenericWebAppContext(getServletContext(), request, response, sessionProviderService
+ new GenericWebAppContext(servletCtx, request, response, sessionProviderService
.getSessionProvider(null), // null for
// ThreadLocalSessionProvider
repositoryService.getDefaultRepository());
@@ -112,13 +127,27 @@
throw new ServletException("No Command found " + commandName);
try
{
+ if (pcClassLoader != null)
+ {
+ // Set the portal classloader to get all the resources defined within the portal context
+ Thread.currentThread().setContextClassLoader(pcClassLoader);
+ hasChanged = true;
+ }
cmd.execute(ctx);
}
catch (Exception e)
{
- e.printStackTrace();
+ log.error("An error occurs while executing the command " + commandName, e);
throw new ServletException(e);
}
+ finally
+ {
+ if (hasChanged)
+ {
+ // Re-set the old classloader
+ Thread.currentThread().setContextClassLoader(currentClassLoader);
+ }
+ }
}
}
Modified: jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/DisplayJCRContentServlet.java
===================================================================
--- jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/DisplayJCRContentServlet.java 2009-10-05 11:06:46 UTC (rev 219)
+++ jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/DisplayJCRContentServlet.java 2009-10-05 11:07:27 UTC (rev 220)
@@ -20,7 +20,7 @@
import org.apache.commons.chain.Command;
import org.exoplatform.container.ExoContainer;
-import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.frameworks.jcr.command.web.GenericWebAppContext;
import org.exoplatform.services.command.impl.CommandService;
import org.exoplatform.services.jcr.RepositoryService;
@@ -57,8 +57,7 @@
ExoContainer container = (ExoContainer)getServletContext().getAttribute(WebConstants.EXO_CONTAINER);
if (container == null)
{
- String portalName = getServletContext().getServletContextName();
- container = ExoContainerContext.getCurrentContainer();
+ container = PortalContainer.getCurrentInstance(getServletContext());
}
SessionProviderService sessionProviderService =
Modified: jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/ThreadLocalSessionProviderInitializedFilter.java
===================================================================
--- jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/ThreadLocalSessionProviderInitializedFilter.java 2009-10-05 11:06:46 UTC (rev 219)
+++ jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/ThreadLocalSessionProviderInitializedFilter.java 2009-10-05 11:07:27 UTC (rev 220)
@@ -19,7 +19,7 @@
package org.exoplatform.frameworks.jcr.web;
import org.exoplatform.container.ExoContainer;
-import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.web.AbstractFilter;
import org.exoplatform.services.jcr.ext.app.SessionProviderService;
import org.exoplatform.services.jcr.ext.common.SessionProvider;
import org.exoplatform.services.log.ExoLogger;
@@ -31,9 +31,7 @@
import java.io.IOException;
-import javax.servlet.Filter;
import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -49,7 +47,7 @@
* @author Gennady Azarenkov
* @version $Id: $
*/
-public class ThreadLocalSessionProviderInitializedFilter implements Filter
+public class ThreadLocalSessionProviderInitializedFilter extends AbstractFilter
{
private ConversationRegistry stateRegistry;
@@ -60,14 +58,6 @@
/*
* (non-Javadoc)
- * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
- */
- public void init(FilterConfig config) throws ServletException
- {
- }
-
- /*
- * (non-Javadoc)
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse,
* javax.servlet.FilterChain)
*/
@@ -75,7 +65,7 @@
ServletException
{
- ExoContainer container = ExoContainerContext.getCurrentContainer();
+ ExoContainer container = getContainer();
providerService = (SessionProviderService)container.getComponentInstanceOfType(SessionProviderService.class);
stateRegistry = (ConversationRegistry)container.getComponentInstanceOfType(ConversationRegistry.class);
Modified: jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/fckeditor/JCRContentFCKeditor.java
===================================================================
--- jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/fckeditor/JCRContentFCKeditor.java 2009-10-05 11:06:46 UTC (rev 219)
+++ jcr/trunk/frameworks/web/src/main/java/org/exoplatform/frameworks/jcr/web/fckeditor/JCRContentFCKeditor.java 2009-10-05 11:07:27 UTC (rev 220)
@@ -19,7 +19,7 @@
package org.exoplatform.frameworks.jcr.web.fckeditor;
import org.exoplatform.container.ExoContainer;
-import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.frameworks.jcr.web.WebConstants;
import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.core.ManageableRepository;
@@ -56,11 +56,8 @@
ExoContainer container =
(ExoContainer)req.getSession().getServletContext().getAttribute(WebConstants.EXO_CONTAINER);
if (container == null)
- { // this
- String portalName = req.getSession().getServletContext().getServletContextName(); // req.
- // getContextPath
- // ();
- container = ExoContainerContext.getCurrentContainer();
+ {
+ container = PortalContainer.getCurrentInstance(req.getSession().getServletContext());
}
SessionProviderService sessionProviderService =
14 years, 7 months
exo-jcr SVN: r219 - jcr/trunk/frameworks/command/src/main/java/org/exoplatform/frameworks/jcr/command/web/fckeditor.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2009-10-05 07:06:46 -0400 (Mon, 05 Oct 2009)
New Revision: 219
Modified:
jcr/trunk/frameworks/command/src/main/java/org/exoplatform/frameworks/jcr/command/web/fckeditor/AbstractFCKConnector.java
Log:
EXOJCR-166: Support separated ear delivery
Modified: jcr/trunk/frameworks/command/src/main/java/org/exoplatform/frameworks/jcr/command/web/fckeditor/AbstractFCKConnector.java
===================================================================
--- jcr/trunk/frameworks/command/src/main/java/org/exoplatform/frameworks/jcr/command/web/fckeditor/AbstractFCKConnector.java 2009-10-05 11:05:46 UTC (rev 218)
+++ jcr/trunk/frameworks/command/src/main/java/org/exoplatform/frameworks/jcr/command/web/fckeditor/AbstractFCKConnector.java 2009-10-05 11:06:46 UTC (rev 219)
@@ -18,6 +18,9 @@
*/
package org.exoplatform.frameworks.jcr.command.web.fckeditor;
+import org.exoplatform.container.ExoContainer;
+import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.frameworks.jcr.command.web.GenericWebAppContext;
/**
@@ -65,7 +68,18 @@
*/
protected String makeRESTPath(String repoName, String workspace, String resource)
{
- return "/rest/jcr/" + repoName + "/" + workspace + resource;
+ final StringBuilder sb = new StringBuilder(512);
+ ExoContainer container = ExoContainerContext.getCurrentContainerIfPresent();
+ if (container instanceof PortalContainer)
+ {
+ PortalContainer pContainer = (PortalContainer)container;
+ sb.append('/').append(pContainer.getRestContextName()).append('/');
+ }
+ else
+ {
+ sb.append('/').append(PortalContainer.DEFAULT_REST_CONTEXT_NAME).append('/');
+ }
+ return sb.append("jcr/").append(repoName).append('/').append(workspace).append(resource).toString();
}
}
14 years, 7 months
exo-jcr SVN: r218 - jcr/trunk/component/webdav/src/main/java/org/exoplatform/services/jcr/webdav.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2009-10-05 07:05:46 -0400 (Mon, 05 Oct 2009)
New Revision: 218
Modified:
jcr/trunk/component/webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDAVApplication.java
Log:
EXOJCR-166: Support separated ear delivery
Modified: jcr/trunk/component/webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDAVApplication.java
===================================================================
--- jcr/trunk/component/webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDAVApplication.java 2009-10-05 11:04:40 UTC (rev 217)
+++ jcr/trunk/component/webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDAVApplication.java 2009-10-05 11:05:46 UTC (rev 218)
@@ -20,6 +20,7 @@
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.container.RootContainer;
import org.exoplatform.services.rest.ext.provider.HierarchicalPropertyEntityProvider;
@@ -103,7 +104,7 @@
*/
protected String getPortalContainerName()
{
- return "portal";
+ return PortalContainer.DEFAULT_PORTAL_CONTAINER_NAME;
}
}
14 years, 7 months
exo-jcr SVN: r217 - in jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp: client and 1 other directories.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2009-10-05 07:04:40 -0400 (Mon, 05 Oct 2009)
New Revision: 217
Modified:
jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java
jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java
jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientCommandThread.java
jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfig.java
jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfigImpl.java
Log:
EXOJCR-166: Support separated ear delivery
Modified: jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java
===================================================================
--- jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java 2009-10-05 11:03:36 UTC (rev 216)
+++ jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java 2009-10-05 11:04:40 UTC (rev 217)
@@ -32,6 +32,7 @@
import java.io.File;
import java.io.InputStream;
+import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
@@ -109,7 +110,21 @@
{
prepareCache();
- ServerSocket serverSocket = new ServerSocket(configuration.getCommandPort());
+ ServerSocket serverSocket = null;
+ int port = configuration.getCommandPort();
+ // Trying to find a port available
+ while (serverSocket == null)
+ {
+ try
+ {
+ serverSocket = new ServerSocket(port);
+ log.info("FTPServer started on port '" + port + "'");
+ }
+ catch (BindException e)
+ {
+ log.warn("Cannot launch the FTPServer on '" + (port++) + "', we try the next port number");
+ }
+ }
dataChannelManager = new FtpDataChannelManagerImpl(configuration);
Modified: jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java
===================================================================
--- jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java 2009-10-05 11:03:36 UTC (rev 216)
+++ jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java 2009-10-05 11:04:40 UTC (rev 217)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.ftp;
+import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.services.command.impl.CommandService;
import org.exoplatform.services.ftp.config.FtpConfig;
@@ -46,12 +47,13 @@
private FtpConfig config = null;
- public FtpServiceImpl(InitParams params, CommandService commandService, RepositoryService repositoryService)
+ public FtpServiceImpl(InitParams params, CommandService commandService, RepositoryService repositoryService,
+ ExoContainerContext context)
{
this.commandService = commandService;
this.repositoryService = repositoryService;
- config = new FtpConfigImpl(params);
+ config = new FtpConfigImpl(context, params);
}
public void start()
Modified: jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientCommandThread.java
===================================================================
--- jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientCommandThread.java 2009-10-05 11:03:36 UTC (rev 216)
+++ jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientCommandThread.java 2009-10-05 11:04:40 UTC (rev 217)
@@ -50,92 +50,96 @@
public void run()
{
- String portalContainerName = clientSession.getFtpServer().getConfiguration().getPortalContainerName();
+ ExoContainer container = clientSession.getFtpServer().getConfiguration().getPortalContainer();
- ExoContainer container = ExoContainerContext.getContainerByName(portalContainerName);
if (container == null)
{
if (log.isDebugEnabled())
{
- log.debug("Container " + portalContainerName + " not found.");
+ log.debug("No Portal Container found.");
}
container = ExoContainerContext.getTopContainer();
}
- ExoContainerContext.setCurrentContainer(container);
+ try
+ {
+ ExoContainerContext.setCurrentContainer(container);
- while (true)
- {
- try
+ while (true)
{
- String command = readLine();
-
- if (command == null)
+ try
{
- break;
- }
+ String command = readLine();
- if (!"".equals(command))
- {
- String logStr = "";
- String[] comms = command.split(" ");
+ if (command == null)
+ {
+ break;
+ }
- FtpCommand curCommand = clientSession.getFtpServer().getCommand(comms[0].toUpperCase());
+ if (!"".equals(command))
+ {
+ String logStr = "";
+ String[] comms = command.split(" ");
- logStr = comms[0].toUpperCase();
+ FtpCommand curCommand = clientSession.getFtpServer().getCommand(comms[0].toUpperCase());
- if (curCommand != null)
- {
- if (comms.length > 1)
+ logStr = comms[0].toUpperCase();
+
+ if (curCommand != null)
{
- for (int i = 2; i < comms.length; i++)
+ if (comms.length > 1)
{
- if ("".equals(comms[i]))
+ for (int i = 2; i < comms.length; i++)
{
- comms[1] += " ";
+ if ("".equals(comms[i]))
+ {
+ comms[1] += " ";
+ }
+ else
+ {
+ comms[1] += " " + comms[i];
+ }
}
- else
- {
- comms[1] += " " + comms[i];
- }
+
+ logStr += " " + comms[1];
}
- logStr += " " + comms[1];
+ FtpContext ftpContext = new FtpContext(clientSession, comms);
+ curCommand.execute(ftpContext);
}
+ else
+ {
+ clientSession.reply(String.format(FtpConst.Replyes.REPLY_500, comms[0].toUpperCase()));
+ clientSession.setPrevCommand(null);
+ }
- FtpContext ftpContext = new FtpContext(clientSession, comms);
- curCommand.execute(ftpContext);
}
- else
- {
- clientSession.reply(String.format(FtpConst.Replyes.REPLY_500, comms[0].toUpperCase()));
- clientSession.setPrevCommand(null);
- }
-
}
+ catch (SocketException exc)
+ {
+ break;
+ }
+ catch (Exception exc)
+ {
+ log.info("Unhandled exception. " + exc.getMessage(), exc);
+ break;
+ }
}
- catch (SocketException exc)
+
+ try
{
- break;
+ clientSession.logout();
}
catch (Exception exc)
{
log.info("Unhandled exception. " + exc.getMessage(), exc);
- break;
}
}
-
- try
+ finally
{
- clientSession.logout();
+ ExoContainerContext.setCurrentContainer(null);
}
- catch (Exception exc)
- {
- log.info("Unhandled exception. " + exc.getMessage(), exc);
- }
- ExoContainerContext.setCurrentContainer(null);
-
}
protected String readLine() throws Exception
Modified: jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfig.java
===================================================================
--- jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfig.java 2009-10-05 11:03:36 UTC (rev 216)
+++ jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfig.java 2009-10-05 11:04:40 UTC (rev 217)
@@ -18,6 +18,8 @@
*/
package org.exoplatform.services.ftp.config;
+import org.exoplatform.container.PortalContainer;
+
/**
* Created by The eXo Platform SAS Author : Vitaly Guly <gavrik-vetal(a)ukr.net/mail.ru>
*
@@ -57,6 +59,6 @@
int getTimeOut();
- String getPortalContainerName();
+ PortalContainer getPortalContainer();
}
Modified: jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfigImpl.java
===================================================================
--- jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfigImpl.java 2009-10-05 11:03:36 UTC (rev 216)
+++ jcr/trunk/component/ftp/src/main/java/org/exoplatform/services/ftp/config/FtpConfigImpl.java 2009-10-05 11:04:40 UTC (rev 217)
@@ -18,6 +18,9 @@
*/
package org.exoplatform.services.ftp.config;
+import org.exoplatform.container.ExoContainer;
+import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.container.xml.ValueParam;
import org.exoplatform.services.ftp.FtpConst;
@@ -95,11 +98,6 @@
public static final String INIT_PARAM_TIME_OUT = "timeout";
/**
- * Portal container name.
- */
- public static final String PORTAL_CONTAINER_NAME = "portalContainerName";
-
- /**
* Command port.
*/
private int _commandPort = 21;
@@ -180,16 +178,16 @@
protected boolean ENABLE_TRACE = true;
/**
- * Container name.
+ * Portal Container.
*/
- protected String portalContainerName = null;
+ protected PortalContainer _portalContainer;
/**
* Constructor.
*
* @param InitParams
*/
- public FtpConfigImpl(InitParams params)
+ public FtpConfigImpl(ExoContainerContext context, InitParams params)
{
ValueParam pCommandPort = params.getValueParam(INIT_PARAM_COMMAND_PORT);
@@ -267,8 +265,11 @@
_timeOutValue = new Integer(pTimeOut.getValue());
}
- ValueParam pPortalContainerName = params.getValueParam(PORTAL_CONTAINER_NAME);
- portalContainerName = pPortalContainerName != null ? pPortalContainerName.getValue() : "portal";
+ ExoContainer container = context.getContainer();
+ if (container instanceof PortalContainer)
+ {
+ _portalContainer = ((PortalContainer)container);
+ }
if (log.isDebugEnabled())
{
@@ -378,9 +379,9 @@
return _timeOutValue;
}
- public String getPortalContainerName()
+ public PortalContainer getPortalContainer()
{
- return portalContainerName;
+ return _portalContainer;
}
}
14 years, 7 months