exo-jcr SVN: r3137 - in jcr/trunk: exo.jcr.docs and 1 other directory.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-09-20 10:26:30 -0400 (Mon, 20 Sep 2010)
New Revision: 3137
Added:
jcr/trunk/exo.jcr.docs/
Removed:
jcr/trunk/docs/
Modified:
jcr/trunk/exo.jcr.docs/pom.xml
jcr/trunk/pom.xml
Log:
EXOJCR-910: docs renamed to exo.jcr.docs
Copied: jcr/trunk/exo.jcr.docs (from rev 3136, jcr/trunk/docs)
Modified: jcr/trunk/exo.jcr.docs/pom.xml
===================================================================
--- jcr/trunk/docs/pom.xml 2010-09-20 14:10:49 UTC (rev 3136)
+++ jcr/trunk/exo.jcr.docs/pom.xml 2010-09-20 14:26:30 UTC (rev 3137)
@@ -26,7 +26,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>docs</artifactId>
+ <artifactId>exo.jcr.docs</artifactId>
<name>eXo JCR :: Documentation :: Reactor</name>
<packaging>pom</packaging>
Modified: jcr/trunk/pom.xml
===================================================================
--- jcr/trunk/pom.xml 2010-09-20 14:10:49 UTC (rev 3136)
+++ jcr/trunk/pom.xml 2010-09-20 14:26:30 UTC (rev 3137)
@@ -1,471 +1,471 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.exoplatform</groupId>
- <artifactId>foundation-parent</artifactId>
- <version>7</version>
- </parent>
-
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>jcr-parent</artifactId>
- <version>1.14.0-CR1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>eXo JCR</name>
-
- <scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/exo-jcr/jcr/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/exo-jcr/jcr/trunk</developerConnection>
- <url>http://fisheye.jboss.org/browse/exo-jcr/jcr/trunk</url>
- </scm>
-
- <properties>
- <exo.product.name>exo-jcr</exo.product.name>
- <exo.product.specification>1.14</exo.product.specification>
- <org.exoplatform.kernel.version>2.3.0-CR1-SNAPSHOT</org.exoplatform.kernel.version>
- <org.exoplatform.core.version>2.4.0-CR1-SNAPSHOT</org.exoplatform.core.version>
- <org.exoplatform.ws.version>2.2.0-CR1-SNAPSHOT</org.exoplatform.ws.version>
- <org.exoplatform.doc-style.version>1</org.exoplatform.doc-style.version>
- </properties>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.commons</artifactId>
- <version>${org.exoplatform.kernel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.commons.test</artifactId>
- <version>${org.exoplatform.kernel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.component.command</artifactId>
- <version>${org.exoplatform.kernel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.container</artifactId>
- <version>${org.exoplatform.kernel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.component.common</artifactId>
- <version>${org.exoplatform.kernel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.component.cache</artifactId>
- <version>${org.exoplatform.kernel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.document</artifactId>
- <version>${org.exoplatform.core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.organization.api</artifactId>
- <version>${org.exoplatform.core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.security.core</artifactId>
- <version>${org.exoplatform.core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.script.groovy</artifactId>
- <version>${org.exoplatform.core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.ws</groupId>
- <artifactId>exo.ws.rest.core</artifactId>
- <version>${org.exoplatform.ws.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.ws</groupId>
- <artifactId>exo.ws.rest.ext</artifactId>
- <version>${org.exoplatform.ws.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.ws</groupId>
- <artifactId>exo.ws.commons</artifactId>
- <version>${org.exoplatform.ws.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.ws</groupId>
- <artifactId>exo.ws.frameworks.json</artifactId>
- <version>${org.exoplatform.ws.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.ws</groupId>
- <artifactId>exo.ws.frameworks.servlet</artifactId>
- <version>${org.exoplatform.ws.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.component.ext</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.component.core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.framework.command</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.component.ftp</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.component.webdav</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.framework.web</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.framework.ftpclient</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.cluster.testclient</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.applications.fckeditor</artifactId>
- <version>${project.version}</version>
- <type>war</type>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.applications.browser</artifactId>
- <version>${project.version}</version>
- <type>war</type>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.applications.rest</artifactId>
- <version>${project.version}</version>
- <type>war</type>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.connectors.localadapter</artifactId>
- <type>rar</type>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>commons-chain</groupId>
- <artifactId>commons-chain</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.jibx</groupId>
- <artifactId>jibx-run</artifactId>
- <version>1.2.1</version>
- </dependency>
- <dependency>
- <groupId>picocontainer</groupId>
- <artifactId>picocontainer</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- <version>1.0.b2</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.5.8</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.5.8</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>javax.annotation</groupId>
- <artifactId>jsr250-api</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>jta</artifactId>
- <version>1.0.1B</version>
- </dependency>
- <dependency>
- <groupId>javax.resource</groupId>
- <artifactId>connector-api</artifactId>
- <version>1.5</version>
- </dependency>
- <dependency>
- <groupId>jtidy</groupId>
- <artifactId>jtidy</artifactId>
- <version>4aug2000r7-dev</version>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-core</artifactId>
- <version>2.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-spellchecker</artifactId>
- <version>2.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-memory</artifactId>
- <version>2.4.1</version>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.stream</groupId>
- <artifactId>sjsxp</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <version>1.2.2</version>
- <exclusions>
- <exclusion>
- <groupId>commons-pool</groupId>
- <artifactId>commons-pool</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-pool</groupId>
- <artifactId>commons-pool</artifactId>
- <version>1.5.4</version>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.8.0</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- <version>1.1.3.4.O</version>
- </dependency>
- <dependency>
- <groupId>concurrent</groupId>
- <artifactId>concurrent</artifactId>
- <version>1.3.4</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons</groupId>
- <artifactId>ws-commons-util</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-jcr-tests</artifactId>
- <version>1.6.0</version>
- <classifier>sources</classifier>
- </dependency>
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.8.0.7</version>
- </dependency>
- <dependency>
- <groupId>jgroups</groupId>
- <artifactId>jgroups</artifactId>
- <version>2.6.13.GA</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.2.1</version>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- <version>2.1.7</version>
- </dependency>
- <dependency>
- <groupId>javax.resource</groupId>
- <artifactId>connector</artifactId>
- <version>1.5</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.3</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-core</artifactId>
- <version>3.2.6.GA</version>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossjts</artifactId>
- <version>4.6.1.GA</version>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossts-common</artifactId>
- <version>4.6.1.GA</version>
- </dependency>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjrt</artifactId>
- <version>1.6.8</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- <include>**/*.xsl</include>
- <include>**/*.properties</include>
- <include>**/*.ion</include>
- <include>**/*.conf</include>
- <include>**/*.config</include>
- </includes>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*.xml</include>
- <include>**/*.xsl</include>
- <include>**/*.properties</include>
- <include>**/login.conf</include>
- <include>**/*.ion</include>
- <include>**/*.conf</include>
- <include>**/*.config</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/test/java</directory>
- <includes>
- <include>**/*.properties</include>
- <include>**/*.xml</include>
- <include>**/*.txt</include>
- <include>**/*.conf</include>
- <include>**/*.config</include>
- </includes>
- </testResource>
- <testResource>
- <directory>src/test/resources</directory>
- <includes>
- <include>**/*.properties</include>
- <include>**/*.xml</include>
- <include>**/*.txt</include>
- <include>**/*.conf</include>
- <include>**/*.config</include>
- </includes>
- </testResource>
- </testResources>
- </build>
- <modules>
- <module>exo.jcr.component.core</module>
- <module>exo.jcr.component.statistics</module>
- <module>exo.jcr.component.ext</module>
- <module>exo.jcr.component.ftp</module>
- <module>exo.jcr.component.webdav</module>
- <module>exo.jcr.connectors.localadapter</module>
- <module>exo.jcr.framework.command</module>
- <module>exo.jcr.framework.web</module>
- <module>exo.jcr.framework.ftpclient</module>
- <module>applications</module>
- <module>docs</module>
- <module>packaging/module</module>
- </modules>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (C) 2009 eXo Platform SAS.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.exoplatform</groupId>
+ <artifactId>foundation-parent</artifactId>
+ <version>7</version>
+ </parent>
+
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>jcr-parent</artifactId>
+ <version>1.14.0-CR1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>eXo JCR</name>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/exo-jcr/jcr/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/exo-jcr/jcr/trunk</developerConnection>
+ <url>http://fisheye.jboss.org/browse/exo-jcr/jcr/trunk</url>
+ </scm>
+
+ <properties>
+ <exo.product.name>exo-jcr</exo.product.name>
+ <exo.product.specification>1.14</exo.product.specification>
+ <org.exoplatform.kernel.version>2.3.0-CR1-SNAPSHOT</org.exoplatform.kernel.version>
+ <org.exoplatform.core.version>2.4.0-CR1-SNAPSHOT</org.exoplatform.core.version>
+ <org.exoplatform.ws.version>2.2.0-CR1-SNAPSHOT</org.exoplatform.ws.version>
+ <org.exoplatform.doc-style.version>1</org.exoplatform.doc-style.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.commons</artifactId>
+ <version>${org.exoplatform.kernel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.commons.test</artifactId>
+ <version>${org.exoplatform.kernel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.component.command</artifactId>
+ <version>${org.exoplatform.kernel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.container</artifactId>
+ <version>${org.exoplatform.kernel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.component.common</artifactId>
+ <version>${org.exoplatform.kernel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.component.cache</artifactId>
+ <version>${org.exoplatform.kernel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.document</artifactId>
+ <version>${org.exoplatform.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.organization.api</artifactId>
+ <version>${org.exoplatform.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.security.core</artifactId>
+ <version>${org.exoplatform.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.script.groovy</artifactId>
+ <version>${org.exoplatform.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.ws</groupId>
+ <artifactId>exo.ws.rest.core</artifactId>
+ <version>${org.exoplatform.ws.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.ws</groupId>
+ <artifactId>exo.ws.rest.ext</artifactId>
+ <version>${org.exoplatform.ws.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.ws</groupId>
+ <artifactId>exo.ws.commons</artifactId>
+ <version>${org.exoplatform.ws.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.ws</groupId>
+ <artifactId>exo.ws.frameworks.json</artifactId>
+ <version>${org.exoplatform.ws.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.ws</groupId>
+ <artifactId>exo.ws.frameworks.servlet</artifactId>
+ <version>${org.exoplatform.ws.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.component.ext</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.component.core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.framework.command</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.component.ftp</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.component.webdav</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.framework.web</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.framework.ftpclient</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.cluster.testclient</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.applications.fckeditor</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.applications.browser</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.applications.rest</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.connectors.localadapter</artifactId>
+ <type>rar</type>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-chain</groupId>
+ <artifactId>commons-chain</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jibx</groupId>
+ <artifactId>jibx-run</artifactId>
+ <version>1.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>picocontainer</groupId>
+ <artifactId>picocontainer</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>1.0.b2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.5.8</version>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>jsr250-api</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.ws.rs</groupId>
+ <artifactId>jsr311-api</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ <version>1.0.1B</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.resource</groupId>
+ <artifactId>connector-api</artifactId>
+ <version>1.5</version>
+ </dependency>
+ <dependency>
+ <groupId>jtidy</groupId>
+ <artifactId>jtidy</artifactId>
+ <version>4aug2000r7-dev</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-core</artifactId>
+ <version>2.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-spellchecker</artifactId>
+ <version>2.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-memory</artifactId>
+ <version>2.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.stream</groupId>
+ <artifactId>sjsxp</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.2.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ <version>1.5.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.8.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ <version>1.1.3.4.O</version>
+ </dependency>
+ <dependency>
+ <groupId>concurrent</groupId>
+ <artifactId>concurrent</artifactId>
+ <version>1.3.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ws.commons</groupId>
+ <artifactId>ws-commons-util</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-tests</artifactId>
+ <version>1.6.0</version>
+ <classifier>sources</classifier>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.7</version>
+ </dependency>
+ <dependency>
+ <groupId>jgroups</groupId>
+ <artifactId>jgroups</artifactId>
+ <version>2.6.13.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>2.1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.resource</groupId>
+ <artifactId>connector</artifactId>
+ <version>1.5</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-core</artifactId>
+ <version>3.2.6.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjts</artifactId>
+ <version>4.6.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossts-common</artifactId>
+ <version>4.6.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>1.6.8</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.xsl</include>
+ <include>**/*.properties</include>
+ <include>**/*.ion</include>
+ <include>**/*.conf</include>
+ <include>**/*.config</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.xsl</include>
+ <include>**/*.properties</include>
+ <include>**/login.conf</include>
+ <include>**/*.ion</include>
+ <include>**/*.conf</include>
+ <include>**/*.config</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/java</directory>
+ <includes>
+ <include>**/*.properties</include>
+ <include>**/*.xml</include>
+ <include>**/*.txt</include>
+ <include>**/*.conf</include>
+ <include>**/*.config</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*.properties</include>
+ <include>**/*.xml</include>
+ <include>**/*.txt</include>
+ <include>**/*.conf</include>
+ <include>**/*.config</include>
+ </includes>
+ </testResource>
+ </testResources>
+ </build>
+ <modules>
+ <module>exo.jcr.component.core</module>
+ <module>exo.jcr.component.statistics</module>
+ <module>exo.jcr.component.ext</module>
+ <module>exo.jcr.component.ftp</module>
+ <module>exo.jcr.component.webdav</module>
+ <module>exo.jcr.connectors.localadapter</module>
+ <module>exo.jcr.framework.command</module>
+ <module>exo.jcr.framework.web</module>
+ <module>exo.jcr.framework.ftpclient</module>
+ <module>applications</module>
+ <module>exo.jcr.docs</module>
+ <module>packaging/module</module>
+ </modules>
+</project>
15 years, 8 months
exo-jcr SVN: r3136 - in jcr/trunk/docs: exo.jcr.docs.developer and 23 other directories.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-09-20 10:10:49 -0400 (Mon, 20 Sep 2010)
New Revision: 3136
Added:
jcr/trunk/docs/exo.jcr.docs.developer/
jcr/trunk/docs/exo.jcr.docs.developer/en/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/tika-document-reader-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/listener-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/
Removed:
jcr/trunk/docs/exo.jcr.docs.developer/en/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/
jcr/trunk/docs/reference/
jcr/trunk/docs/userguide/
Modified:
jcr/trunk/docs/
jcr/trunk/docs/exo.jcr.docs.developer/en/build.cmd
jcr/trunk/docs/exo.jcr.docs.developer/en/pom.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/master.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/conversationstate-when-membership-changed.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/core.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-configuration-hibernate.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-creator-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-schema-creator-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/ldap-configuration.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/organization-service-initalizer.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/organization-service-listener.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/organization-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/security-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/spring-security-integration.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq/jcr-faq.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gatein.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn/how-to-extend-my-gatein-instance.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn/managed-datasources-under-jboss-as.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/backup-client.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/exojcr-backup-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/search-index-backup.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/cluster-config.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-advantages.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-applications.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-compatibility-levels.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-exo-implementation.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-extensions.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-namespace-altering.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-registry-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-usage.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/nodetype-registration.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/nodetypes-and-namespaces.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/why-jcr.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/configuration-persister.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/exo-jcr-configuration.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/external-value-storages.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/multilanguage-support.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/rest-services-on-groovy.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/search-configuration.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/workspace-persistence-storage.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container-howto.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/intro.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/jbosscache-configuration-templates.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/jbossts-transaction-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/lock-manager-config.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/acl-ext.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/acl.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/binary-values-processing.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/jcr-resources.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/link-producer.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/performance-tuning-guide.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols/ftp.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols/webdav.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/aggregation-rule.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/and-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/child-node-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/date-property-comparison.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/escaping-like-statements.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/exact-path-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-all-descendant-nodes.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-all-nodes.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-nodes-by-mixin-type.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-nodes-by-primary-type.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-nodes-case-insensitive.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-similar-nodes.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/fulltext-search-and-settings.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/fulltext-search-by-all-properties.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/fulltext-search-by-property.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/higlight.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/ignore-accent-symbols.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/index-boost-value.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/jcr-query-usecases.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/like-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/multivalue-property-comparison.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/node-name-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/node-scope-index.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/not-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/offset-and-limit.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/or-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-descendant.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-path-or-name.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-property.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-score.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/property-comparison.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/property-existance-constraint.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/regexp-indexing-rule.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/searching-repository-content.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/spell-checker.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/synonim-provider.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/tip-nodename-with-number.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/statistics.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/transaction-manager-lookup.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/cache.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/component-plugin-priority.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/container-configuration.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/exo-container.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/initialcontext-binder-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/inversion-of-control.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/jndi-naming.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/job-scheduler-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/kernel.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/logging.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/manageability.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/service-configuration-for-beginners.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/service-configuration-in-detail.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/services-wiring.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/transaction-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/understanding-listnerservice.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/framework-for-cross-domain-ajax.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/groovy-scripts-as-rest-services.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/introduction-to-rest.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/restservicelist-service.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/ws.xml
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/TomcatLibFolder.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/ajax-how-it-works.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/ajax.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/cometd-bench.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/cometd-cluster.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/JCR-Application2.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/exojcr.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/interceptor.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/jcr-490x333.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/jcr-applications.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/level_1.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/level_2.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/optional.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/wsdatamodel.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-cache-structure.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-jcr-cluster.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-shared-index.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/groovy-console1.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/groovy-console2.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/groovy-console3.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/hierarchy.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/ioc.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/item-hierarchy.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/javascript-webdav.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/jconsole.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/jconsole2.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/login-page.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/oauth-scheme.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/organization-exo.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/acl-ext.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/acl.gif
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/binaryvalue.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer1.JPG
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer2.JPG
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer3.JPG
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer4.JPG
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/perf_EC2_results.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/perf_EC2_results_2.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_davexplorer.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_explorer.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_msoffice2003.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_ubuntulinux.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_xythosdrive.jpg
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-build-process.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-run-process.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-scheme-detailed.png
jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-scheme.png
jcr/trunk/docs/exo.jcr.docs.developer/pom.xml
jcr/trunk/docs/pom.xml
Log:
EXOJCR-910: trunk/docs synchronized with branch-1.12.x/exo.jcr.docs
Property changes on: jcr/trunk/docs
___________________________________________________________________
Name: svn:ignore
+ .settings
.project
.classpath
.idea
*.iml
*.ipr
*.iws
temp
bin
target
Copied: jcr/trunk/docs/exo.jcr.docs.developer (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer)
Property changes on: jcr/trunk/docs/exo.jcr.docs.developer
___________________________________________________________________
Name: svn:ignore
+ .settings
.project
.classpath
.idea
*.iml
*.ipr
*.iws
temp
bin
target
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en)
Property changes on: jcr/trunk/docs/exo.jcr.docs.developer/en
___________________________________________________________________
Name: svn:ignore
+ .settings
.project
.classpath
.idea
*.iml
*.ipr
*.iws
temp
bin
target
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/build.cmd
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/pom.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/pom.xml 2010-09-20 09:46:37 UTC (rev 3135)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/pom.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -1,127 +1,127 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.docs.developer</artifactId>
- <version>1.12.5-GA-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>reference-docs-${translation}</artifactId>
-
- <name>eXo JCR :: Developer Documentation :: Reference (${translation})</name>
- <packaging>jdocbook</packaging>
-
- <properties>
- <translation>en</translation>
- <enforcer.skip>true</enforcer.skip>
- </properties>
-
- <build>
- <finalName>${project.parent.artifactId}_${translation}-${version}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- <!-- version>1.0-beta-2</version -->
- </plugin>
-
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.1.1</version>
- <extensions>true</extensions>
- <dependencies>
- <dependency>
- <groupId>org.exoplatform.doc</groupId>
- <artifactId>exo-docbook-xslt</artifactId>
- <version>${org.exoplatform.doc-style.version}</version>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.doc</groupId>
- <artifactId>exo-jdocbook-style</artifactId>
- <version>${org.exoplatform.doc-style.version}</version>
- <type>jdocbook-style</type>
- </dependency>
- <!-- dependency>
- <groupId>xalan</groupId>
- <artifactId>xalan</artifactId>
- <version>2.7.1</version>
- </dependency -->
- <!-- dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon</artifactId>
- <version>9.1.0.8</version>
- </dependency -->
- </dependencies>
- <configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
-
- <!--sourceDocumentName>modules/lock-manager-config.xml</sourceDocumentName-->
- <imageResource>
- <directory>${pom.basedir}/src/main/resources</directory>
- <includes>
- <include>images/**/*</include>
- </includes>
- </imageResource>
-
- <formats>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/exojcr/xhtml.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/exojcr/xhtml-single.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <!--format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath://xslt/org/exojcr/pdf.xsl</stylesheetResource>
- <finalName>index.pdf</finalName>
- </format-->
- <!-- format>
- <formatName>eclipse</formatName>
- <stylesheetResource>classpath:/xslt/org/exojcr/eclipse.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format -->
- </formats>
-
- <options>
- <xincludeSupported>true</xincludeSupported>
- <xmlTransformerType>saxon</xmlTransformerType>
- <!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
- <!-- could also locate the docbook dependency and inspect its version... -->
- <docbookVersion>1.74.0</docbookVersion>
- </options>
-
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
+<!--
+
+ Copyright (C) 2009 eXo Platform SAS.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.docs.developer</artifactId>
+ <version>1.14.0-CR1-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>reference-docs-${translation}</artifactId>
+
+ <name>eXo JCR :: Developer Documentation :: Reference (${translation})</name>
+ <packaging>jdocbook</packaging>
+
+ <properties>
+ <translation>en</translation>
+ <enforcer.skip>true</enforcer.skip>
+ </properties>
+
+ <build>
+ <finalName>${project.parent.artifactId}_${translation}-${version}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <!-- version>1.0-beta-2</version -->
+ </plugin>
+
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.1.1</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.exoplatform.doc</groupId>
+ <artifactId>exo-docbook-xslt</artifactId>
+ <version>${org.exoplatform.doc-style.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.doc</groupId>
+ <artifactId>exo-jdocbook-style</artifactId>
+ <version>${org.exoplatform.doc-style.version}</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <!-- dependency>
+ <groupId>xalan</groupId>
+ <artifactId>xalan</artifactId>
+ <version>2.7.1</version>
+ </dependency -->
+ <!-- dependency>
+ <groupId>net.sf.saxon</groupId>
+ <artifactId>saxon</artifactId>
+ <version>9.1.0.8</version>
+ </dependency -->
+ </dependencies>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+
+ <!--sourceDocumentName>modules/lock-manager-config.xml</sourceDocumentName-->
+ <imageResource>
+ <directory>${pom.basedir}/src/main/resources</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+
+ <formats>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/exojcr/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/exojcr/xhtml-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <!--format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath://xslt/org/exojcr/pdf.xsl</stylesheetResource>
+ <finalName>index.pdf</finalName>
+ </format-->
+ <!-- format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>classpath:/xslt/org/exojcr/eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format -->
+ </formats>
+
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
+ <!-- could also locate the docbook dependency and inspect its version... -->
+ <docbookVersion>1.74.0</docbookVersion>
+ </options>
+
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/master.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/conversationstate-when-membership-changed.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/core.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-configuration-hibernate.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-creator-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/db-schema-creator-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/ldap-configuration.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/organization-service-initalizer.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/organization-service-listener.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/organization-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/security-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/spring-security-integration.xml
===================================================================
Added: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/tika-document-reader-service.xml
===================================================================
--- jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/tika-document-reader-service.xml (rev 0)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core/tika-document-reader-service.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="Core.TikaDocumentReaderService">
+ <?dbhtml filename="ch-core-document-reader-service.html"?>
+
+ <title>Tika Document Reader Service</title>
+
+ <section>
+ <title>Intro</title>
+
+ <para>DocumentReaderService provides API to retrieve DocumentReader by
+ mimetype.</para>
+
+ <para>DocumentReader lets the user fetch content of document as String or,
+ in case of TikaDocumentReader, as Reader.</para>
+ </section>
+
+ <section>
+ <title>Architecture</title>
+
+ <para>Basicaly, DocumentReaderService is a container for all registered
+ DocumentReaders. So, you can register DocumentReader (method
+ addDocumentReader(ComponentPlugin reader)) and fetch DocumentReader by
+ mimeType (method getDocumentReader(String mimeType)).</para>
+
+ <para>TikaDocumentReaderServiceImpl extends DocumentReaderService with
+ simple goal - read Tika configuration and lazy register each Tika Parser
+ as TikaDocumentReader.</para>
+
+ <para><note>
+ <para>By default, all Tikas Parsers are not registered in readers
+ <mimetype, DocumentReader> map. When user tries to fetch a
+ DocumentReader by unknown mimetype. Than TikaDocumentReaderService
+ checks tika configuration, and register a new mimetype-DocumentReader
+ pair.</para>
+ </note></para>
+ </section>
+
+ <section>
+ <title>Configuration</title>
+
+ <para>How TikaDocumentReaderService Impl configuration looks
+ like:<programlisting><component>
+ <key>org.exoplatform.services.document.DocumentReaderService</key>
+ <type>org.exoplatform.services.document.impl.tika.TikaDocumentReaderServiceImpl</type>
+
+ <!-- Old-style document readers -->
+ <component-plugins>
+ <component-plugin>
+ <name>pdf.document.reader</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.PDFDocumentReader</type>
+ <description>to read the pdf inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerMSWord</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.MSWordDocumentReader</type>
+ <description>to read the ms word inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerMSXWord</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.MSXWordDocumentReader</type>
+ <description>to read the ms word inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerMSExcel</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.MSExcelDocumentReader</type>
+ <description>to read the ms excel inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerMSXExcel</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.MSXExcelDocumentReader</type>
+ <description>to read the ms excel inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerMSOutlook</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.MSOutlookDocumentReader</type>
+ <description>to read the ms outlook inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>PPTdocument.reader</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.PPTDocumentReader</type>
+ <description>to read the ms ppt inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>MSXPPTdocument.reader</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.MSXPPTDocumentReader</type>
+ <description>to read the ms pptx inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerHTML</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.HTMLDocumentReader</type>
+ <description>to read the html inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerXML</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.XMLDocumentReader</type>
+ <description>to read the xml inputstream</description>
+ </component-plugin>
+
+ <component-plugin>
+ <name>TPdocument.reader</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.TextPlainDocumentReader</type>
+ <description>to read the plain text inputstream</description>
+ <init-params>
+ <!--
+ values-param> <name>defaultEncoding</name> <description>description</description> <value>UTF-8</value>
+ </values-param
+ -->
+ </init-params>
+ </component-plugin>
+
+ <component-plugin>
+ <name>document.readerOO</name>
+ <set-method>addDocumentReader</set-method>
+ <type>org.exoplatform.services.document.impl.OpenOfficeDocumentReader</type>
+ <description>to read the OO inputstream</description>
+ </component-plugin>
+
+ </component-plugins>
+
+ <init-params>
+ <value-param>
+ <name>tika-configuration</name>
+ <value>jar:/conf/portal/tika-config.xml</value>
+ </value-param>
+ </init-params>
+
+ </component>
+</configuration></programlisting></para>
+
+ <para>tika-config.xml example:<programlisting><properties>
+
+ <mimeTypeRepository magic="false"/>
+ <parsers>
+
+ <parser name="parse-dcxml" class="org.apache.tika.parser.xml.DcXMLParser">
+ <mime>application/xml</mime>
+ <mime>image/svg+xml</mime>
+ <mime>text/xml</mime>
+ <mime>application/x-google-gadget</mime>
+ </parser>
+
+ <parser name="parse-office" class="org.apache.tika.parser.microsoft.OfficeParser">
+ <mime>application/excel</mime>
+ <mime>application/xls</mime>
+ <mime>application/msworddoc</mime>
+ <mime>application/msworddot</mime>
+ <mime>application/powerpoint</mime>
+ <mime>application/ppt</mime>
+
+ <mime>application/x-tika-msoffice</mime>
+ <mime>application/msword</mime>
+ <mime>application/vnd.ms-excel</mime>
+ <mime>application/vnd.ms-excel.sheet.binary.macroenabled.12</mime>
+ <mime>application/vnd.ms-powerpoint</mime>
+ <mime>application/vnd.visio</mime>
+ <mime>application/vnd.ms-outlook</mime>
+ </parser>
+
+ <parser name="parse-ooxml" class="org.apache.tika.parser.microsoft.ooxml.OOXMLParser">
+ <mime>application/x-tika-ooxml</mime>
+ <mime>application/vnd.openxmlformats-package.core-properties+xml</mime>
+ <mime>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime>
+ <mime>application/vnd.openxmlformats-officedocument.spreadsheetml.template</mime>
+ <mime>application/vnd.ms-excel.sheet.macroenabled.12</mime>
+ <mime>application/vnd.ms-excel.template.macroenabled.12</mime>
+ <mime>application/vnd.ms-excel.addin.macroenabled.12</mime>
+ <mime>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime>
+ <mime>application/vnd.openxmlformats-officedocument.presentationml.template</mime>
+ <mime>application/vnd.openxmlformats-officedocument.presentationml.slideshow</mime>
+ <mime>application/vnd.ms-powerpoint.presentation.macroenabled.12</mime>
+ <mime>application/vnd.ms-powerpoint.slideshow.macroenabled.12</mime>
+ <mime>application/vnd.ms-powerpoint.addin.macroenabled.12</mime>
+ <mime>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime>
+ <mime>application/vnd.openxmlformats-officedocument.wordprocessingml.template</mime>
+ <mime>application/vnd.ms-word.document.macroenabled.12</mime>
+ <mime>application/vnd.ms-word.template.macroenabled.12</mime>
+ </parser>
+
+ <parser name="parse-html" class="org.apache.tika.parser.html.HtmlParser">
+ <mime>text/html</mime>
+ </parser>
+
+ <parser mame="parse-rtf" class="org.apache.tika.parser.rtf.RTFParser">
+ <mime>application/rtf</mime>
+ </parser>
+
+ <parser name="parse-pdf" class="org.apache.tika.parser.pdf.PDFParser">
+ <mime>application/pdf</mime>
+ </parser>
+
+ <parser name="parse-txt" class="org.apache.tika.parser.txt.TXTParser">
+ <mime>text/plain</mime>
+ <mime>script/groovy</mime>
+ <mime>application/x-groovy</mime>
+ <mime>application/x-javascript</mime>
+ <mime>application/javascript</mime>
+ <mime>text/javascript</mime>
+ </parser>
+
+ <parser name="parse-openoffice" class="org.apache.tika.parser.opendocument.OpenOfficeParser">
+
+ <mime>application/vnd.oasis.opendocument.database</mime>
+
+ <mime>application/vnd.sun.xml.writer</mime>
+ <mime>application/vnd.oasis.opendocument.text</mime>
+ <mime>application/vnd.oasis.opendocument.graphics</mime>
+ <mime>application/vnd.oasis.opendocument.presentation</mime>
+ <mime>application/vnd.oasis.opendocument.spreadsheet</mime>
+ <mime>application/vnd.oasis.opendocument.chart</mime>
+ <mime>application/vnd.oasis.opendocument.image</mime>
+ <mime>application/vnd.oasis.opendocument.formula</mime>
+ <mime>application/vnd.oasis.opendocument.text-master</mime>
+ <mime>application/vnd.oasis.opendocument.text-web</mime>
+ <mime>application/vnd.oasis.opendocument.text-template</mime>
+ <mime>application/vnd.oasis.opendocument.graphics-template</mime>
+ <mime>application/vnd.oasis.opendocument.presentation-template</mime>
+ <mime>application/vnd.oasis.opendocument.spreadsheet-template</mime>
+ <mime>application/vnd.oasis.opendocument.chart-template</mime>
+ <mime>application/vnd.oasis.opendocument.image-template</mime>
+ <mime>application/vnd.oasis.opendocument.formula-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.text</mime>
+ <mime>application/x-vnd.oasis.opendocument.graphics</mime>
+ <mime>application/x-vnd.oasis.opendocument.presentation</mime>
+ <mime>application/x-vnd.oasis.opendocument.spreadsheet</mime>
+ <mime>application/x-vnd.oasis.opendocument.chart</mime>
+ <mime>application/x-vnd.oasis.opendocument.image</mime>
+ <mime>application/x-vnd.oasis.opendocument.formula</mime>
+ <mime>application/x-vnd.oasis.opendocument.text-master</mime>
+ <mime>application/x-vnd.oasis.opendocument.text-web</mime>
+ <mime>application/x-vnd.oasis.opendocument.text-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.graphics-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.presentation-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.spreadsheet-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.chart-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.image-template</mime>
+ <mime>application/x-vnd.oasis.opendocument.formula-template</mime>
+ </parser>
+
+ <parser name="parse-image" class="org.apache.tika.parser.image.ImageParser">
+ <mime>image/bmp</mime>
+ <mime>image/gif</mime>
+ <mime>image/jpeg</mime>
+ <mime>image/png</mime>
+ <mime>image/tiff</mime>
+ <mime>image/vnd.wap.wbmp</mime>
+ <mime>image/x-icon</mime>
+ <mime>image/x-psd</mime>
+ <mime>image/x-xcf</mime>
+ </parser>
+
+ <parser name="parse-class" class="org.apache.tika.parser.asm.ClassParser">
+ <mime>application/x-tika-java-class</mime>
+ </parser>
+
+ <parser name="parse-mp3" class="org.apache.tika.parser.mp3.Mp3Parser">
+ <mime>audio/mpeg</mime>
+ </parser>
+
+ <parser name="parse-midi" class="org.apache.tika.parser.audio.MidiParser">
+ <mime>application/x-midi</mime>
+ <mime>audio/midi</mime>
+ </parser>
+
+ <parser name="parse-audio" class="org.apache.tika.parser.audio.AudioParser">
+ <mime>audio/basic</mime>
+ <mime>audio/x-wav</mime>
+ <mime>audio/x-aiff</mime>
+ </parser>
+
+ </parsers>
+
+</properties></programlisting></para>
+ </section>
+
+ <section>
+ <title>Old-style DocumentReaders and Tika Parsers</title>
+
+ <para>As you see configuration above, there is both old-style
+ DocumentReaders and new Tika parsers registered.</para>
+
+ <para><emphasis>But MSWordDocumentReader and
+ org.apache.tika.parser.microsoft.OfficeParser both refer to same
+ "application/msword"</emphasis> mimetype, exclaims attentive reader. And
+ he is right. But only one DocumentReader will be fetched.</para>
+
+ <para>Old-style DocumentReader registered in configuration become
+ registered into DocumentReaderService. So, mimetypes that is supported by
+ those DocumentReaders will have a registered pair, and user will always
+ fetch this DocumentReaders with getDocumentReader(..) method. Tika
+ configuration will be checked for Parsers only if there is no already
+ registered DocumentReader.</para>
+
+ <section>
+ <title>How to make and register own DocumentReader</title>
+
+ <para>You can make you own DocumentReader in two ways.</para>
+
+ <para><emphasis role="bold">Old-Style Document
+ Reader</emphasis>:<itemizedlist>
+ <listitem>
+ <para>extend BaseDocumentReader <programlisting>public class MyDocumentReader extends BaseDocumentReader
+{
+ public String[] getMimeTypes()
+ {
+ return new String[]{"mymimetype"};
+ }
+ ...
+}</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>register it as component-plugin<programlisting><component-plugin>
+ <name>my.DocumentReader</name>
+ <set-method>addDocumentReader</set-method>
+ <type>com.mycompany.document.MyDocumentReader</type>
+ <description>to read my own file format</description>
+</component-plugin></programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para><emphasis role="bold">Tika Parser</emphasis>:<itemizedlist>
+ <listitem>
+ <para>implement Parser<programlisting>public class MyParser implements Parser
+{
+ ...
+}</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>register it in tika-config.xml<programlisting> <parser name="parse-mydocument" class="com.mycompany.document.MyParser">
+ <mime>mymimetype</mime>
+ </parser></programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+ </section>
+
+ <section>
+ <title>TikaDocumentReader features and notes</title>
+
+ <para>TikaDocumentReader features and notes:<itemizedlist>
+ <listitem>
+ <para>TikaDocumentReader may return document contant as Reader
+ object. Old-Style DocumentReader does not;</para>
+ </listitem>
+
+ <listitem>
+ <para>TikaDocumentReader do not detects document mimetipe. You will
+ get exact parser as configured in tika-config;</para>
+ </listitem>
+
+ <listitem>
+ <para>All readers methods closes InputStream at final.</para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+</chapter>
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core.xml 2010-09-20 09:46:37 UTC (rev 3135)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/core.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -16,33 +16,29 @@
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="core/spring-security-integration.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/organization-service.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/organization-service-initalizer.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/organization-service-listener.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/conversationstate-when-membership-changed.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/db-schema-creator-service.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/db-configuration-hibernate.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="core/ldap-configuration.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-
-
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ <xi:include href="core/tika-document-reader-service.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
</part>
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq/jcr-faq.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/faq.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/backup-client.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/exojcr-backup-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/search-index-backup.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/cluster-config.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-advantages.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-applications.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-compatibility-levels.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-exo-implementation.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-extensions.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-namespace-altering.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-registry-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-usage.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/nodetype-registration.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/nodetypes-and-namespaces.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/concepts/why-jcr.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/configuration-persister.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/exo-jcr-configuration.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/external-value-storages.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/jdbc-data-container-config.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/multilanguage-support.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/rest-services-on-groovy.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/search-configuration.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/configuration/workspace-persistence-storage.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container-howto.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/data-container.xml
===================================================================
Added: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml
===================================================================
--- jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml (rev 0)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="JCR.DBCleanerService">
+ <?dbhtml filename="ch-db-cleaner-service.html"?>
+
+ <title>DBCleanerService</title>
+
+ <section>
+ <title>API</title>
+
+ <para>There is two methods of DBCleanerService:</para>
+
+ <table>
+ <title>API</title>
+
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>public static void removeWorkspaceData(WorkspaceEntry
+ wsConfig) </entry>
+
+ <entry>If workspace is multiDB - drops JCR_SITEM,JCR_SVALUE,
+ JCR_SREF tables, otherwise, it removes all rows of this
+ workspace.</entry>
+ </row>
+
+ <row>
+ <entry>public static void removeRepositoryData(RepositoryEntry
+ repoConfig)</entry>
+
+ <entry>Removes data of all worksapces of this repository.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>How it works</title>
+
+ <para>removeWorkspaceData takes workspaces configs from RepositoryEntry
+ and clean each workspace using removeRepositoryData.</para>
+
+ <para>Lets see removeWorkspaceData in detail:<itemizedlist>
+ <listitem>
+ <para>at first, it ejects workspace name (aka container name), data
+ source of databse, and and deside is workspase multiDB or
+ singleDB;</para>
+ </listitem>
+
+ <listitem>
+ <para>than it deside which script must be used to remove (databse
+ dialect and isMultiDb used);</para>
+ </listitem>
+
+ <listitem>
+ <para>than this script is parsed to list of queries, and executed in
+ order of occurance;</para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Scripts in detail</title>
+
+ <para>Single and Multi DB scripts examples</para>
+
+ <para>In case of: dbDialect = "MySQL" and isMultiDB="true", will use
+ "conf/storage/cleanup/jcr-mjdbc.mysql.sql"</para>
+
+ <programlisting>DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;</programlisting>
+
+ <para>In case of: dbDialect = "PgSQL" and isMultiDB="false", will use
+ "conf/storage/cleanup/jcr-sjdbc.pgsql.sql"</para>
+
+ <programlisting>delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;</programlisting>
+
+ <note>
+ <para>"?" will be replased with container name on execution.</para>
+ </note>
+
+ <para>But what is the strage coment is in
+ "conf/storage/cleanup/jcr-sjdbc.sql" ?</para>
+
+ <programlisting>delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where I_CLASS=2 and CONTAINER_NAME=?;
+/*$CLEAN_JCR_SITEM_DEFAULT*/;</programlisting>
+
+ <para><emphasis role="bold">/*$CLEAN_JCR_SITEM_DEFAULT*/</emphasis> - some
+ database may throw constraint violaion exception according to
+ JCR_FK_SITEM_PARENT FOREIGN KEY in case of ordinary "" delete from
+ JCR_SITEM where CONTAINER_NAME=? query. So there is special method, that
+ will be executed on /*$CLEAN_JCR_SITEM_DEFAULT*/. It a bit slowly, but
+ safe.</para>
+
+ <note>
+ <para>"conf/storage/cleanup/jcr-sjdbc.sql" or
+ "conf/storage/cleanup/jcr-mjdbc.sql" are used if dialect is not
+ recognized.</para>
+ </note>
+ </section>
+
+ <section>
+ <title>Few words in addition</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>DBCleanerService is static, so all you need is config to
+ execute;</para>
+ </listitem>
+
+ <listitem>
+ <para>code that executes DBCleanerService must have
+ JCRRuntimePermissions.MANAGE_REPOSITORY_PERMISSION;</para>
+ </listitem>
+
+ <listitem>
+ <para>you can update scripts for your needs.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+</chapter>
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/intro.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/jbosscache-configuration-templates.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/jbossts-transaction-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/lock-manager-config.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/acl-ext.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/acl.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/binary-values-processing.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/jcr-resources.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/other/link-producer.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/performance-tuning-guide.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols/ftp.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols/webdav.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/aggregation-rule.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/and-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/child-node-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/date-property-comparison.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/escaping-like-statements.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/exact-path-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-all-descendant-nodes.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-all-nodes.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-nodes-by-mixin-type.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-nodes-by-primary-type.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-nodes-case-insensitive.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/find-similar-nodes.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/fulltext-search-and-settings.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/fulltext-search-by-all-properties.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/fulltext-search-by-property.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/higlight.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/ignore-accent-symbols.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/index-boost-value.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/jcr-query-usecases.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/like-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/multivalue-property-comparison.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/node-name-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/node-scope-index.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/not-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/offset-and-limit.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/or-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-descendant.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-path-or-name.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-property.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/order-by-score.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/property-comparison.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/property-existance-constraint.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/regexp-indexing-rule.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/searching-repository-content.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/spell-checker.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/synonim-provider.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/searching/tip-nodename-with-number.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/statistics.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/transaction-manager-lookup.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gatein.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn/how-to-extend-my-gatein-instance.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr-with-gtn/managed-datasources-under-jboss-as.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml 2010-09-20 09:46:37 UTC (rev 3135)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -9,7 +9,7 @@
<xi:include href="jcr/intro.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- concepts -->
+ <!-- concepts -->
<xi:include href="jcr/concepts/why-jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
@@ -95,13 +95,11 @@
<xi:include href="jcr/searching/jcr-query-usecases.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
<xi:include href="jcr/searching/searching-repository-content.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/searching/fulltext-search-and-settings.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
<!-- protocols -->
@@ -114,9 +112,11 @@
<!-- backup -->
<xi:include href="jcr/backup/exojcr-backup-service.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="jcr/backup/backup-client.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="jcr/backup/search-index-backup.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
@@ -148,6 +148,9 @@
<xi:include href="jcr/data-container-howto.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="jcr/db-cleaner-service.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<!-- tuning guide -->
<xi:include href="jcr/performance-tuning-guide.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/cache.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/component-plugin-priority.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/container-configuration.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/exo-container.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/initialcontext-binder-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/inversion-of-control.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/jndi-naming.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/job-scheduler-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/kernel.xml
===================================================================
Added: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/listener-service.xml
===================================================================
--- jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/listener-service.xml (rev 0)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/listener-service.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="Kernel.ListenerService">
+ <?dbhtml filename="ch-listener-service.html"?>
+
+ <title>ListenerService</title>
+
+ <section>
+ <title>Asynchronous Event Broadcast</title>
+
+ <para>Basicaly, ListenerService used to store Listeners and broadcast
+ events to them.</para>
+
+ <para>ListenerService event broadcasting works in next way - it takes a
+ destination listeners and executes event on those listeners.</para>
+
+ <para>But, some events may take a lot of time, so idea to make event
+ processing asynchronous is usefull.</para>
+
+ <blockquote>
+ What do I need to make my listener asynchronous?
+ </blockquote>
+
+ <para>- It's very simple, just mark your Listener implementation as
+ <classname>@Asynchronous</classname>.</para>
+
+ <programlisting>@Asynchronous
+class AsynchListenerWithException<S,D> extends Listener<S,D>
+{
+ @Override
+ public void onEvent(Event<S,D> event) throws Exception
+ {
+ // some expensive operation
+ }
+}</programlisting>
+
+ <para>Now, our AsynchListener will be executed in separate thread by
+ <classname>ExecutorService</classname>.</para>
+
+ <para>By default, <classname>ExecutoreService</classname> configured with
+ thread pool size 1, you can change it in configuration:<programlisting> <component>
+ <key>org.exoplatform.services.listener.ListenerService</key>
+ <type>org.exoplatform.services.listener.ListenerService</type>
+
+ <init-params>
+ <value-param>
+ <name>asynchPoolSize</name>
+ <value>5</value>
+ </value-param>
+ </init-params>
+
+ </component></programlisting></para>
+ </section>
+</chapter>
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/logging.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/manageability.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/service-configuration-for-beginners.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/service-configuration-in-detail.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/services-wiring.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/transaction-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel/understanding-listnerservice.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel.xml 2010-09-20 09:46:37 UTC (rev 3135)
+++ jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/kernel.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -53,4 +53,8 @@
<xi:include href="kernel/manageability.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="kernel/listener-service.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
</part>
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/framework-for-cross-domain-ajax.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/groovy-scripts-as-rest-services.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/introduction-to-rest.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/restservicelist-service.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws/ws.xml
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/ws.xml
===================================================================
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/TomcatLibFolder.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/ajax-how-it-works.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/ajax.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/cometd-bench.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/cometd-cluster.png
===================================================================
(Binary files differ)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/JCR-Application2.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/exojcr.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/interceptor.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/jcr-490x333.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/jcr-applications.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/level_1.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/level_2.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/optional.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/concepts/wsdatamodel.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-cache-structure.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-jcr-cluster.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-shared-index.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg
===================================================================
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/groovy-console1.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/groovy-console2.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/groovy-console3.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/hierarchy.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/ioc.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/item-hierarchy.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/javascript-webdav.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/jconsole.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/jconsole2.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/login-page.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/oauth-scheme.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/organization-exo.jpg
===================================================================
(Binary files differ)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/other)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/acl-ext.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/acl.gif
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/binaryvalue.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer1.JPG
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer2.JPG
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer3.JPG
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/other/lnkproducer4.JPG
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/perf_EC2_results.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/perf_EC2_results_2.jpg
===================================================================
(Binary files differ)
Copied: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols (from rev 3135, jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_davexplorer.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_explorer.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_msoffice2003.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_ubuntulinux.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/protocols/webdav_xythosdrive.jpg
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-build-process.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-run-process.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-scheme-detailed.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/en/src/main/resources/images/rest-scheme.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/docs/exo.jcr.docs.developer/pom.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/pom.xml 2010-09-20 09:46:37 UTC (rev 3135)
+++ jcr/trunk/docs/exo.jcr.docs.developer/pom.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -1,38 +1,38 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.docs</artifactId>
- <version>1.12.5-GA-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>exo.jcr.docs.developer</artifactId>
-
- <name>eXo JCR :: Developer Documentation :: Reactor</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>en</module>
- </modules>
-</project>
-
+<!--
+
+ Copyright (C) 2009 eXo Platform SAS.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>docs</artifactId>
+ <version>1.14.0-CR1-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>exo.jcr.docs.developer</artifactId>
+
+ <name>eXo JCR :: Developer Documentation :: Reactor</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>en</module>
+ </modules>
+</project>
+
Modified: jcr/trunk/docs/pom.xml
===================================================================
--- jcr/trunk/docs/pom.xml 2010-09-20 09:46:37 UTC (rev 3135)
+++ jcr/trunk/docs/pom.xml 2010-09-20 14:10:49 UTC (rev 3136)
@@ -1,40 +1,38 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>jcr-parent</artifactId>
- <version>1.14.0-CR1-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>docs</artifactId>
-
- <name>eXo JCR :: Documentation :: Reactor</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>reference</module>
- <module>userguide</module>
- <!-- module>migrationguide</module>
- <module>faq</module -->
- </modules>
-</project>
+<!--
+
+ Copyright (C) 2009 eXo Platform SAS.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>jcr-parent</artifactId>
+ <version>1.14.0-CR1-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>docs</artifactId>
+
+ <name>eXo JCR :: Documentation :: Reactor</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>exo.jcr.docs.developer</module>
+ <!--module>exo.jcr.docs.user</module-->
+ </modules>
+</project>
15 years, 8 months
exo-jcr SVN: r3135 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-09-20 05:46:37 -0400 (Mon, 20 Sep 2010)
New Revision: 3135
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java
Log:
EXOJCR-954: set itemData before return
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java 2010-09-20 06:30:42 UTC (rev 3134)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java 2010-09-20 09:46:37 UTC (rev 3135)
@@ -70,11 +70,11 @@
if (itemType == ItemType.NODE || itemType == ItemType.UNKNOWN)
{
- items.get(new MapKey(qPath, ItemType.NODE));
+ itemData = (ItemData)items.get(new MapKey(qPath, ItemType.NODE));
}
if (itemType == ItemType.PROPERTY || itemType == ItemType.UNKNOWN && itemData == null)
{
- items.get(new MapKey(qPath, ItemType.PROPERTY));
+ itemData = (ItemData)items.get(new MapKey(qPath, ItemType.PROPERTY));
}
return itemData;
15 years, 8 months
exo-jcr SVN: r3134 - in jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules: jcr and 1 other directory.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-09-20 02:30:42 -0400 (Mon, 20 Sep 2010)
New Revision: 3134
Added:
jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml
Modified:
jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml
Log:
EXOJCR-939: documentation added
Added: jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml
===================================================================
--- jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml (rev 0)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr/db-cleaner-service.xml 2010-09-20 06:30:42 UTC (rev 3134)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+ <?dbhtml filename="ch-db-cleaner-service.html"?>
+
+ <title>DBCleanerService</title>
+
+ <section>
+ <title>API</title>
+
+ <para>There is two methods of DBCleanerService:</para>
+
+ <table>
+ <title>API</title>
+
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>public static void removeWorkspaceData(WorkspaceEntry
+ wsConfig) </entry>
+
+ <entry>If workspace is multiDB - drops JCR_SITEM,JCR_SVALUE,
+ JCR_SREF tables, otherwise, it removes all rows of this
+ workspace.</entry>
+ </row>
+
+ <row>
+ <entry>public static void removeRepositoryData(RepositoryEntry
+ repoConfig)</entry>
+
+ <entry>Removes data of all worksapces of this repository.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>How it works</title>
+
+ <para>removeWorkspaceData takes workspaces configs from RepositoryEntry
+ and clean each workspace using removeRepositoryData.</para>
+
+ <para>Lets see removeWorkspaceData in detail:<itemizedlist>
+ <listitem>
+ <para>at first, it ejects workspace name (aka container name), data
+ source of databse, and and deside is workspase multiDB or
+ singleDB;</para>
+ </listitem>
+
+ <listitem>
+ <para>than it deside which script must be used to remove (databse
+ dialect and isMultiDb used);</para>
+ </listitem>
+
+ <listitem>
+ <para>than this script is parsed to list of queries, and executed in
+ order of occurance;</para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Scripts in detail</title>
+
+ <para>Single and Multi DB scripts examples</para>
+
+ <para>In case of: dbDialect = "MySQL" and isMultiDB="true", will use
+ "conf/storage/cleanup/jcr-mjdbc.mysql.sql"</para>
+
+ <programlisting>DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;</programlisting>
+
+ <para>In case of: dbDialect = "PgSQL" and isMultiDB="false", will use
+ "conf/storage/cleanup/jcr-sjdbc.pgsql.sql"</para>
+
+ <programlisting>delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;</programlisting>
+
+ <note>
+ <para>"?" will be replased with container name on execution.</para>
+ </note>
+
+ <para>But what is the strage coment is in
+ "conf/storage/cleanup/jcr-sjdbc.sql" ?</para>
+
+ <programlisting>delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where I_CLASS=2 and CONTAINER_NAME=?;
+/*$CLEAN_JCR_SITEM_DEFAULT*/;</programlisting>
+
+ <para><emphasis role="bold">/*$CLEAN_JCR_SITEM_DEFAULT*/</emphasis> - some
+ database may throw constraint violaion exception according to
+ JCR_FK_SITEM_PARENT FOREIGN KEY in case of ordinary "" delete from
+ JCR_SITEM where CONTAINER_NAME=? query. So there is special method, that
+ will be executed on /*$CLEAN_JCR_SITEM_DEFAULT*/. It a bit slowly, but
+ safe.</para>
+
+ <note>
+ <para>"conf/storage/cleanup/jcr-sjdbc.sql" or
+ "conf/storage/cleanup/jcr-mjdbc.sql" are used if dialect is not
+ recognized.</para>
+ </note>
+ </section>
+
+ <section>
+ <title>Few words in addition</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>DBCleanerService is static, so all you need is config to
+ execute;</para>
+ </listitem>
+
+ <listitem>
+ <para>code that executes DBCleanerService must have
+ JCRRuntimePermissions.MANAGE_REPOSITORY_PERMISSION;</para>
+ </listitem>
+
+ <listitem>
+ <para>you can update scripts for your needs.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+</chapter>
Modified: jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml
===================================================================
--- jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-09-20 06:09:06 UTC (rev 3133)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-09-20 06:30:42 UTC (rev 3134)
@@ -62,4 +62,9 @@
<xi:include href="jcr/data-container-howto.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="jcr/db-cleaner-service.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+
+
</part>
15 years, 8 months
exo-jcr SVN: r3133 - in jcr/trunk/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/dataflow/persistent and 25 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-09-20 02:09:06 -0400 (Mon, 20 Sep 2010)
New Revision: 3133
Added:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ItemType.java
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/WorkspaceStorageCache.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/WorkspaceImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/jdbc/CacheableJDBCLockManagerImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/AbstractItemDefinitionAccessProvider.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeDefinitionComparator.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AggregateRuleImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LuceneQueryBuilder.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SharedFieldSortComparator.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionHistoryImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheQPath.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/version/VersionHistoryDataHelper.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLExceptionHandler.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/statistics/StatisticsJDBCStorageConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/VersionHistoryRemover.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCacheableWorkspaceDataManager.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestLinkedCacheMultithread.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspaceStorageCacheBaseCase.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCHWDCTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCStorageConnectionTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/StorageUpdateTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestJCRVSReadWrite.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLBenchmarkTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/TestFrozenNodeInitializer.java
Log:
EXOJCR-954: move ItemType to datamodel package
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -19,10 +19,10 @@
package org.exoplatform.services.jcr.dataflow;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import java.util.List;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -19,10 +19,10 @@
package org.exoplatform.services.jcr.dataflow;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import java.io.Externalizable;
import java.io.IOException;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/WorkspaceStorageCache.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/WorkspaceStorageCache.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/WorkspaceStorageCache.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -19,10 +19,10 @@
package org.exoplatform.services.jcr.dataflow.persistent;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import java.util.List;
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ItemType.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ItemType.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ItemType.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -0,0 +1,34 @@
+package org.exoplatform.services.jcr.datamodel;
+
+
+/**
+ * Class contains enumerated item types. Is used in methods to indicate what need exactly get: node or property.
+ */
+public enum ItemType {
+ UNKNOWN, NODE, PROPERTY;
+
+ /**
+ * Indicate if item type suit for ItemData.
+ *
+ * @param itemData
+ * ItemData
+ * @return true if item type is UNKNOWN type or the same as ItemData and false in other case
+ */
+ public boolean isSuitableFor(ItemData itemData)
+ {
+ boolean isNode = itemData.isNode();
+ return this == UNKNOWN || this == NODE && isNode || this == PROPERTY && !isNode;
+ }
+
+ /**
+ * Return item type based on ItemData.
+ *
+ * @param itemData
+ * item data
+ * @return ItemType
+ */
+ public static ItemType getItemType(ItemData itemData)
+ {
+ return itemData.isNode() ? ItemType.NODE : ItemType.PROPERTY;
+ }
+}
\ No newline at end of file
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -33,6 +33,7 @@
import org.exoplatform.services.jcr.datamodel.Identifier;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
@@ -1013,36 +1014,4 @@
}
}
}
-
- /**
- * Class contains enumerated item types. Is used in methods to indicate what need exactly get: node or property.
- */
- public enum ItemType {
- UNKNOWN, NODE, PROPERTY;
-
- /**
- * Indicate if item type suit for ItemData.
- *
- * @param itemData
- * ItemData
- * @return true if item type is UNKNOWN type or the same as ItemData and false in other case
- */
- public boolean isSuitableFor(ItemData itemData)
- {
- boolean isNode = itemData.isNode();
- return this == UNKNOWN || this == NODE && isNode || this == PROPERTY && !isNode;
- }
-
- /**
- * Return item type based on ItemData.
- *
- * @param itemData
- * item data
- * @return ItemType
- */
- public static ItemType getItemType(ItemData itemData)
- {
- return itemData.isNode() ? ItemType.NODE : ItemType.PROPERTY;
- }
- }
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -31,12 +31,12 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -36,6 +36,7 @@
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
@@ -1960,7 +1961,8 @@
QPath destPath = locationFactory.parseRelPath(relPath).getInternalPath();
NodeImpl destParent =
- (NodeImpl)dataManager.getItem(nodeData(), destPath.makeParentPath().getEntries(), false, ItemType.UNKNOWN);
+ (NodeImpl)dataManager.getItem(nodeData(), destPath.makeParentPath().getEntries(), false, ItemType.NODE);
+
if (destParent == null)
{
throw new PathNotFoundException("Parent not found for " + relPath);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -29,12 +29,12 @@
import org.exoplatform.services.jcr.dataflow.SharedDataManager;
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
import org.exoplatform.services.jcr.impl.core.version.ChildVersionRemoveVisitor;
import org.exoplatform.services.jcr.impl.core.version.VersionHistoryImpl;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -29,10 +29,10 @@
import org.exoplatform.services.jcr.core.SessionLifecycleListener;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.lock.SessionLockManager;
import org.exoplatform.services.jcr.impl.core.lock.WorkspaceLockManager;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeImpl;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/WorkspaceImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/WorkspaceImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/WorkspaceImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -25,9 +25,9 @@
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeImpl;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
import org.exoplatform.services.jcr.impl.core.query.QueryManagerFactory;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -26,12 +26,12 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.query.SearchManager;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -37,6 +37,7 @@
import org.exoplatform.services.jcr.dataflow.persistent.PersistedPropertyData;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
@@ -44,7 +45,6 @@
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -36,12 +36,12 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.dataflow.persistent.ItemsPersistenceListener;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.lock.LockRemover;
import org.exoplatform.services.jcr.impl.core.lock.SessionLockManager;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -239,33 +239,17 @@
/**
* @see org.jboss.cache.loader.CacheLoader#put(java.util.List)
*/
- public void put(final List<Modification> modifications) throws Exception
+ public void put(List<Modification> modifications) throws Exception
{
- SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- cl.put(modifications);
- return null;
-
- }
- });
+ cl.put(modifications);
}
/**
* @see org.jboss.cache.loader.CacheLoader#put(org.jboss.cache.Fqn, java.util.Map)
*/
- public void put(final Fqn name, final Map<Object, Object> attributes) throws Exception
+ public void put(Fqn name, Map<Object, Object> attributes) throws Exception
{
- SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- cl.put(name, attributes);
- return null;
-
- }
- });
+ cl.put(name, attributes);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/jdbc/CacheableJDBCLockManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/jdbc/CacheableJDBCLockManagerImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/jdbc/CacheableJDBCLockManagerImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -35,12 +35,12 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.dataflow.persistent.ItemsPersistenceListener;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.lock.LockRemover;
import org.exoplatform.services.jcr.impl.core.lock.SessionLockManager;
import org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManager;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -29,11 +29,11 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.value.BaseValue;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -33,12 +33,12 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeDefinitionComparator;
import org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeConverter;
import org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeDataPersister;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/AbstractItemDefinitionAccessProvider.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/AbstractItemDefinitionAccessProvider.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/AbstractItemDefinitionAccessProvider.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -25,12 +25,12 @@
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.dataflow.ValueDataConvertor;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -37,11 +37,11 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeDefinitionComparator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeDefinitionComparator.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeDefinitionComparator.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -26,10 +26,10 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.nodetype.ItemAutocreator;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -27,12 +27,12 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
import org.exoplatform.services.jcr.impl.core.nodetype.ItemAutocreator;
import org.exoplatform.services.jcr.impl.core.value.ValueConstraintsMatcher;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AggregateRuleImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AggregateRuleImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AggregateRuleImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -21,13 +21,13 @@
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.util.Text;
import org.w3c.dom.CharacterData;
import org.w3c.dom.Node;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LuceneQueryBuilder.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LuceneQueryBuilder.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LuceneQueryBuilder.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -30,11 +30,11 @@
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import org.exoplatform.services.jcr.impl.core.query.AndQueryNode;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -28,13 +28,13 @@
import org.exoplatform.services.jcr.core.value.ExtendedValue;
import org.exoplatform.services.jcr.dataflow.ItemDataConsumer;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import org.exoplatform.services.jcr.impl.util.SecurityHelper;
import org.slf4j.Logger;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SharedFieldSortComparator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SharedFieldSortComparator.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SharedFieldSortComparator.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -26,13 +26,13 @@
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.JCRPath;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -24,6 +24,7 @@
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
@@ -31,7 +32,6 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.value.BaseValue;
import org.exoplatform.services.jcr.impl.dataflow.AbstractItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -22,13 +22,13 @@
import org.exoplatform.services.jcr.dataflow.DataManager;
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import org.exoplatform.services.jcr.impl.dataflow.AbstractItemDataCopyVisitor;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
@@ -30,7 +31,6 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.AbstractItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionHistoryImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionHistoryImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionHistoryImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/VersionImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.datamodel.Identifier;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -22,10 +22,10 @@
import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
import org.exoplatform.services.jcr.dataflow.SharedDataManager;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheQPath.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheQPath.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheQPath.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.dataflow.persistent;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
@@ -68,37 +69,42 @@
private final String key;
+ private final ItemType itemType;
+
/**
* For CPath will be stored in cache C
*/
- CacheQPath(String parentId, QPath path)
+ CacheQPath(String parentId, QPath path, ItemType itemType)
{
this.parentId = parentId;
this.path = path;
- this.key = key(this.parentId, this.path.getEntries());
+ this.itemType = itemType;
+ this.key = key(this.parentId, this.path.getEntries(), this.itemType);
}
/**
* For CPath will be searched in cache C
*/
- CacheQPath(String parentId, QPathEntry name)
+ CacheQPath(String parentId, QPathEntry name, ItemType itemType)
{
this.parentId = parentId;
this.path = null;
- this.key = key(this.parentId, name);
+ this.itemType = itemType;
+ this.key = key(this.parentId, name, this.itemType);
}
- protected String key(final String parentId, final QPathEntry[] pathEntries)
+ protected String key(final String parentId, final QPathEntry[] pathEntries, ItemType itemType)
{
- return key(parentId, pathEntries[pathEntries.length - 1]);
+ return key(parentId, pathEntries[pathEntries.length - 1], itemType);
}
- protected String key(final String parentId, final QPathEntry name)
+ protected String key(final String parentId, final QPathEntry name, ItemType itemType)
{
StringBuilder sk = new StringBuilder();
// sk.append(BASE); for strong hash code, skip it when equals uses String.equals
sk.append(parentId != null ? parentId : Constants.ROOT_PARENT_UUID);
sk.append(name.getAsString(true));
+ sk.append(itemType.toString());
return sk.toString();
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -21,11 +21,11 @@
import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
import org.exoplatform.services.jcr.dataflow.persistent.WorkspaceStorageCache;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache;
import org.exoplatform.services.jcr.impl.storage.SystemDataContainerHolder;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/LinkedWorkspaceStorageCacheImpl.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -25,12 +25,12 @@
import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
import org.exoplatform.services.jcr.dataflow.persistent.WorkspaceStorageCache;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -887,13 +887,18 @@
{
try
{
- ItemData itemData = getItem(parentId, name);
- if (itemData != null && itemType.isSuitableFor(itemData))
+ ItemData itemData = null;
+ if (itemType == ItemType.NODE || itemType == ItemType.UNKNOWN)
{
- return itemData;
+ itemData = getItem(parentId, name, ItemType.NODE);
}
- return null;
+ if (itemType == ItemType.PROPERTY || itemType == ItemType.UNKNOWN && itemData == null)
+ {
+ itemData = getItem(parentId, name, ItemType.PROPERTY);
+ }
+
+ return itemData;
}
catch (Exception e)
{
@@ -913,7 +918,7 @@
protected void putItem(final ItemData data)
{
cache.put(new CacheId(data.getIdentifier()), new CacheValue(data, System.currentTimeMillis() + liveTime));
- cache.put(new CacheQPath(data.getParentIdentifier(), data.getQPath()),
+ cache.put(new CacheQPath(data.getParentIdentifier(), data.getQPath(), ItemType.getItemType(data)),
new CacheValue(data, System.currentTimeMillis() + liveTime));
}
@@ -1309,7 +1314,7 @@
cache.remove(k);
// remove by parentId + path
- cache.remove(new CacheQPath(c.getParentIdentifier(), c.getQPath()));
+ cache.remove(new CacheQPath(c.getParentIdentifier(), c.getQPath(), ItemType.getItemType(c)));
// remove cached child lists
if (c.isNode())
@@ -1339,12 +1344,12 @@
* @param key
* a InternalQPath path of item cached
*/
- protected ItemData getItem(final String parentUuid, final QPathEntry qname)
+ protected ItemData getItem(final String parentUuid, final QPathEntry qname, ItemType itemType)
{
long start = System.currentTimeMillis();
try
{
- final CacheQPath k = new CacheQPath(parentUuid, qname);
+ final CacheQPath k = new CacheQPath(parentUuid, qname, itemType);
final CacheValue v = cache.get(k);
if (v != null)
{
@@ -1663,7 +1668,8 @@
cache.remove(new CacheId(itemId));
- final CacheValue v2 = cache.remove(new CacheQPath(item.getParentIdentifier(), item.getQPath()));
+ final CacheValue v2 =
+ cache.remove(new CacheQPath(item.getParentIdentifier(), item.getQPath(), ItemType.getItemType(item)));
if (v2 != null && !v2.getItem().getIdentifier().equals(itemId))
// same path but diff identifier node... phantom
removeItem(v2.getItem());
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -26,12 +26,12 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -33,13 +33,13 @@
import org.exoplatform.services.jcr.dataflow.persistent.PersistedNodeData;
import org.exoplatform.services.jcr.dataflow.persistent.PersistedPropertyData;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.storage.SystemDataContainerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -28,12 +28,12 @@
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -27,11 +27,11 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -23,11 +23,11 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import java.util.ArrayList;
import java.util.Collection;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -25,11 +25,11 @@
import org.exoplatform.services.jcr.dataflow.SharedDataManager;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.persistent.LocalWorkspaceDataManagerStub;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/version/VersionHistoryDataHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/version/VersionHistoryDataHelper.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/version/VersionHistoryDataHelper.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -24,12 +24,12 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.datamodel.Identifier;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -19,13 +19,12 @@
package org.exoplatform.services.jcr.impl.storage.inmemory;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
-import org.exoplatform.services.jcr.impl.core.JCRPath;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -66,19 +65,31 @@
public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType) throws RepositoryException,
IllegalStateException
{
- ItemData itemData = getItemData(QPath.makeChildPath(parentData.getQPath(), name));
- if (itemData != null && itemType.isSuitableFor(itemData))
+ ItemData itemData = null;
+ QPath qPath = QPath.makeChildPath(parentData.getQPath(), name);
+
+ if (itemType == ItemType.NODE || itemType == ItemType.UNKNOWN)
{
- return itemData;
+ items.get(new MapKey(qPath, ItemType.NODE));
}
+ if (itemType == ItemType.PROPERTY || itemType == ItemType.UNKNOWN && itemData == null)
+ {
+ items.get(new MapKey(qPath, ItemType.PROPERTY));
+ }
- return null;
+ return itemData;
}
public ItemData getItemData(QPath qPath) throws RepositoryException, IllegalStateException
{
log.debug("InmemoryContainer finding " + qPath.getAsString());
- Object o = items.get(qPath.getAsString());
+
+ Object o = items.get(new MapKey(qPath, ItemType.NODE));
+ if (o == null)
+ {
+ o = items.get(new MapKey(qPath, ItemType.PROPERTY));
+ }
+
log.debug("InmemoryContainer FOUND " + qPath.getAsString() + " " + o);
return (ItemData)o;
}
@@ -149,11 +160,11 @@
IllegalStateException
{
- if (items.get(item.getQPath().getAsString()) != null)
+ if (items.get(new MapKey(item.getQPath(), ItemType.getItemType(item))) != null)
throw new ItemExistsException("WorkspaceContainerImpl.add(Item) item '" + item.getQPath().getAsString()
+ "' already exists!");
- items.put(item.getQPath().getAsString(), item);
+ items.put(new MapKey(item.getQPath(), ItemType.getItemType(item)), item);
log.debug("InmemoryContainer added node " + item.getQPath().getAsString());
Iterator props = getChildProperties(item).iterator();
while (props.hasNext())
@@ -170,7 +181,7 @@
public void add(PropertyData prop) throws RepositoryException, UnsupportedOperationException,
InvalidItemStateException, IllegalStateException
{
- items.put(prop.getQPath().getAsString(), prop);
+ items.put(new MapKey(prop.getQPath(), ItemType.getItemType(prop)), prop);
log.debug("InmemoryContainer added property " + prop.getQPath().getAsString());
}
@@ -189,21 +200,21 @@
public void update(PropertyData item) throws RepositoryException, UnsupportedOperationException,
InvalidItemStateException, IllegalStateException
{
- items.put(item.getQPath().getAsString(), item);
+ items.put(new MapKey(item.getQPath(), ItemType.getItemType(item)), item);
log.debug("InmemoryContainer updated " + item);
}
public void delete(NodeData data) throws RepositoryException, UnsupportedOperationException,
InvalidItemStateException, IllegalStateException
{
- items.remove(data.getQPath().getAsString());
+ items.remove(new MapKey(data.getQPath(), ItemType.getItemType(data)));
log.debug("InmemoryContainer removed " + data.getQPath().getAsString());
}
public void delete(PropertyData data) throws RepositoryException, UnsupportedOperationException,
InvalidItemStateException, IllegalStateException
{
- items.remove(data.getQPath().getAsString());
+ items.remove(new MapKey(data.getQPath(), ItemType.getItemType(data)));
log.debug("InmemoryContainer removed " + data.getQPath().getAsString());
}
@@ -240,8 +251,8 @@
Iterator i = items.keySet().iterator();
while (i.hasNext())
{
- JCRPath d = (JCRPath)i.next();
- str += d.getInternalPath() + "\n";
+ MapKey d = (MapKey)i.next();
+ str += d.getQPath().getAsString() + '\t' + d.getItemType().toString() + "\n";
}
return str;
}
@@ -253,4 +264,54 @@
}
+ class MapKey
+ {
+
+ private final QPath path;
+
+ private final String key;
+
+ private final ItemType itemType;
+
+ MapKey(QPath path, ItemType itemType)
+ {
+ this.path = path;
+ this.itemType = itemType;
+ this.key = key(this.path, this.itemType);
+ }
+
+ protected String key(final QPath path, ItemType itemType)
+ {
+ StringBuilder sk = new StringBuilder();
+ sk.append(path.getAsString());
+ sk.append(itemType.toString());
+
+ return sk.toString();
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (key.hashCode() == obj.hashCode() && obj instanceof MapKey)
+ return key.equals(((MapKey)obj).key);
+ return false;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return key.hashCode();
+ }
+
+ QPath getQPath()
+ {
+ return path;
+ }
+
+ ItemType getItemType()
+ {
+ return itemType;
+ }
+ }
+
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -27,13 +27,13 @@
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.persistent.ByteArrayPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.CleanableFilePersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLExceptionHandler.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLExceptionHandler.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLExceptionHandler.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -20,9 +20,9 @@
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.storage.JCRInvalidItemStateException;
import org.exoplatform.services.jcr.impl.storage.JCRItemExistsException;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/statistics/StatisticsJDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/statistics/StatisticsJDBCStorageConnection.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/statistics/StatisticsJDBCStorageConnection.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -17,10 +17,10 @@
package org.exoplatform.services.jcr.impl.storage.jdbc.statistics;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
import org.exoplatform.services.jcr.statistics.JCRStatisticsManager;
import org.exoplatform.services.jcr.statistics.Statistics;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/VersionHistoryRemover.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/VersionHistoryRemover.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/VersionHistoryRemover.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.dataflow.ItemDataConsumer;
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
@@ -30,7 +31,6 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -31,6 +31,7 @@
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
@@ -38,7 +39,6 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
import org.exoplatform.services.jcr.impl.dataflow.version.VersionHistoryDataHelper;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -19,10 +19,10 @@
package org.exoplatform.services.jcr.storage;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import java.util.List;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -22,11 +22,11 @@
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCacheableWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCacheableWorkspaceDataManager.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCacheableWorkspaceDataManager.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -23,11 +23,11 @@
import org.exoplatform.services.jcr.dataflow.persistent.PersistedPropertyData;
import org.exoplatform.services.jcr.dataflow.persistent.WorkspaceStorageCache;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.storage.SystemDataContainerHolder;
import org.exoplatform.services.jcr.impl.storage.WorkspaceDataContainerBase;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestLinkedCacheMultithread.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestLinkedCacheMultithread.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestLinkedCacheMultithread.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -20,12 +20,12 @@
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspaceStorageCacheBaseCase.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspaceStorageCacheBaseCase.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspaceStorageCacheBaseCase.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -27,13 +27,13 @@
import org.exoplatform.services.jcr.dataflow.persistent.PersistedPropertyData;
import org.exoplatform.services.jcr.dataflow.persistent.WorkspaceStorageCache;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.util.IdGenerator;
import java.util.ArrayList;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCHWDCTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCHWDCTest.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCHWDCTest.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -27,12 +27,12 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCStorageConnectionTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCStorageConnectionTest.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/JDBCStorageConnectionTest.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -28,12 +28,12 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/StorageUpdateTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/StorageUpdateTest.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/StorageUpdateTest.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -21,11 +21,11 @@
import org.exoplatform.container.ExoContainer;
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.core.PropertyImpl;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestJCRVSReadWrite.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestJCRVSReadWrite.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestJCRVSReadWrite.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -25,13 +25,13 @@
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLBenchmarkTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLBenchmarkTest.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/SQLBenchmarkTest.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -8,13 +8,13 @@
import org.exoplatform.services.jcr.dataflow.persistent.PersistedPropertyData;
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/TestFrozenNodeInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/TestFrozenNodeInitializer.java 2010-09-17 14:58:19 UTC (rev 3132)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/TestFrozenNodeInitializer.java 2010-09-20 06:09:06 UTC (rev 3133)
@@ -22,12 +22,12 @@
import org.exoplatform.services.jcr.dataflow.persistent.PersistedNodeData;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.ItemImpl.ItemType;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import java.util.List;
15 years, 8 months
exo-jcr SVN: r3132 - in jcr/trunk/exo.jcr.component.core/src/main: resources/conf/storage/cleanup and 1 other directory.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-09-17 10:58:19 -0400 (Fri, 17 Sep 2010)
New Revision: 3132
Added:
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2v8.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mssql.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora-analyze.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.sybase.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2v8.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mssql.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora-analyze.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.sybase.sql
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql
Log:
EXOJCR-939: scripts added. All supported databases tested.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java 2010-09-17 09:45:55 UTC (rev 3131)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java 2010-09-17 14:58:19 UTC (rev 3132)
@@ -180,10 +180,6 @@
{
sqlPath = sqlPath + "jdbc.mssql.sql";
}
- else if (dbDialect == DBConstants.DB_DIALECT_DERBY)
- {
- sqlPath = sqlPath + "jdbc.derby.sql";
- }
else if (dbDialect == DBConstants.DB_DIALECT_DB2)
{
sqlPath = sqlPath + "jdbc.db2.sql";
@@ -196,10 +192,6 @@
{
sqlPath = sqlPath + "jdbc.sybase.sql";
}
- else if (dbDialect == DBConstants.DB_DIALECT_INGRES)
- {
- sqlPath = sqlPath + "jdbc.ingres.sql";
- }
else if (dbDialect == DBConstants.DB_DIALECT_HSQLDB)
{
sqlPath = sqlPath + "jdbc.sql";
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2v8.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2v8.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.db2v8.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mssql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mssql.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mssql.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
\ No newline at end of file
Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql 2010-09-17 09:45:55 UTC (rev 3131)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -1,3 +1,3 @@
DROP TABLE JCR_MREF;
DROP TABLE JCR_MVALUE;
-DROP TABLE JCR_MITEM;
+DROP TABLE JCR_MITEM;
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora-analyze.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora-analyze.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora-analyze.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,90 @@
+/*$DELIMITER:/ */
+CREATE TABLE JCR_MCONTAINER(
+ VERSION VARCHAR2(96) NOT NULL,
+ CONSTRAINT JCR_PK_MCONTAINER PRIMARY KEY(VERSION)
+)
+/
+CREATE TABLE JCR_MITEM(
+ ID VARCHAR2(96) NOT NULL,
+ PARENT_ID VARCHAR2(96) NOT NULL,
+ NAME VARCHAR2(512) NOT NULL,
+ VERSION INTEGER NOT NULL,
+ I_CLASS INTEGER NOT NULL,
+ I_INDEX INTEGER NOT NULL,
+ N_ORDER_NUM INTEGER,
+ P_TYPE INTEGER,
+ P_MULTIVALUED INTEGER,
+ CONSTRAINT JCR_PK_MITEM PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_MITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_MITEM(ID)
+ )
+/
+CREATE INDEX JCR_IDX_MITEM_PARENT_FK ON JCR_MITEM(PARENT_ID)
+/
+CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT ON JCR_MITEM( PARENT_ID, NAME, I_INDEX, I_CLASS, VERSION DESC)
+/
+CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT_NAME ON JCR_mITEM(I_CLASS, PARENT_ID, NAME, I_INDEX, VERSION DESC)
+/
+CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT_ID ON JCR_MITEM(I_CLASS, PARENT_ID, ID, VERSION DESC)
+/
+CREATE TABLE JCR_MVALUE(
+ ID INTEGER NOT NULL,
+ DATA BLOB,
+ ORDER_NUM INTEGER NOT NULL,
+ PROPERTY_ID VARCHAR(96) NOT NULL,
+ STORAGE_DESC VARCHAR(512),
+ CONSTRAINT JCR_PK_MVALUE PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_MVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_MITEM(ID)
+ )
+/
+CREATE UNIQUE INDEX JCR_IDX_MVALUE_PROPERTY ON JCR_MVALUE(PROPERTY_ID, ORDER_NUM)
+/
+CREATE sequence JCR_MVALUE_SEQ
+/
+CREATE OR REPLACE trigger BI_JCR_MVALUE
+ before insert on JCR_MVALUE
+ for each row
+begin
+ SELECT JCR_MVALUE_SEQ.nextval INTO :NEW.ID FROM dual;
+end;
+/
+CREATE TABLE JCR_MREF(
+ NODE_ID VARCHAR(96) NOT NULL,
+ PROPERTY_ID VARCHAR(96) NOT NULL,
+ ORDER_NUM INTEGER NOT NULL,
+ CONSTRAINT JCR_PK_MREF PRIMARY KEY(NODE_ID, PROPERTY_ID, ORDER_NUM)
+)
+/
+CREATE UNIQUE INDEX JCR_IDX_MREF_PROPERTY ON JCR_MREF(PROPERTY_ID, ORDER_NUM)
+/
+
+
+
+
+
+
+ANALYZE INDEX JCR_PK_SITEM COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MITEM_ID COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MITEM_PATH COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_PK_MNODE COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MNODE_PARENT COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MNODE_PARENTID COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_PK_MPROPERTY COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MPROPERTY_PARENT COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MPROPERTY_PARENTID COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_PK_MVALUE COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MVALUE_PROPERTY COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_PK_MREF COMPUTE STATISTICS
+/
+ANALYZE INDEX JCR_IDX_MREF_PROPERTY COMPUTE STATISTICS
+/
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.ora.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,6 @@
+/*$DELIMITER:/ */
+DROP TABLE JCR_MREF/
+DROP TABLE JCR_MVALUE/
+DROP TABLE JCR_MITEM/
+
+
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.sybase.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.sybase.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.sybase.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,4 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
+
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2v8.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2v8.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.db2v8.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mssql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mssql.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mssql.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora-analyze.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora-analyze.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora-analyze.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,5 @@
+/*$DELIMITER:/ */
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?)/
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?)/
+delete from JCR_SITEM where CONTAINER_NAME=?/
+
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.ora.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,4 @@
+/*$DELIMITER:/ */
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?)/
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?)/
+delete from JCR_SITEM where CONTAINER_NAME=?/
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.sybase.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.sybase.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.sybase.sql 2010-09-17 14:58:19 UTC (rev 3132)
@@ -0,0 +1,3 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;
15 years, 8 months
exo-jcr SVN: r3131 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-09-17 05:45:55 -0400 (Fri, 17 Sep 2010)
New Revision: 3131
Added:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/IngresSQLDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/OracleDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/PgSQLDBCleaner.java
Removed:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/MultiDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/SingleDBCleaner.java
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java
Log:
EXOJCR-939: Make DBCLeaner extenders for Oracle PgSQL and Ingress dialects.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleaner.java 2010-09-17 08:39:43 UTC (rev 3130)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleaner.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -28,6 +28,7 @@
import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
import java.sql.Connection;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
@@ -43,31 +44,57 @@
* @author <a href="karpenko.sergiy(a)gmail.com">Karpenko Sergiy</a>
* @version $Id: DBCleaner.java 111 2008-11-11 11:11:11Z serg $
*/
-public abstract class DBCleaner
+public class DBCleaner
{
+ public final String CLEAN_JCR_SITEM_AS_DEFAULT = "/*$CLEAN_JCR_SITEM_DEFAULT*/";
protected final static Log LOG = ExoLogger.getLogger("exo.jcr.component.core.DBCleaner");
+ protected final int MAX_IDS_RETURNED = 100;
+
+ protected String GET_CHILD_IDS;
+
+ protected String REMOVE_ITEMS;
+
+ protected final String containerName;
+
protected final Pattern dbObjectNamePattern;
protected final Connection connection;
protected String[] scripts;
+ protected final boolean isMultiDB;
+
/**
* Constructor.
*
- * @param containerName - workspace name
- * @param connection - SQL conneciton
+ * @param containerName - container name (a.k.a workspace name)
+ * @param connection - connection to database where workspace tables is placed
+ * @param inputStream - inputStream from script file
+ * @param isMultiDB - isMultiDB
+ * @throws IOException - if exception occures on parsing script file input stream
*/
- public DBCleaner(Connection connection, InputStream inputStream) throws IOException
+ public DBCleaner(String containerName, Connection connection, InputStream inputStream, boolean isMultiDB)
+ throws IOException
{
this.dbObjectNamePattern = Pattern.compile(DBInitializer.SQL_OBJECTNAME, Pattern.CASE_INSENSITIVE);
this.connection = connection;
// parse script
this.scripts = readScriptResource(inputStream);
+ this.containerName = containerName;
+ this.isMultiDB = isMultiDB;
+ prepareQueries();
}
+ protected void prepareQueries()
+ {
+ GET_CHILD_IDS =
+ "select ID from JCR_SITEM where CONTAINER_NAME=? and ID not in(select PARENT_ID from JCR_SITEM where CONTAINER_NAME=?)";
+
+ REMOVE_ITEMS = "delete from JCR_SITEM where ID in( ? )";
+ }
+
/**
* Remove workspace data from database.
* <ul>
@@ -102,7 +129,7 @@
{
if (!canExecuteQuery(connection, sql = s))
{
- // table not found , so try drop other
+ // table from query not found , so try drop other
continue;
}
@@ -153,11 +180,121 @@
}
}
+ /**
+ * The default implementation of remove rows from JCR_SITEM table.
+ * Some database do not support cascade delete, or need special sittings, so
+ * query "delete from JCR_SITEM where CONTAINER_NAME=?" may cause constraint violation exception.
+ * This method takes a leafs (child nodes/properties) and remove them till, no one record is left.
+ *
+ * @throws SQLException - SQL exception.
+ */
+ protected void clearItemsByDefault(Connection connection, String containerName) throws SQLException
+ {
+ // Remove only child nodes in cycle, till all nodes will be removed.
+ // Such algorithm used to avoid any constraint violation exception related to foreign key.
+ PreparedStatement getChildItems = null;
+ final Statement removeItems = connection.createStatement();
+
+ try
+ {
+ getChildItems = connection.prepareStatement(GET_CHILD_IDS);
+ getChildItems.setString(1, containerName);
+ getChildItems.setString(2, containerName);
+
+ getChildItems.setMaxRows(MAX_IDS_RETURNED);
+
+ do
+ {
+ final PreparedStatement getChildIds = getChildItems;
+ ResultSet result =
+ (ResultSet)SecurityHelper.doPriviledgedSQLExceptionAction(new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return getChildIds.executeQuery();
+ }
+ });
+
+ StringBuilder childListBuilder = new StringBuilder();
+ if (result.next())
+ {
+ childListBuilder.append("'" + result.getString(1) + "'");
+ }
+ else
+ {
+ break;
+ }
+ while (result.next())
+ {
+ childListBuilder.append(" , '" + result.getString(1) + "'");
+ }
+ // now remove nodes;
+ final String q = REMOVE_ITEMS.replace("?", childListBuilder.toString());
+ SecurityHelper.doPriviledgedSQLExceptionAction(new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ removeItems.executeUpdate(q);
+ return null;
+ }
+ });
+ }
+ while (true);
+ }
+ finally
+ {
+ if (getChildItems != null)
+ {
+ getChildItems.close();
+ getChildItems = null;
+ }
+ if (removeItems != null)
+ {
+ removeItems.close();
+ }
+ }
+ }
+
+ /**
+ * Check can we safely execute query.
+ * If tables used in query does not exists ,we can not execute query.
+ */
protected boolean canExecuteQuery(Connection conn, String sql) throws SQLException
{
- return isTablesFromQueryExists(conn, sql);
+ if (!isMultiDB && sql.equalsIgnoreCase(CLEAN_JCR_SITEM_AS_DEFAULT))
+ {
+ // check queries used in clearItemsByDefault
+ if (!canExecuteQuery(conn, GET_CHILD_IDS))
+ {
+ return false;
+ }
+ if (!canExecuteQuery(conn, REMOVE_ITEMS))
+ {
+ return false;
+ }
+ return true;
+ }
+ else
+ {
+ Matcher tMatcher = dbObjectNamePattern.matcher(sql);
+ while (tMatcher.find())
+ {
+ // got table name
+ String tableName = sql.substring(tMatcher.start(), tMatcher.end());
+ if (!isTableExists(conn, tableName))
+ {
+ LOG.error("Table [" + tableName + "] from query [" + sql
+ + "] was not found. So query will not be executed , but will try execute next one.");
+ return false;
+ }
+ }
+ return true;
+ }
}
+ /**
+ * Cleans redundant whitespaces from query.
+ */
protected String cleanWhitespaces(String string)
{
if (string != null)
@@ -175,16 +312,29 @@
return string;
}
- protected void executeQuery(final Statement statement, final String sql) throws SQLException
+ /**
+ * Execute query.
+ */
+ protected void executeQuery(final Statement statement, String sql) throws SQLException
{
- SecurityHelper.doPriviledgedSQLExceptionAction(new PrivilegedExceptionAction<Object>()
+ if (!isMultiDB && sql.equalsIgnoreCase(CLEAN_JCR_SITEM_AS_DEFAULT))
{
- public Object run() throws Exception
+ clearItemsByDefault(statement.getConnection(), containerName);
+ }
+ else
+ {
+ // in case of singleDB query - check query for "?" mask and replace it with containerName
+ final String q = (containerName != null) ? sql.replace("?", "'" + containerName + "'") : sql;
+ //super.executeQuery(statement, q);
+ SecurityHelper.doPriviledgedSQLExceptionAction(new PrivilegedExceptionAction<Object>()
{
- statement.executeUpdate(sql);
- return null;
- }
- });
+ public Object run() throws Exception
+ {
+ statement.executeUpdate(q);
+ return null;
+ }
+ });
+ }
}
protected boolean isTableExists(Connection conn, String tableName) throws SQLException
@@ -212,23 +362,9 @@
}
}
- protected boolean isTablesFromQueryExists(Connection conn, String sql) throws SQLException
- {
- Matcher tMatcher = dbObjectNamePattern.matcher(sql);
- while (tMatcher.find())
- {
- // got table name
- String tableName = sql.substring(tMatcher.start(), tMatcher.end());
- if (!isTableExists(conn, tableName))
- {
- LOG.error("Table [" + tableName + "] from query [" + sql
- + "] was not found. So query will not be executed , but will try execute next one.");
- return false;
- }
- }
- return true;
- }
-
+ /**
+ * Extracts SQL queries from script file input stream.
+ */
protected String[] readScriptResource(final InputStream is) throws IOException
{
//extract string
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java 2010-09-17 08:39:43 UTC (rev 3130)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -37,6 +37,8 @@
import javax.sql.DataSource;
/**
+ * DBCleanerService deliver tools for clean workspace or repository data from database.
+ *
* Created by The eXo Platform SAS.
*
* <br/>Date:
@@ -48,6 +50,16 @@
{
protected final static Log LOG = ExoLogger.getLogger("exo.jcr.component.core.DBCleanerService");
+ /**
+ * Remove workspace data.
+ * Tables will be removed in case of multiDB, or only record will be removed in case of singleDb.
+ *
+ * @param wsConfig - workspace configuration.
+ * @throws RepositoryConfigurationException - exception on parsing workspace configuration
+ * @throws NamingException - exception on parsing workspace configuration or getting DataSource
+ * @throws RepositoryException - exception on parsing workspace configuration or data cleanup
+ * @throws IOException - exception on parsing workspace configuration
+ */
public static void removeWorkspaceData(WorkspaceEntry wsConfig) throws RepositoryConfigurationException,
NamingException, RepositoryException, IOException
{
@@ -70,7 +82,8 @@
throw new RepositoryException(err, e);
}
- final String sqlPath = getScriptPath(wsJDBCConfig.getDbDialect(), wsJDBCConfig.isMultiDb());
+ String dbDialect = wsJDBCConfig.getDbDialect();
+ final String sqlPath = getScriptPath(dbDialect, wsJDBCConfig.isMultiDb());
PrivilegedAction<InputStream> action = new PrivilegedAction<InputStream>()
{
public InputStream run()
@@ -81,15 +94,30 @@
InputStream is = AccessController.doPrivileged(action);
DBCleaner cleaner;
- if (wsJDBCConfig.isMultiDb())
+ if (dbDialect == DBConstants.DB_DIALECT_ORACLEOCI)
{
- cleaner = new MultiDBCleaner(conn, is);
+ LOG.warn(DBConstants.DB_DIALECT_ORACLEOCI + " dialect is experimental!");
+ cleaner = new OracleDBCleaner(wsJDBCConfig.getContainerName(), conn, is, wsJDBCConfig.isMultiDb());
}
+ else if (dbDialect == DBConstants.DB_DIALECT_ORACLE)
+ {
+ cleaner = new OracleDBCleaner(wsJDBCConfig.getContainerName(), conn, is, wsJDBCConfig.isMultiDb());
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_PGSQL)
+ {
+ cleaner = new PgSQLDBCleaner(wsJDBCConfig.getContainerName(), conn, is, wsJDBCConfig.isMultiDb());
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_INGRES)
+ {
+ cleaner = new IngresSQLDBCleaner(wsJDBCConfig.getContainerName(), conn, is, wsJDBCConfig.isMultiDb());
+ }
else
{
- cleaner = new SingleDBCleaner(conn, is, wsJDBCConfig.getContainerName());
+ //use default DBCleaner
+ cleaner = new DBCleaner(wsJDBCConfig.getContainerName(), conn, is, wsJDBCConfig.isMultiDb());
}
+ // clean workspace
try
{
cleaner.cleanWorkspace();
@@ -100,6 +128,15 @@
}
}
+ /**
+ * Cleanup repository data from database.
+ *
+ * @param repoConfig - repository configuration
+ * @throws RepositoryConfigurationException - exception on parsing workspace configuration
+ * @throws NamingException - exception on parsing workspace configuration or getting DataSource
+ * @throws RepositoryException - exception on parsing workspace configuration or data cleanup
+ * @throws IOException - exception on parsing workspace configuration
+ */
public static void removeRepositoryData(RepositoryEntry repoConfig) throws RepositoryConfigurationException,
NamingException, RepositoryException, IOException
{
@@ -109,6 +146,12 @@
}
}
+ /**
+ * Make a path to scripts file according to used database dialect.
+ * @param dbDialect - database dialect
+ * @param multiDb - is multi db
+ * @return Path to script file
+ */
private static String getScriptPath(String dbDialect, boolean multiDb)
{
String sqlPath = "/conf/storage/cleanup/jcr-" + (multiDb ? "m" : "s");
@@ -168,5 +211,4 @@
}
return sqlPath;
}
-
}
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/IngresSQLDBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/IngresSQLDBCleaner.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/IngresSQLDBCleaner.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.util.jdbc;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * <br/>Date:
+ *
+ * @author <a href="karpenko.sergiy(a)gmail.com">Karpenko Sergiy</a>
+ * @version $Id: IngresSQLDBCleaner.java 111 2008-11-11 11:11:11Z serg $
+ */
+public class IngresSQLDBCleaner extends DBCleaner
+{
+ /**
+ * Constructor.
+ */
+ public IngresSQLDBCleaner(String containerName, Connection connection, InputStream inputStream, boolean isMultiDB)
+ throws IOException
+ {
+ super(containerName, connection, inputStream, isMultiDB);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected boolean isTableExists(Connection conn, String tableName) throws SQLException
+ {
+ return super.isTableExists(conn, tableName.toUpperCase().toLowerCase());
+ }
+}
Deleted: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/MultiDBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/MultiDBCleaner.java 2010-09-17 08:39:43 UTC (rev 3130)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/MultiDBCleaner.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2003-2010 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- */
-package org.exoplatform.services.jcr.impl.util.jdbc;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.sql.Connection;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * <br/>Date:
- *
- * @author <a href="karpenko.sergiy(a)gmail.com">Karpenko Sergiy</a>
- * @version $Id: MultiDBCLeaner.java 111 2008-11-11 11:11:11Z serg $
- */
-public final class MultiDBCleaner extends DBCleaner
-{
- public MultiDBCleaner(Connection connection, InputStream inputStream) throws IOException
- {
- super(connection, inputStream);
- }
-}
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/OracleDBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/OracleDBCleaner.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/OracleDBCleaner.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.util.jdbc;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * <br/>Date:
+ *
+ * @author <a href="karpenko.sergiy(a)gmail.com">Karpenko Sergiy</a>
+ * @version $Id: OracleDBCleaner.java 111 2008-11-11 11:11:11Z serg $
+ */
+public class OracleDBCleaner extends DBCleaner
+{
+
+ /**
+ * Constructor.
+ */
+ public OracleDBCleaner(String containerName, Connection connection, InputStream inputStream, boolean isMultiDB)
+ throws IOException
+ {
+ super(containerName, connection, inputStream, isMultiDB);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected boolean isTableExists(Connection conn, String tableName) throws SQLException
+ {
+ Statement st = null;
+ try
+ {
+ st = conn.createStatement();
+ st.executeUpdate("SELECT 1 FROM " + tableName);
+ return true;
+ }
+ catch (SQLException e)
+ {
+ // check: ORA-00942: table or view does not exist
+ if (e.getMessage().indexOf("ORA-00942") >= 0)
+ return false;
+ throw e;
+ }
+ finally
+ {
+ if (st != null)
+ {
+ try
+ {
+ st.close();
+ }
+ catch (SQLException e)
+ {
+ LOG.error("Can't close the Statement: " + e);
+ }
+ }
+ }
+ }
+}
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/PgSQLDBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/PgSQLDBCleaner.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/PgSQLDBCleaner.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.util.jdbc;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * <br/>Date:
+ *
+ * @author <a href="karpenko.sergiy(a)gmail.com">Karpenko Sergiy</a>
+ * @version $Id: PgSQLDBCLeaner.java 111 2008-11-11 11:11:11Z serg $
+ */
+public class PgSQLDBCleaner extends DBCleaner
+{
+ /**
+ * Constructor.
+ */
+ public PgSQLDBCleaner(String containerName, Connection connection, InputStream inputStream, boolean isMultiDB)
+ throws IOException
+ {
+ super(containerName, connection, inputStream, isMultiDB);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected boolean isTableExists(Connection conn, String tableName) throws SQLException
+ {
+ return super.isTableExists(conn, tableName.toUpperCase().toLowerCase());
+ }
+}
Deleted: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/SingleDBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/SingleDBCleaner.java 2010-09-17 08:39:43 UTC (rev 3130)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/SingleDBCleaner.java 2010-09-17 09:45:55 UTC (rev 3131)
@@ -1,163 +0,0 @@
-/*
- * Copyright (C) 2003-2010 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- */
-package org.exoplatform.services.jcr.impl.util.jdbc;
-
-import org.exoplatform.services.jcr.impl.util.SecurityHelper;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.PrivilegedExceptionAction;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * <br/>Date:
- *
- * @author <a href="karpenko.sergiy(a)gmail.com">Karpenko Sergiy</a>
- * @version $Id: SingleDBCleaner.java 111 2008-11-11 11:11:11Z serg $
- */
-public final class SingleDBCleaner extends DBCleaner
-{
- public final String CLEAN_JCR_SITEM_AS_DEFAULT = "/*$CLEAN_JCR_SITEM_DEFAULT*/";
-
- protected final int MAX_IDS_RETURNED = 100;
-
- protected String GET_CHILD_IDS;
-
- protected String REMOVE_ITEMS;
-
- protected final String containerName;
-
- public SingleDBCleaner(Connection connection, InputStream inputStream, String containerName) throws IOException
- {
- super(connection, inputStream);
- this.containerName = containerName;
- prepareQueries();
- }
-
- protected void prepareQueries()
- {
- GET_CHILD_IDS =
- "select ID from JCR_SITEM where CONTAINER_NAME=? and ID not in(select PARENT_ID from JCR_SITEM where CONTAINER_NAME=?)";
-
- REMOVE_ITEMS = "delete from JCR_SITEM where ID in( ? )";
- }
-
- /**
- * {@inheritDoc}
- */
- protected boolean canExecuteQuery(Connection conn, String sql) throws SQLException
- {
- if (sql.equalsIgnoreCase(CLEAN_JCR_SITEM_AS_DEFAULT))
- {
- return true;
- }
- else
- {
- return isTablesFromQueryExists(conn, sql);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- protected void executeQuery(final Statement statement, final String sql) throws SQLException
- {
- if (sql.equalsIgnoreCase(CLEAN_JCR_SITEM_AS_DEFAULT))
- {
- clearItems(statement.getConnection(), containerName);
- }
- else
- {
- // check query for "?" mask and replace it with containerName
- String q = sql.replace("?", "'" + containerName + "'");
- super.executeQuery(statement, q);
- }
- }
-
- private void clearItems(Connection connection, String containerName) throws SQLException
- {
- // Remove only child nodes in cycle, till all nodes will be removed.
- // Such algorithm used to avoid any constraint violation exception related to foreign key.
- PreparedStatement getChildItems = null;
- final Statement removeItems = connection.createStatement();
-
- try
- {
- getChildItems = connection.prepareStatement(GET_CHILD_IDS);
- getChildItems.setString(1, containerName);
- getChildItems.setString(2, containerName);
-
- getChildItems.setMaxRows(MAX_IDS_RETURNED);
-
- do
- {
- final PreparedStatement getChildIds = getChildItems;
- ResultSet result =
- (ResultSet)SecurityHelper.doPriviledgedSQLExceptionAction(new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- return getChildIds.executeQuery();
- }
- });
-
- StringBuilder childListBuilder = new StringBuilder();
- if (result.next())
- {
- childListBuilder.append("'" + result.getString(1) + "'");
- }
- else
- {
- break;
- }
- while (result.next())
- {
- childListBuilder.append(" , '" + result.getString(1) + "'");
- }
- // now remove nodes;
- final String q = REMOVE_ITEMS.replace("?", childListBuilder.toString());
- SecurityHelper.doPriviledgedSQLExceptionAction(new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- removeItems.executeUpdate(q);
- return null;
- }
- });
- }
- while (true);
- }
- finally
- {
- if (getChildItems != null)
- {
- getChildItems.close();
- getChildItems = null;
- }
- if (removeItems != null)
- {
- removeItems.close();
- }
- }
- }
-}
15 years, 8 months
exo-jcr SVN: r3130 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: storage/jdbc and 1 other directory.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-09-17 04:39:43 -0400 (Fri, 17 Sep 2010)
New Revision: 3130
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
Log:
EXOJCR-954: properly getting property record from DB
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java 2010-09-17 08:20:10 UTC (rev 3129)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java 2010-09-17 08:39:43 UTC (rev 3130)
@@ -239,17 +239,33 @@
/**
* @see org.jboss.cache.loader.CacheLoader#put(java.util.List)
*/
- public void put(List<Modification> modifications) throws Exception
+ public void put(final List<Modification> modifications) throws Exception
{
- cl.put(modifications);
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ cl.put(modifications);
+ return null;
+
+ }
+ });
}
/**
* @see org.jboss.cache.loader.CacheLoader#put(org.jboss.cache.Fqn, java.util.Map)
*/
- public void put(Fqn name, Map<Object, Object> attributes) throws Exception
+ public void put(final Fqn name, final Map<Object, Object> attributes) throws Exception
{
- cl.put(name, attributes);
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ cl.put(name, attributes);
+ return null;
+
+ }
+ });
}
/**
@@ -257,7 +273,6 @@
*/
public Object put(final Fqn name, final Object key, final Object value) throws Exception
{
-
return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
public Object run() throws Exception
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-09-17 08:20:10 UTC (rev 3129)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-09-17 08:39:43 UTC (rev 3130)
@@ -1119,8 +1119,8 @@
if (valueRecord.next())
{
String storageId = valueRecord.getString(COLUMN_VSTORAGE_DESC);
- return valueRecord.wasNull() ? readValueData(cid, orderNumb, persistedVersion, valueRecord
- .getBinaryStream(COLUMN_VDATA)) : readValueData(propertyId, orderNumb, storageId);
+ return valueRecord.wasNull() ? readValueData(cid, orderNumb, persistedVersion,
+ valueRecord.getBinaryStream(COLUMN_VDATA)) : readValueData(propertyId, orderNumb, storageId);
}
return null;
@@ -1222,20 +1222,16 @@
ResultSet item = null;
try
{
- if (itemType != ItemType.PROPERTY)
+ item = findItemByName(parentId, name.getAsString(), name.getIndex());
+ while (item.next())
{
- item = findItemByName(parentId, name.getAsString(), name.getIndex());
+ int columnClass = item.getInt(COLUMN_CLASS);
+ if (itemType == ItemType.UNKNOWN || columnClass == itemType.ordinal())
+ {
+ return itemData(parent.getQPath(), item, columnClass, parent.getACL());
+ }
}
- else
- {
- item = findPropertyByName(parentId, name.getAsString());
- }
- if (item.next())
- {
- return itemData(parent.getQPath(), item, item.getInt(COLUMN_CLASS), parent.getACL());
- }
-
return null;
}
finally
@@ -2021,8 +2017,8 @@
{
// use permissions from existed parent
acl =
- new AccessControlList(readACLOwner(cid), parentACL.hasPermissions() ? parentACL
- .getPermissionEntries() : null);
+ new AccessControlList(readACLOwner(cid), parentACL.hasPermissions()
+ ? parentACL.getPermissionEntries() : null);
}
else
{
@@ -2056,8 +2052,8 @@
if (parentACL != null)
// construct ACL from existed parent ACL
acl =
- new AccessControlList(parentACL.getOwner(), parentACL.hasPermissions() ? parentACL
- .getPermissionEntries() : null);
+ new AccessControlList(parentACL.getOwner(), parentACL.hasPermissions()
+ ? parentACL.getPermissionEntries() : null);
else
// have to search nearest ancestor owner and permissions in ACL manager
// acl = traverseACL(cpid);
@@ -2231,8 +2227,8 @@
final int orderNum = valueRecords.getInt(COLUMN_VORDERNUM);
final String storageId = valueRecords.getString(COLUMN_VSTORAGE_DESC);
ValueData vdata =
- valueRecords.wasNull() ? readValueData(cid, orderNum, cversion, valueRecords
- .getBinaryStream(COLUMN_VDATA)) : readValueData(identifier, orderNum, storageId);
+ valueRecords.wasNull() ? readValueData(cid, orderNum, cversion,
+ valueRecords.getBinaryStream(COLUMN_VDATA)) : readValueData(identifier, orderNum, storageId);
data.add(vdata);
}
}
15 years, 8 months
exo-jcr SVN: r3129 - in jcr/trunk/exo.jcr.component.core/src/main: resources/conf/storage/cleanup and 1 other directory.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-09-17 04:20:10 -0400 (Fri, 17 Sep 2010)
New Revision: 3129
Added:
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql-utf8.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.pgsql.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql-utf8.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.pgsql.sql
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java
Log:
EXOJCR-939: scripts added
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java 2010-09-17 07:05:17 UTC (rev 3128)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBCleanerService.java 2010-09-17 08:20:10 UTC (rev 3129)
@@ -19,6 +19,7 @@
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.RepositoryEntry;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
+import org.exoplatform.services.jcr.impl.storage.jdbc.DBConstants;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -69,7 +70,7 @@
throw new RepositoryException(err, e);
}
- final String sqlPath = "/conf/storage/cleanup/jcr-" + (wsJDBCConfig.isMultiDb() ? "m" : "s") + "jdbc.sql";
+ final String sqlPath = getScriptPath(wsJDBCConfig.getDbDialect(), wsJDBCConfig.isMultiDb());
PrivilegedAction<InputStream> action = new PrivilegedAction<InputStream>()
{
public InputStream run()
@@ -107,4 +108,65 @@
removeWorkspaceData(wsEntry);
}
}
+
+ private static String getScriptPath(String dbDialect, boolean multiDb)
+ {
+ String sqlPath = "/conf/storage/cleanup/jcr-" + (multiDb ? "m" : "s");
+ if (dbDialect == DBConstants.DB_DIALECT_ORACLEOCI)
+ {
+ LOG.warn(DBConstants.DB_DIALECT_ORACLEOCI + " dialect is experimental!");
+ sqlPath = sqlPath + "jdbc.ora.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_ORACLE)
+ {
+ sqlPath = sqlPath + "jdbc.ora.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_PGSQL)
+ {
+ sqlPath = sqlPath + "jdbc.pgsql.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_MYSQL)
+ {
+ sqlPath = sqlPath + "jdbc.mysql.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_MYSQL_UTF8)
+ {
+ sqlPath = sqlPath + "jdbc.mysql-utf8.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_MSSQL)
+ {
+ sqlPath = sqlPath + "jdbc.mssql.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_DERBY)
+ {
+ sqlPath = sqlPath + "jdbc.derby.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_DB2)
+ {
+ sqlPath = sqlPath + "jdbc.db2.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_DB2V8)
+ {
+ sqlPath = sqlPath + "jdbc.db2v8.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_SYBASE)
+ {
+ sqlPath = sqlPath + "jdbc.sybase.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_INGRES)
+ {
+ sqlPath = sqlPath + "jdbc.ingres.sql";
+ }
+ else if (dbDialect == DBConstants.DB_DIALECT_HSQLDB)
+ {
+ sqlPath = sqlPath + "jdbc.sql";
+ }
+ else
+ {
+ // generic, DB_HSQLDB
+ sqlPath = sqlPath + "jdbc.sql";
+ }
+ return sqlPath;
+ }
+
}
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql-utf8.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql-utf8.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql-utf8.sql 2010-09-17 08:20:10 UTC (rev 3129)
@@ -0,0 +1,3 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.mysql.sql 2010-09-17 08:20:10 UTC (rev 3129)
@@ -0,0 +1,3 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.pgsql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.pgsql.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-mjdbc.pgsql.sql 2010-09-17 08:20:10 UTC (rev 3129)
@@ -0,0 +1,3 @@
+DROP TABLE JCR_MREF;
+DROP TABLE JCR_MVALUE;
+DROP TABLE JCR_MITEM;
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql-utf8.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql-utf8.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql-utf8.sql 2010-09-17 08:20:10 UTC (rev 3129)
@@ -0,0 +1,5 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where I_CLASS=2 and CONTAINER_NAME=?;
+/*$CLEAN_JCR_SITEM_DEFAULT*/;
+
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.mysql.sql 2010-09-17 08:20:10 UTC (rev 3129)
@@ -0,0 +1,5 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where I_CLASS=2 and CONTAINER_NAME=?;
+/*$CLEAN_JCR_SITEM_DEFAULT*/;
+
Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.pgsql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.pgsql.sql (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/cleanup/jcr-sjdbc.pgsql.sql 2010-09-17 08:20:10 UTC (rev 3129)
@@ -0,0 +1,3 @@
+delete from JCR_SVALUE where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SREF where exists(select * from JCR_SITEM where JCR_SITEM.ID=JCR_SREF.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME=?);
+delete from JCR_SITEM where CONTAINER_NAME=?;
\ No newline at end of file
15 years, 8 months
exo-jcr SVN: r3128 - in core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security: jaas and 1 other directories.
by do-not-reply@jboss.org
Author: aparfonov
Date: 2010-09-17 03:05:17 -0400 (Fri, 17 Sep 2010)
New Revision: 3128
Modified:
core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/Identity.java
core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/DefaultLoginModule.java
core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/IdentitySetLoginModule.java
core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/JAASConversationStateListener.java
core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/SetCurrentIdentityFilter.java
Log:
EXOJCR-964
Modified: core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/Identity.java
===================================================================
--- core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/Identity.java 2010-09-16 18:43:44 UTC (rev 3127)
+++ core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/Identity.java 2010-09-17 07:05:17 UTC (rev 3128)
@@ -22,7 +22,6 @@
import java.util.Collection;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Set;
import javax.security.auth.Subject;
@@ -188,6 +187,9 @@
/**
* @return @see {@link Subject} .
+ * @deprecated Do not need store subject any more. It was used before to
+ * perform logout, since tomcat 6.0.21 logout implemented in
+ * web-container.
*/
public Subject getSubject()
{
@@ -196,6 +198,7 @@
/**
* @param subject @see {@link Subject} .
+ * @deprecated See {@link #getSubject()}
*/
public void setSubject(Subject subject)
{
Modified: core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/DefaultLoginModule.java
===================================================================
--- core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/DefaultLoginModule.java 2010-09-16 18:43:44 UTC (rev 3127)
+++ core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/DefaultLoginModule.java 2010-09-17 07:05:17 UTC (rev 3128)
@@ -34,7 +34,7 @@
/**
* Created by The eXo Platform SAS .
- *
+ *
* @author Gennady Azarenkov
* @version $Id: $
*/
@@ -66,7 +66,7 @@
}
/**
- * {@inheritDoc}
+ * {@inheritDoc}
*/
public void afterInitialize()
{
@@ -130,7 +130,7 @@
{
log.debug(e.getMessage());
}
-
+
throw new LoginException(e.getMessage());
}
}
@@ -149,6 +149,10 @@
if (singleLogin && identityRegistry.getIdentity(identity.getUserId()) != null)
throw new LoginException("User " + identity.getUserId() + " already logined.");
+ // TODO Remove subject from identity if nod need it in eXo environment.
+ // Do not need implement logout by self if use tomcat 6.0.21 and later.
+ // See deprecation comments in
+ // org.exoplatform.services.security.web.JAASConversationStateListener
identity.setSubject(subject);
identityRegistry.register(identity);
Modified: core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/IdentitySetLoginModule.java
===================================================================
--- core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/IdentitySetLoginModule.java 2010-09-16 18:43:44 UTC (rev 3127)
+++ core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/jaas/IdentitySetLoginModule.java 2010-09-17 07:05:17 UTC (rev 3128)
@@ -36,7 +36,7 @@
* Required name of user MUST be passed to LM via sharedState (see method
* {@link #initialize(Subject, CallbackHandler, Map, Map)}), with name
* javax.security.auth.login.name.
- *
+ *
* @author <a href="mailto:andrew00x@gmail.com">Andrey Parfonov</a>
* @version $Id: $
*/
@@ -92,6 +92,10 @@
throw new LoginException("User " + userId + " already logined.");
Identity identity = authenticator.createIdentity(userId);
+ // TODO Remove subject from identity if nod need it in eXo environment.
+ // Do not need implement logout by self if use tomcat 6.0.21 and later.
+ // See deprecation comments in
+ // org.exoplatform.services.security.web.JAASConversationStateListener
identity.setSubject(subject);
identityRegistry.register(identity);
@@ -99,7 +103,7 @@
}
catch (Exception e)
{
- e.printStackTrace();
+ log.error(e.getMessage());
throw new LoginException(e.getMessage());
}
return true;
@@ -114,7 +118,6 @@
{
log.debug("in initialize");
}
-
String sl = (String)options.get("singleLogin");
this.singleLogin = (sl != null && (sl.equalsIgnoreCase("yes") || sl.equalsIgnoreCase("true")));
}
Modified: core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/JAASConversationStateListener.java
===================================================================
--- core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/JAASConversationStateListener.java 2010-09-16 18:43:44 UTC (rev 3127)
+++ core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/JAASConversationStateListener.java 2010-09-17 07:05:17 UTC (rev 3128)
@@ -32,6 +32,13 @@
/**
* @author <a href="mailto:andrew00x@gmail.com">Andrey Parfonov</a>
* @version $Id: $
+ * @deprecated Since use tomcat as default web-container do need use this
+ * listener any more. In tomcat 6.0.21 and later logout already
+ * implemented in
+ * <strong>org.apache.catalina.realm.GenericPrincipal</strong>.
+ * Detains described <a
+ * href="https://issues.apache.org/bugzilla/show_bug.cgi?id=39231"
+ * >here</a> . Should use {@link ConversationStateListener} instead.
*/
public class JAASConversationStateListener extends ConversationStateListener
{
@@ -67,10 +74,12 @@
}
else
{
- log.warn("Subject was not found in ConversationState attributes.");
+ if (log.isDebugEnabled())
+ {
+ log.warn("Subject was not found in ConversationState attributes.");
+ }
}
}
-
}
catch (Exception e)
{
Modified: core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/SetCurrentIdentityFilter.java
===================================================================
--- core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/SetCurrentIdentityFilter.java 2010-09-16 18:43:44 UTC (rev 3127)
+++ core/trunk/exo.core.component.security.core/src/main/java/org/exoplatform/services/security/web/SetCurrentIdentityFilter.java 2010-09-17 07:05:17 UTC (rev 3128)
@@ -23,6 +23,7 @@
import org.exoplatform.container.web.AbstractFilter;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import org.exoplatform.services.security.Authenticator;
import org.exoplatform.services.security.ConversationRegistry;
import org.exoplatform.services.security.ConversationState;
import org.exoplatform.services.security.Identity;
@@ -33,6 +34,7 @@
import java.io.IOException;
import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -41,7 +43,7 @@
/**
* Created by The eXo Platform SAS .
- *
+ *
* @author <a href="mailto:gennady.azarenkov@exoplatform.com">Gennady
* Azarenkov</a>
* @version $Id: SimpleSessionFactoryInitializedFilter.java 7163 2006-07-19
@@ -50,12 +52,24 @@
public class SetCurrentIdentityFilter extends AbstractFilter
{
+ private boolean restoreIdentity;
+
/**
* Logger.
*/
private static Log log = ExoLogger.getLogger("exo.core.component.security.core.SetCurrentIdentityFilter");
/**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void afterInit(FilterConfig config) throws ServletException
+ {
+ super.afterInit(config);
+ restoreIdentity = Boolean.parseBoolean(config.getInitParameter("restoreIdentity"));
+ }
+
+ /**
* Set current {@link ConversationState}, if it is not registered yet then
* create new one and register in {@link ConversationRegistry}. {@inheritDoc}
*/
@@ -70,12 +84,7 @@
{
ExoContainerContext.setCurrentContainer(container);
ConversationState state = getCurrentState(container, httpRequest);
- // NOTE may be set as null
ConversationState.setCurrent(state);
- if (state != null && log.isDebugEnabled())
- {
- log.debug(">>> Memberships " + state.getIdentity().getMemberships());
- }
chain.doFilter(request, response);
}
finally
@@ -137,12 +146,40 @@
if (identity != null)
{
state = new ConversationState(identity);
- // keep subject as attribute in ConversationState
+ // Keep subject as attribute in ConversationState.
+ // TODO remove this, do not need it any more.
state.setAttribute(ConversationState.SUBJECT, identity.getSubject());
}
else
{
- log.error("Not found identity in IdentityRegistry for user " + userId + ", check Login Module.");
+ if (restoreIdentity)
+ {
+ if (log.isDebugEnabled())
+ {
+ log.debug("Not found identity for " + userId + " try to restore it. ");
+ }
+
+ Authenticator authenticator =
+ (Authenticator)container.getComponentInstanceOfType(Authenticator.class);
+ try
+ {
+ identity = authenticator.createIdentity(userId);
+ identityRegistry.register(identity);
+ }
+ catch (Exception e)
+ {
+ log.error("Unable restore identity. " + e.getMessage(), e);
+ }
+
+ if (identity != null)
+ {
+ state = new ConversationState(identity);
+ }
+ }
+ else
+ {
+ log.error("Not found identity in IdentityRegistry for user " + userId + ", check Login Module.");
+ }
}
if (state != null)
@@ -152,7 +189,6 @@
{
log.debug("Register Conversation state " + httpSession.getId());
}
-
}
}
}
15 years, 8 months