exo-jcr SVN: r2912 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core: value and 1 other directory.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2010-08-13 05:06:03 -0400 (Fri, 13 Aug 2010)
New Revision: 2912
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/PropertyImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.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/value/BaseValue.java
Log:
EXOJCR-776 : implemented toString() method of main classes (Repository, Workspace, Session, Node, Property, Value)
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-08-11 13:20:05 UTC (rev 2911)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2010-08-13 09:06:03 UTC (rev 2912)
@@ -67,6 +67,7 @@
import java.io.InputStream;
import java.security.AccessControlException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
@@ -3356,4 +3357,69 @@
return (Property)nextItem();
}
}
+
+ @Override
+ public String toString()
+ {
+ // toString can be invoked on invalid node, so need to ensure no exceptions thrown by skipping them
+ String primaryType;
+ String mixinTypes;
+ String acl;
+ boolean locked;
+ boolean checkedOut;
+ // get primary type name
+ try
+ {
+ primaryType = getPrimaryNodeType().getName();
+ }
+ catch (RepositoryException e)
+ {
+ primaryType = "Error requesting primary type";
+ }
+ // get mixins
+ try
+ {
+ mixinTypes = Arrays.toString(getMixinTypeNames());
+ }
+ catch (RepositoryException e)
+ {
+ mixinTypes = "Error requesting mixin types";
+ }
+ // get ACL
+ try
+ {
+ AccessControlList list = getACL();
+ acl = list == null ? "-;" : list.dump();
+ acl = acl.replaceAll("\\n", "; ");
+ }
+ catch (RepositoryException e)
+ {
+ acl = "Error requesting ACL";
+ }
+ // check if locked
+ try
+ {
+ locked = isLocked();
+ }
+ catch (RepositoryException e)
+ {
+ // not valid node
+ locked = false;
+ }
+ // check if checkedOut
+ try
+ {
+ checkedOut = isCheckedOut();
+ }
+ catch (RepositoryException e)
+ {
+ // not valid, or versioning not supported
+ checkedOut = false;
+ }
+ return String
+ .format(
+ "Node {\n id: %s;\n path: %s;\n primary-type: %s;\n mixin-types: %s;\n acl: %s\n locked: %b;\n checked-out: %b \n}",
+ data == null ? "not valid node" : data.getIdentifier(), qpath == null ? "undefined" : qpath.getAsString(),
+ primaryType, mixinTypes, acl, locked, checkedOut);
+ }
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java 2010-08-11 13:20:05 UTC (rev 2911)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java 2010-08-13 09:06:03 UTC (rev 2912)
@@ -608,4 +608,22 @@
return false;
}
+ @Override
+ public String toString()
+ {
+ String typeName;
+ try
+ {
+ typeName = PropertyType.nameFromValue(type);
+ }
+ catch (IllegalArgumentException e)
+ {
+ // Value has abnormal type
+ typeName = String.valueOf(type);
+ }
+ return String.format("Property {\n id: %s;\n path: %s;\n type: %s;\n multi-valued: %b\n}", data == null
+ ? "not valid property" : data.getIdentifier(), qpath == null ? "undefined" : qpath.getAsString(), typeName,
+ data == null ? false : isMultiValued());
+ }
+
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java 2010-08-11 13:20:05 UTC (rev 2911)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java 2010-08-13 09:06:03 UTC (rev 2912)
@@ -707,4 +707,26 @@
}
}
+ @Override
+ public String toString()
+ {
+ String stateTitle;
+ switch (state)
+ {
+ case ONLINE :
+ stateTitle = "online";
+ break;
+ case OFFLINE :
+ stateTitle = "offline";
+ break;
+ case READONLY :
+ stateTitle = "readonly";
+ break;
+ default :
+ stateTitle = "undefined";
+ }
+ return String.format("Repository {\n name: %s;\n system workspace: %s;\n state: %s \n}", name,
+ systemWorkspaceName, stateTitle);
+ }
+
}
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-08-11 13:20:05 UTC (rev 2911)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionImpl.java 2010-08-13 09:06:03 UTC (rev 2912)
@@ -1050,4 +1050,11 @@
return lazyReadThreshold;
}
+ @Override
+ public String toString()
+ {
+ return String.format("Session {\n id: %s;\n userId: %s;\n workspace: %s/%s ;\n alive: %b\n}", id, getUserID(),
+ repository.getName(), workspaceName, live);
+ }
+
}
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-08-11 13:20:05 UTC (rev 2911)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/WorkspaceImpl.java 2010-08-13 09:06:03 UTC (rev 2912)
@@ -708,4 +708,11 @@
return nodeTypeManager;
}
+ @Override
+ public String toString()
+ {
+ return String.format("Workspace {\n name: %s/%s;\n session-id: %s \n}", repository().getName(), name, session
+ .getId());
+ }
+
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java 2010-08-11 13:20:05 UTC (rev 2911)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java 2010-08-13 09:06:03 UTC (rev 2912)
@@ -421,4 +421,22 @@
return bytes != null;
}
}
+
+ @Override
+ public String toString()
+ {
+ String typeName;
+ try
+ {
+ typeName = PropertyType.nameFromValue(type);
+ }
+ catch (IllegalArgumentException e)
+ {
+ // Value has abnormal type
+ typeName = String.valueOf(type);
+ }
+ return String.format("Value {\n type: %s;\n data-class: %s;\n size: %s bytes\n}", typeName, internalData == null
+ ? null : internalData.getClass().getName(), internalData == null ? "undefined" : internalData.getLength());
+ }
+
}
13 years, 11 months
exo-jcr SVN: r2911 - jcr/trunk/exo.jcr.component.core.
by do-not-reply@jboss.org
Author: areshetnyak
Date: 2010-08-11 09:20:05 -0400 (Wed, 11 Aug 2010)
New Revision: 2911
Modified:
jcr/trunk/exo.jcr.component.core/pom.xml
Log:
EXOJCR-865 : Remove from exclude TestImport test.
Modified: jcr/trunk/exo.jcr.component.core/pom.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/pom.xml 2010-08-11 13:12:18 UTC (rev 2910)
+++ jcr/trunk/exo.jcr.component.core/pom.xml 2010-08-11 13:20:05 UTC (rev 2911)
@@ -403,7 +403,6 @@
</includes>
<excludes>
<exclude>org/exoplatform/services/jcr/**/TestQueryUsecases.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestImport.java</exclude>
<exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
<exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
<exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
13 years, 11 months
exo-jcr SVN: r2910 - jcr/branches/1.12.x/exo.jcr.component.core.
by do-not-reply@jboss.org
Author: areshetnyak
Date: 2010-08-11 09:12:18 -0400 (Wed, 11 Aug 2010)
New Revision: 2910
Modified:
jcr/branches/1.12.x/exo.jcr.component.core/pom.xml
Log:
EXOJCR-865 : Remove from exclude TestImport test.
Modified: jcr/branches/1.12.x/exo.jcr.component.core/pom.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/pom.xml 2010-08-11 13:10:54 UTC (rev 2909)
+++ jcr/branches/1.12.x/exo.jcr.component.core/pom.xml 2010-08-11 13:12:18 UTC (rev 2910)
@@ -398,7 +398,6 @@
</includes>
<excludes>
<exclude>org/exoplatform/services/jcr/**/TestQueryUsecases.java</exclude>
- <!-- exclude>org/exoplatform/services/jcr/**/TestImport.java</exclude -->
<exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
<exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
<exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
13 years, 11 months
exo-jcr SVN: r2909 - jcr/branches/1.12.x/exo.jcr.component.core.
by do-not-reply@jboss.org
Author: areshetnyak
Date: 2010-08-11 09:10:54 -0400 (Wed, 11 Aug 2010)
New Revision: 2909
Modified:
jcr/branches/1.12.x/exo.jcr.component.core/pom.xml
Log:
EXOJCR-865 : Remove from exclude TestImport test.
Modified: jcr/branches/1.12.x/exo.jcr.component.core/pom.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/pom.xml 2010-08-11 09:15:10 UTC (rev 2908)
+++ jcr/branches/1.12.x/exo.jcr.component.core/pom.xml 2010-08-11 13:10:54 UTC (rev 2909)
@@ -398,7 +398,7 @@
</includes>
<excludes>
<exclude>org/exoplatform/services/jcr/**/TestQueryUsecases.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestImport.java</exclude>
+ <!-- exclude>org/exoplatform/services/jcr/**/TestImport.java</exclude -->
<exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
<exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
<exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
13 years, 11 months
exo-jcr SVN: r2908 - in jcr/trunk/exo.jcr.component.core/src: test/java/org/exoplatform/services/jcr/api/importing and 2 other directories.
by do-not-reply@jboss.org
Author: areshetnyak
Date: 2010-08-11 05:15:10 -0400 (Wed, 11 Aug 2010)
New Revision: 2908
Added:
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml
Log:
EXOJCR-865 : Problem with restore node (node type is exo:webContent) after import version history was fixed.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java 2010-08-11 08:10:05 UTC (rev 2907)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java 2010-08-11 09:15:10 UTC (rev 2908)
@@ -248,7 +248,7 @@
}
else if (nodeData.isMixReferenceable() && propName.equals(Constants.JCR_UUID))
{
- newProperty = endUuid(nodeData, propName);
+ newProperty = endUuid(nodeData, propName, propertiesMap.get(Constants.JCR_UUID));
}
else
{
@@ -479,19 +479,24 @@
return newProperty;
}
- private PropertyData endUuid(ImportNodeData nodeData, InternalQName key) throws ValueFormatException,
+ private PropertyData endUuid(ImportNodeData nodeData, InternalQName key, String properyValueUUID) throws ValueFormatException,
UnsupportedRepositoryOperationException, RepositoryException, IllegalStateException
{
PropertyData newProperty;
- Value value = valueFactory.createValue(nodeData.getIdentifier(), PropertyType.STRING);
- if (log.isDebugEnabled())
+
+ if (nodeData.getQPath().isDescendantOf(Constants.JCR_VERSION_STORAGE_PATH))
{
- log.debug("Property STRING: " + key + "=" + value.getString());
+ newProperty =
+ TransientPropertyData.createPropertyData(getParent(), Constants.JCR_UUID, PropertyType.STRING, false,
+ new TransientValueData(properyValueUUID));
}
-
- newProperty =
- TransientPropertyData.createPropertyData(getParent(), Constants.JCR_UUID, PropertyType.STRING, false,
- new TransientValueData(nodeData.getIdentifier()));
+ else
+ {
+ newProperty =
+ TransientPropertyData.createPropertyData(getParent(), Constants.JCR_UUID, PropertyType.STRING, false,
+ new TransientValueData(nodeData.getIdentifier()));
+ }
+
return newProperty;
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java 2010-08-11 08:10:05 UTC (rev 2907)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java 2010-08-11 09:15:10 UTC (rev 2908)
@@ -470,7 +470,15 @@
propertyData =
new ImportPropertyData(QPath.makeChildPath(currentNodeInfo.getQPath(), propertyInfo.getName()), propertyInfo
.getIndentifer(), 0, propertyInfo.getType(), currentNodeInfo.getIdentifier(), false);
- propertyData.setValue(new TransientValueData(currentNodeInfo.getIdentifier()));
+
+ if (currentNodeInfo.getQPath().isDescendantOf(Constants.JCR_VERSION_STORAGE_PATH))
+ {
+ propertyData.setValue(new TransientValueData(propertyInfo.getValues().get(0).toString()));
+ }
+ else
+ {
+ propertyData.setValue(new TransientValueData(currentNodeInfo.getIdentifier()));
+ }
tree.push(currentNodeInfo);
return propertyData;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-08-11 08:10:05 UTC (rev 2907)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-08-11 09:15:10 UTC (rev 2908)
@@ -1048,10 +1048,8 @@
byte[] versionableNode = serialize(fileNode, false, true);
// version history
byte[] versionHistory = serialize(fileNode.getVersionHistory(), false, true);
- System.out.println(new String(versionHistory));
-
+ //System.out.println(new String(versionHistory));
-
// restore node content
Node restoreRoot = testRoot.addNode("restRoot");
testRoot.save();
@@ -1132,10 +1130,8 @@
byte[] versionableNode = serialize(fileNode, true, true);
// version history
byte[] versionHistory = serialize(fileNode.getVersionHistory(), false, true);
- System.out.println(new String(versionHistory));
-
+ //System.out.println(new String(versionHistory));
-
// restore node content
Node restoreRoot = testRoot.addNode("restRoot");
testRoot.save();
@@ -1170,4 +1166,638 @@
fileImport.checkout();
root.save();
}
+
+ public void testEXOJCR865_Doc_exo_webContent_1() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("exo:datetime");
+ web.addMixin("exo:owneable");
+ web.addMixin("exo:modify");
+ web.addMixin("mix:votable");
+ web.addMixin("mix:commentable");
+ web.addMixin("publication:stateAndVersionBasedPublication");
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:dateCreated", Calendar.getInstance());
+ web.setProperty("exo:dateModified", Calendar.getInstance());
+ web.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ web.setProperty("exo:lastModifier", "root");
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+ web.setProperty("exo:voteTotal", "1");
+ web.setProperty("exo:voteTotalOfLang", "1");
+ web.setProperty("exo:votingRate", "1");
+ web.setProperty("publication:currentState", "draft");
+ web.setProperty("publication:history", new String[] {"13","12", "14"});
+ web.setProperty("publication:lifecycleName", "lf_name");
+ web.setProperty("publication:revisionData", new String[] {"r_data_1", "r_data_2"});
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("exo:datetime");
+ defHtml.addMixin("exo:owneable");
+ defHtml.addMixin("exo:modify");
+ defHtml.addMixin("exo:htmlFile");
+
+ defHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ defHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifier", "root");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+ contentDefHtml.addMixin("exo:datetime");
+ contentDefHtml.addMixin("exo:owneable");
+ contentDefHtml.addMixin("dc:elementSet");
+
+ contentDefHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+
+ Node css = web.addNode("css", "exo:cssFolder");
+ css.addMixin("exo:datetime");
+ css.addMixin("exo:owneable");
+ css.addMixin("exo:modify");
+
+ css.setProperty("exo:dateCreated", Calendar.getInstance());
+ css.setProperty("exo:dateModified", Calendar.getInstance());
+ css.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ css.setProperty("exo:lastModifier", "root");
+
+ Node defCss = css.addNode("default.css", "nt:file");
+
+ defCss.addMixin("exo:datetime");
+ defCss.addMixin("exo:owneable");
+ defCss.addMixin("exo:modify");
+
+ defCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ defCss.setProperty("exo:dateModified", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifier", "root");
+
+ Node contentDefCss = defCss.addNode("jcr:content", "nt:resource");
+ contentDefCss.addMixin("exo:datetime");
+ contentDefCss.addMixin("exo:owneable");
+ contentDefCss.addMixin("dc:elementSet");
+
+ contentDefCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefCss.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:data", "def_css_data");
+ contentDefCss.setProperty("jcr:encoding", "UTF-8");
+ contentDefCss.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:mimeType", "text/css");
+
+ Node medias = web.addNode("medias", "exo:multimediaFolder");
+ medias.addMixin("exo:datetime");
+ medias.addMixin("exo:owneable");
+ medias.addMixin("exo:modify");
+
+ medias.setProperty("exo:dateCreated", Calendar.getInstance());
+ medias.setProperty("exo:dateModified", Calendar.getInstance());
+ medias.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ medias.setProperty("exo:lastModifier", "root");
+
+ Node videos = medias.addNode("videos", "nt:folder");
+ videos.addMixin("exo:datetime");
+ videos.addMixin("exo:owneable");
+ videos.addMixin("exo:modify");
+
+ videos.setProperty("exo:dateCreated", Calendar.getInstance());
+ videos.setProperty("exo:dateModified", Calendar.getInstance());
+ videos.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ videos.setProperty("exo:lastModifier", "root");
+
+ Node images = medias.addNode("images", "nt:folder");
+ images.addMixin("exo:datetime");
+ images.addMixin("exo:owneable");
+ images.addMixin("exo:modify");
+
+ images.setProperty("exo:dateCreated", Calendar.getInstance());
+ images.setProperty("exo:dateModified", Calendar.getInstance());
+ images.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ images.setProperty("exo:lastModifier", "root");
+
+ Node illustration= images.addNode("illustration", "nt:file");
+ illustration.addMixin("exo:datetime");
+ illustration.addMixin("exo:owneable");
+ illustration.addMixin("exo:modify");
+ illustration.addMixin("mix:referenceable");
+
+ illustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ illustration.setProperty("exo:dateModified", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifier", "root");
+
+ Node contentIllustration = illustration.addNode("jcr:content", "nt:resource");
+ contentIllustration.addMixin("exo:datetime");
+ contentIllustration.addMixin("exo:owneable");
+ contentIllustration.addMixin("dc:elementSet");
+
+ contentIllustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentIllustration.setProperty("exo:dateModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:data", "illustration_data");
+ contentIllustration.setProperty("jcr:encoding", "UTF-8");
+ contentIllustration.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:mimeType", "text/jpeg");
+
+ Node documents = web.addNode("documents", "nt:unstructured");
+ documents.addMixin("exo:datetime");
+ documents.addMixin("exo:owneable");
+ documents.addMixin("exo:modify");
+ documents.addMixin("exo:documentFolder");
+
+ documents.setProperty("exo:dateCreated", Calendar.getInstance());
+ documents.setProperty("exo:dateModified", Calendar.getInstance());
+ documents.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ documents.setProperty("exo:lastModifier", "root");
+
+ Node js = web.addNode("js", "exo:jsFolder");
+ js.addMixin("exo:datetime");
+ js.addMixin("exo:owneable");
+ js.addMixin("exo:modify");
+
+ js.setProperty("exo:dateCreated", Calendar.getInstance());
+ js.setProperty("exo:dateModified", Calendar.getInstance());
+ js.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ js.setProperty("exo:lastModifier", "root");
+
+ Node defJs = js.addNode("default.js", "nt:file");
+ defJs.addMixin("exo:datetime");
+ defJs.addMixin("exo:owneable");
+ defJs.addMixin("exo:modify");
+
+ defJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ defJs.setProperty("exo:dateModified", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifier", "root");
+
+ Node contentDefJs = defJs.addNode("jcr:content", "nt:resource");
+ contentDefJs.addMixin("exo:datetime");
+ contentDefJs.addMixin("exo:owneable");
+ contentDefJs.addMixin("dc:elementSet");
+
+ contentDefJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefJs.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:data", "def_js_data");
+ contentDefJs.setProperty("jcr:encoding", "UTF-8");
+ contentDefJs.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:mimeType", "text/js");
+
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, false, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), false, true);
+ //System.out.println(new String(versionHistory));
+
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
+
+ public void testEXOJCR865_Sys_exo_webContent_1() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("exo:datetime");
+ web.addMixin("exo:owneable");
+ web.addMixin("exo:modify");
+ web.addMixin("mix:votable");
+ web.addMixin("mix:commentable");
+ web.addMixin("publication:stateAndVersionBasedPublication");
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:dateCreated", Calendar.getInstance());
+ web.setProperty("exo:dateModified", Calendar.getInstance());
+ web.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ web.setProperty("exo:lastModifier", "root");
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+ web.setProperty("exo:voteTotal", "1");
+ web.setProperty("exo:voteTotalOfLang", "1");
+ web.setProperty("exo:votingRate", "1");
+ web.setProperty("publication:currentState", "draft");
+ web.setProperty("publication:history", new String[] {"13","12", "14"});
+ web.setProperty("publication:lifecycleName", "lf_name");
+ web.setProperty("publication:revisionData", new String[] {"r_data_1", "r_data_2"});
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("exo:datetime");
+ defHtml.addMixin("exo:owneable");
+ defHtml.addMixin("exo:modify");
+ defHtml.addMixin("exo:htmlFile");
+
+ defHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ defHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifier", "root");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+ contentDefHtml.addMixin("exo:datetime");
+ contentDefHtml.addMixin("exo:owneable");
+ contentDefHtml.addMixin("dc:elementSet");
+
+ contentDefHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+
+ Node css = web.addNode("css", "exo:cssFolder");
+ css.addMixin("exo:datetime");
+ css.addMixin("exo:owneable");
+ css.addMixin("exo:modify");
+
+ css.setProperty("exo:dateCreated", Calendar.getInstance());
+ css.setProperty("exo:dateModified", Calendar.getInstance());
+ css.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ css.setProperty("exo:lastModifier", "root");
+
+ Node defCss = css.addNode("default.css", "nt:file");
+
+ defCss.addMixin("exo:datetime");
+ defCss.addMixin("exo:owneable");
+ defCss.addMixin("exo:modify");
+
+ defCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ defCss.setProperty("exo:dateModified", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifier", "root");
+
+ Node contentDefCss = defCss.addNode("jcr:content", "nt:resource");
+ contentDefCss.addMixin("exo:datetime");
+ contentDefCss.addMixin("exo:owneable");
+ contentDefCss.addMixin("dc:elementSet");
+
+ contentDefCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefCss.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:data", "def_css_data");
+ contentDefCss.setProperty("jcr:encoding", "UTF-8");
+ contentDefCss.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:mimeType", "text/css");
+
+ Node medias = web.addNode("medias", "exo:multimediaFolder");
+ medias.addMixin("exo:datetime");
+ medias.addMixin("exo:owneable");
+ medias.addMixin("exo:modify");
+
+ medias.setProperty("exo:dateCreated", Calendar.getInstance());
+ medias.setProperty("exo:dateModified", Calendar.getInstance());
+ medias.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ medias.setProperty("exo:lastModifier", "root");
+
+ Node videos = medias.addNode("videos", "nt:folder");
+ videos.addMixin("exo:datetime");
+ videos.addMixin("exo:owneable");
+ videos.addMixin("exo:modify");
+
+ videos.setProperty("exo:dateCreated", Calendar.getInstance());
+ videos.setProperty("exo:dateModified", Calendar.getInstance());
+ videos.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ videos.setProperty("exo:lastModifier", "root");
+
+ Node images = medias.addNode("images", "nt:folder");
+ images.addMixin("exo:datetime");
+ images.addMixin("exo:owneable");
+ images.addMixin("exo:modify");
+
+ images.setProperty("exo:dateCreated", Calendar.getInstance());
+ images.setProperty("exo:dateModified", Calendar.getInstance());
+ images.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ images.setProperty("exo:lastModifier", "root");
+
+ Node illustration= images.addNode("illustration", "nt:file");
+ illustration.addMixin("exo:datetime");
+ illustration.addMixin("exo:owneable");
+ illustration.addMixin("exo:modify");
+ illustration.addMixin("mix:referenceable");
+
+ illustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ illustration.setProperty("exo:dateModified", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifier", "root");
+
+ Node contentIllustration = illustration.addNode("jcr:content", "nt:resource");
+ contentIllustration.addMixin("exo:datetime");
+ contentIllustration.addMixin("exo:owneable");
+ contentIllustration.addMixin("dc:elementSet");
+
+ contentIllustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentIllustration.setProperty("exo:dateModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:data", "illustration_data");
+ contentIllustration.setProperty("jcr:encoding", "UTF-8");
+ contentIllustration.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:mimeType", "text/jpeg");
+
+ Node documents = web.addNode("documents", "nt:unstructured");
+ documents.addMixin("exo:datetime");
+ documents.addMixin("exo:owneable");
+ documents.addMixin("exo:modify");
+ documents.addMixin("exo:documentFolder");
+
+ documents.setProperty("exo:dateCreated", Calendar.getInstance());
+ documents.setProperty("exo:dateModified", Calendar.getInstance());
+ documents.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ documents.setProperty("exo:lastModifier", "root");
+
+ Node js = web.addNode("js", "exo:jsFolder");
+ js.addMixin("exo:datetime");
+ js.addMixin("exo:owneable");
+ js.addMixin("exo:modify");
+
+ js.setProperty("exo:dateCreated", Calendar.getInstance());
+ js.setProperty("exo:dateModified", Calendar.getInstance());
+ js.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ js.setProperty("exo:lastModifier", "root");
+
+ Node defJs = js.addNode("default.js", "nt:file");
+ defJs.addMixin("exo:datetime");
+ defJs.addMixin("exo:owneable");
+ defJs.addMixin("exo:modify");
+
+ defJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ defJs.setProperty("exo:dateModified", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifier", "root");
+
+ Node contentDefJs = defJs.addNode("jcr:content", "nt:resource");
+ contentDefJs.addMixin("exo:datetime");
+ contentDefJs.addMixin("exo:owneable");
+ contentDefJs.addMixin("dc:elementSet");
+
+ contentDefJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefJs.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:data", "def_js_data");
+ contentDefJs.setProperty("jcr:encoding", "UTF-8");
+ contentDefJs.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:mimeType", "text/js");
+
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, true, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), true, true);
+ //System.out.println(new String(versionHistory));
+
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
+
+ public void testEXOJCR865_Doc_exo_webContent_2() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("mix:referenceable");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.restore("1", true);
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, false, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), false, true);
+ //System.out.println(new String(versionHistory));
+
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ Node dHtml = fileImport.getNode("default.html"); fileImport.getNode("default.html").getProperty("jcr:uuid").getString();
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
+
+ public void testEXOJCR865_Sys_exo_webContent_2() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("mix:referenceable");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.restore("1", true);
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, true, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), true, true);
+ //System.out.println(new String(versionHistory));
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ Node dHtml = fileImport.getNode("default.html"); fileImport.getNode("default.html").getProperty("jcr:uuid").getString();
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml 2010-08-11 08:10:05 UTC (rev 2907)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml 2010-08-11 09:15:10 UTC (rev 2908)
@@ -118,6 +118,7 @@
<property name="rma" value="http://www.rma.com/jcr/"/>
<property name="metadata" value="http://www.exoplatform.com/jcr/metadata/1.1/"/>
<property name="dc" value="http://purl.org/dc/elements/1.1/"/>
+ <property name="publication" value="http://www.exoplatform.com/jcr/publication/1.1/"/>
</properties-param>
</init-params>
</component-plugin>
@@ -133,7 +134,10 @@
<value>jar:/conf/test/nodetypes-impl.xml</value>
<value>jar:/conf/test/nodetypes-usecase.xml</value>
<value>jar:/conf/test/nodetypes-config.xml</value>
- <value>jar:/conf/test/nodetypes-config-extended.xml</value>
+ <value>jar:/conf/test/nodetypes-config-extended.xml</value>
+ <value>jar:/conf/test/wcm-nodetypes.xml</value>
+ <value>jar:/conf/test/nodetypes-publication-config.xml</value>
+ <value>jar:/conf/test/publication-plugins-nodetypes-config.xml</value>
</values-param>
<values-param>
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml 2010-08-11 08:10:05 UTC (rev 2907)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml 2010-08-11 09:15:10 UTC (rev 2908)
@@ -32,6 +32,15 @@
</propertyDefinition>
</propertyDefinitions>
</nodeType>
+
+ <nodeType name="exo:presentationable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:presentationType" requiredType="String" autoCreated="true" mandatory="false"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
<nodeType name="exo:action" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
<supertypes>
@@ -153,4 +162,17 @@
</propertyDefinition>
</propertyDefinitions>
</nodeType>
+
+ <nodeType name="exo:modify" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:lastModifiedDate" requiredType="Date" autoCreated="true" mandatory="false"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="exo:lastModifier" requiredType="String" autoCreated="true" mandatory="false"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
</nodeTypes>
\ No newline at end of file
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml 2010-08-11 08:10:05 UTC (rev 2907)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml 2010-08-11 09:15:10 UTC (rev 2908)
@@ -258,7 +258,7 @@
</childNodeDefinitions>
</nodeType>
- <!-- nodeType name="exo:metadata" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <nodeType name="exo:metadata" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
<propertyDefinitions>
<propertyDefinition name="exo:internalUse" requiredType="Boolean" autoCreated="true" mandatory="false" onParentVersion="COPY"
protected="false" multiple="false">
@@ -336,6 +336,6 @@
<valueConstraints />
</propertyDefinition>
</propertyDefinitions>
- </nodeType -->
+ </nodeType>
</nodeTypes>
Added: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml 2010-08-11 09:15:10 UTC (rev 2908)
@@ -0,0 +1,38 @@
+<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
+ xmlns:jcr="http://www.jcp.org/jcr/1.0">
+
+ <nodeType name="publication:publication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="publication:lifecycleName" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:currentState" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:history" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="publication:webpagesPublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:publication</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="publication:navigationNodeURIs" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:webPageIDs" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:applicationIDs" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+</nodeTypes>
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml 2010-08-11 09:15:10 UTC (rev 2908)
@@ -0,0 +1,43 @@
+<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
+ xmlns:jcr="http://www.jcp.org/jcr/1.0">
+
+ <nodeType name="publication:staticAndDirectPublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:publication</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="publication:visibility" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="IGNORE" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:versionsPublicationStates" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="IGNORE" protected="false" multiple="true">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="publication:simplePublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:webpagesPublication</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="publication:stateAndVersionBasedPublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:publication</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="publication:revisionData" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:liveRevision" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:liveDate" requiredType="Date" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+</nodeTypes>
\ No newline at end of file
Added: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml 2010-08-11 09:15:10 UTC (rev 2908)
@@ -0,0 +1,256 @@
+<nodeTypes
+ xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
+ xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
+ xmlns:jcr="http://www.jcp.org/jcr/1.0"
+ xmlns:exo="http://www.exoplatform.com/jcr/exo/1.0">
+
+ <!-- Duplicating this definition in case the ECM node type definitions
+ have not been processed by the Repository Service yet. -->
+ <!-- DO NOT REMOVE THIS DEFINITION -->
+ <nodeType name="exo:presentationable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:presentationType" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+ <!-- DO NOT REMOVE THIS DEFINITION -->
+
+ <nodeType name="exo:portalFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:webFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:themeFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:linkFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:multimediaFolder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ <childNodeDefinitions>
+ <childNodeDefinition name="images" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="videos" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="audio" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ </childNodeDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:jsFolder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>nt:folder</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:cssFolder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>nt:folder</supertype>
+ </supertypes>
+ <childNodeDefinitions>
+ <childNodeDefinition name="*" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="css" defaultPrimaryType="exo:cssFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ </childNodeDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:webContent" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>mix:referenceable</supertype>
+ <supertype>nt:unstructured</supertype>
+ <supertype>nt:hierarchyNode</supertype>
+ <supertype>exo:rss-enable</supertype>
+ </supertypes>
+ <childNodeDefinitions>
+ <childNodeDefinition name="js" defaultPrimaryType="exo:jsFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="css" defaultPrimaryType="exo:cssFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="medias" defaultPrimaryType="exo:multimediaFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ </childNodeDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:htmlFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ <supertype>mix:referenceable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:htmlTOC" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:jsFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ <supertype>mix:referenceable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:active" requiredType="Boolean" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>true</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:priority" requiredType="Long" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>0</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:sharedJS" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:cssFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ <supertype>mix:referenceable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:active" requiredType="Boolean" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>true</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:priority" requiredType="Long" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>0</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:sharedCSS" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:multimediaFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:linkable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:links" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:link" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>mix:referenceable</supertype>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:linkURL" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:linkDescription" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:linkActive" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:webLinks" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:externalSiteLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:portalPageLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:insideDocumentLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:multimediaLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:multiPageContent" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:presentationType" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>exo:multiPageContent</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:sortable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:title" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="exo:titlePublished" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="exo:name" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:liveDate" requiredType="Date" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+</nodeTypes>
Property changes on: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml
___________________________________________________________________
Name: svn:eol-style
+ native
13 years, 11 months
exo-jcr SVN: r2907 - in jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules: jcr/concepts and 1 other directories.
by do-not-reply@jboss.org
Author: dkatayev
Date: 2010-08-11 04:10:05 -0400 (Wed, 11 Aug 2010)
New Revision: 2907
Removed:
jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/other/jcr-organization-service.xml
Modified:
jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr.xml
jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-extensions.xml
Log:
EXOJCR-869 OrganizationService chapter removed
Modified: jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-extensions.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-extensions.xml 2010-08-10 16:04:43 UTC (rev 2906)
+++ jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/concepts/jcr-extensions.xml 2010-08-11 08:10:05 UTC (rev 2907)
@@ -162,9 +162,6 @@
<para><link linkend="JCR.AccessControlExtension">Access Control
extension</link></para>
- <para><link linkend="JCR.Organizationservice">Organization
- Service</link></para>
-
<para><link linkend="JCR.RegistryService">Registry Service</link></para>
<para><link linkend="JCR.RESTServicesOnGroovy">REST Groovy
Deleted: jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/other/jcr-organization-service.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/other/jcr-organization-service.xml 2010-08-10 16:04:43 UTC (rev 2906)
+++ jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr/other/jcr-organization-service.xml 2010-08-11 08:10:05 UTC (rev 2907)
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<chapter id="JCR.Organizationservice">
- <?dbhtml filename="ch-jcr-organization-service.html"?>
-
- <title>JCR Organization service</title>
-
- <para>This is an implementation of the exo.core.component.organization.api
- API. The information will be stored in the root node /exo:organization of
- the workspace. The workspace name has to be configured in the configuration
- file (see below).</para>
-
- <itemizedlist>
- <listitem>
- <para>You need to comment out the previous initialization of the
- organization service, e.g. DummyOrganizationService</para>
- </listitem>
- </itemizedlist>
-
- <programlisting><!--component>
- <type>org.exoplatform.services.organization.impl.mock.DummyOrganizationService</type>
-</component--></programlisting>
-
- <itemizedlist>
- <listitem>
- <para>Add jcr organization service</para>
- </listitem>
- </itemizedlist>
-
- <programlisting><component>
- <key>org.exoplatform.services.organization.OrganizationService</key>
- <type>org.exoplatform.services.jcr.ext.organization.JCROrganizationServiceImpl</type>
- <init-params>
- <value-param>
- <name>storage-workspace</name>
- <description>Workspace in default repository where organization storage will be created</description>
- <value>ws</value>
- </value-param>
- </init-params>
-</component></programlisting>
-
- <para>where storage-workspace is the name of the workspace in the default
- repository where the organization storage will be created.</para>
-
- <para>Sice eXo JCR 1.11 you can add two new params:</para>
-
- <programlisting><value-param>
- <name>repository</name>
- <description>The name of repository where organization storage will be created</description>
- <value>db1</value>
-</value-param>
-<value-param>
- <name>storage-path</name>
- <description>The relative path where organization storage will be created</description>
- <value>/exo:organization</value>
-</value-param></programlisting>
-
- <para>where repository is the name of the repository where the organization
- storage will be created<br> storage-path - the relative path to the
- stored data<br></para>
-
- <para>You should also read how to use the <link
- linkend="Core.OrganizationServiceInitializer">Organization Service
- Initializer</link>.</para>
-</chapter>
Modified: jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-08-10 16:04:43 UTC (rev 2906)
+++ jcr/branches/1.12.x/exo.jcr.docs/exo.jcr.docs.developer/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-08-11 08:10:05 UTC (rev 2907)
@@ -14,8 +14,8 @@
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/concepts/jcr-exo-implementation.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+
<xi:include href="jcr/concepts/jcr-advantages.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
@@ -137,13 +137,6 @@
<xi:include href="jcr/other/binary-values-processing.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="jcr/other/jcr-organization-service.xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-
-
-
-
<xi:include href="jcr/other/jcr-resources.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
13 years, 11 months
exo-jcr SVN: r2906 - in jcr/branches/1.12.x/exo.jcr.component.core/src: test/java/org/exoplatform/services/jcr/api/importing and 2 other directories.
by do-not-reply@jboss.org
Author: areshetnyak
Date: 2010-08-10 12:04:43 -0400 (Tue, 10 Aug 2010)
New Revision: 2906
Added:
jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml
jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml
jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml
Modified:
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java
jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml
jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml
jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml
Log:
EXOJCR-865 : Problem with restore node (node type is exo:webContent) after import version history was fixed.
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java 2010-08-10 09:19:54 UTC (rev 2905)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java 2010-08-10 16:04:43 UTC (rev 2906)
@@ -248,7 +248,7 @@
}
else if (nodeData.isMixReferenceable() && propName.equals(Constants.JCR_UUID))
{
- newProperty = endUuid(nodeData, propName);
+ newProperty = endUuid(nodeData, propName, propertiesMap.get(Constants.JCR_UUID));
}
else
{
@@ -479,19 +479,24 @@
return newProperty;
}
- private PropertyData endUuid(ImportNodeData nodeData, InternalQName key) throws ValueFormatException,
+ private PropertyData endUuid(ImportNodeData nodeData, InternalQName key, String properyValueUUID) throws ValueFormatException,
UnsupportedRepositoryOperationException, RepositoryException, IllegalStateException
{
PropertyData newProperty;
- Value value = valueFactory.createValue(nodeData.getIdentifier(), PropertyType.STRING);
- if (log.isDebugEnabled())
+
+ if (nodeData.getQPath().isDescendantOf(Constants.JCR_VERSION_STORAGE_PATH))
{
- log.debug("Property STRING: " + key + "=" + value.getString());
+ newProperty =
+ TransientPropertyData.createPropertyData(getParent(), Constants.JCR_UUID, PropertyType.STRING, false,
+ new TransientValueData(properyValueUUID));
}
-
- newProperty =
- TransientPropertyData.createPropertyData(getParent(), Constants.JCR_UUID, PropertyType.STRING, false,
- new TransientValueData(nodeData.getIdentifier()));
+ else
+ {
+ newProperty =
+ TransientPropertyData.createPropertyData(getParent(), Constants.JCR_UUID, PropertyType.STRING, false,
+ new TransientValueData(nodeData.getIdentifier()));
+ }
+
return newProperty;
}
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java 2010-08-10 09:19:54 UTC (rev 2905)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/SystemViewImporter.java 2010-08-10 16:04:43 UTC (rev 2906)
@@ -470,7 +470,15 @@
propertyData =
new ImportPropertyData(QPath.makeChildPath(currentNodeInfo.getQPath(), propertyInfo.getName()), propertyInfo
.getIndentifer(), 0, propertyInfo.getType(), currentNodeInfo.getIdentifier(), false);
- propertyData.setValue(new TransientValueData(currentNodeInfo.getIdentifier()));
+
+ if (currentNodeInfo.getQPath().isDescendantOf(Constants.JCR_VERSION_STORAGE_PATH))
+ {
+ propertyData.setValue(new TransientValueData(propertyInfo.getValues().get(0).toString()));
+ }
+ else
+ {
+ propertyData.setValue(new TransientValueData(currentNodeInfo.getIdentifier()));
+ }
tree.push(currentNodeInfo);
return propertyData;
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-08-10 09:19:54 UTC (rev 2905)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-08-10 16:04:43 UTC (rev 2906)
@@ -1168,4 +1168,638 @@
fileImport.checkout();
root.save();
}
+
+ public void testEXOJCR865_Doc_exo_webContent_1() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("exo:datetime");
+ web.addMixin("exo:owneable");
+ web.addMixin("exo:modify");
+ web.addMixin("mix:votable");
+ web.addMixin("mix:commentable");
+ web.addMixin("publication:stateAndVersionBasedPublication");
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:dateCreated", Calendar.getInstance());
+ web.setProperty("exo:dateModified", Calendar.getInstance());
+ web.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ web.setProperty("exo:lastModifier", "root");
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+ web.setProperty("exo:voteTotal", "1");
+ web.setProperty("exo:voteTotalOfLang", "1");
+ web.setProperty("exo:votingRate", "1");
+ web.setProperty("publication:currentState", "draft");
+ web.setProperty("publication:history", new String[] {"13","12", "14"});
+ web.setProperty("publication:lifecycleName", "lf_name");
+ web.setProperty("publication:revisionData", new String[] {"r_data_1", "r_data_2"});
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("exo:datetime");
+ defHtml.addMixin("exo:owneable");
+ defHtml.addMixin("exo:modify");
+ defHtml.addMixin("exo:htmlFile");
+
+ defHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ defHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifier", "root");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+ contentDefHtml.addMixin("exo:datetime");
+ contentDefHtml.addMixin("exo:owneable");
+ contentDefHtml.addMixin("dc:elementSet");
+
+ contentDefHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+
+ Node css = web.addNode("css", "exo:cssFolder");
+ css.addMixin("exo:datetime");
+ css.addMixin("exo:owneable");
+ css.addMixin("exo:modify");
+
+ css.setProperty("exo:dateCreated", Calendar.getInstance());
+ css.setProperty("exo:dateModified", Calendar.getInstance());
+ css.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ css.setProperty("exo:lastModifier", "root");
+
+ Node defCss = css.addNode("default.css", "nt:file");
+
+ defCss.addMixin("exo:datetime");
+ defCss.addMixin("exo:owneable");
+ defCss.addMixin("exo:modify");
+
+ defCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ defCss.setProperty("exo:dateModified", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifier", "root");
+
+ Node contentDefCss = defCss.addNode("jcr:content", "nt:resource");
+ contentDefCss.addMixin("exo:datetime");
+ contentDefCss.addMixin("exo:owneable");
+ contentDefCss.addMixin("dc:elementSet");
+
+ contentDefCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefCss.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:data", "def_css_data");
+ contentDefCss.setProperty("jcr:encoding", "UTF-8");
+ contentDefCss.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:mimeType", "text/css");
+
+ Node medias = web.addNode("medias", "exo:multimediaFolder");
+ medias.addMixin("exo:datetime");
+ medias.addMixin("exo:owneable");
+ medias.addMixin("exo:modify");
+
+ medias.setProperty("exo:dateCreated", Calendar.getInstance());
+ medias.setProperty("exo:dateModified", Calendar.getInstance());
+ medias.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ medias.setProperty("exo:lastModifier", "root");
+
+ Node videos = medias.addNode("videos", "nt:folder");
+ videos.addMixin("exo:datetime");
+ videos.addMixin("exo:owneable");
+ videos.addMixin("exo:modify");
+
+ videos.setProperty("exo:dateCreated", Calendar.getInstance());
+ videos.setProperty("exo:dateModified", Calendar.getInstance());
+ videos.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ videos.setProperty("exo:lastModifier", "root");
+
+ Node images = medias.addNode("images", "nt:folder");
+ images.addMixin("exo:datetime");
+ images.addMixin("exo:owneable");
+ images.addMixin("exo:modify");
+
+ images.setProperty("exo:dateCreated", Calendar.getInstance());
+ images.setProperty("exo:dateModified", Calendar.getInstance());
+ images.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ images.setProperty("exo:lastModifier", "root");
+
+ Node illustration= images.addNode("illustration", "nt:file");
+ illustration.addMixin("exo:datetime");
+ illustration.addMixin("exo:owneable");
+ illustration.addMixin("exo:modify");
+ illustration.addMixin("mix:referenceable");
+
+ illustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ illustration.setProperty("exo:dateModified", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifier", "root");
+
+ Node contentIllustration = illustration.addNode("jcr:content", "nt:resource");
+ contentIllustration.addMixin("exo:datetime");
+ contentIllustration.addMixin("exo:owneable");
+ contentIllustration.addMixin("dc:elementSet");
+
+ contentIllustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentIllustration.setProperty("exo:dateModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:data", "illustration_data");
+ contentIllustration.setProperty("jcr:encoding", "UTF-8");
+ contentIllustration.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:mimeType", "text/jpeg");
+
+ Node documents = web.addNode("documents", "nt:unstructured");
+ documents.addMixin("exo:datetime");
+ documents.addMixin("exo:owneable");
+ documents.addMixin("exo:modify");
+ documents.addMixin("exo:documentFolder");
+
+ documents.setProperty("exo:dateCreated", Calendar.getInstance());
+ documents.setProperty("exo:dateModified", Calendar.getInstance());
+ documents.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ documents.setProperty("exo:lastModifier", "root");
+
+ Node js = web.addNode("js", "exo:jsFolder");
+ js.addMixin("exo:datetime");
+ js.addMixin("exo:owneable");
+ js.addMixin("exo:modify");
+
+ js.setProperty("exo:dateCreated", Calendar.getInstance());
+ js.setProperty("exo:dateModified", Calendar.getInstance());
+ js.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ js.setProperty("exo:lastModifier", "root");
+
+ Node defJs = js.addNode("default.js", "nt:file");
+ defJs.addMixin("exo:datetime");
+ defJs.addMixin("exo:owneable");
+ defJs.addMixin("exo:modify");
+
+ defJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ defJs.setProperty("exo:dateModified", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifier", "root");
+
+ Node contentDefJs = defJs.addNode("jcr:content", "nt:resource");
+ contentDefJs.addMixin("exo:datetime");
+ contentDefJs.addMixin("exo:owneable");
+ contentDefJs.addMixin("dc:elementSet");
+
+ contentDefJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefJs.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:data", "def_js_data");
+ contentDefJs.setProperty("jcr:encoding", "UTF-8");
+ contentDefJs.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:mimeType", "text/js");
+
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, false, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), false, true);
+ System.out.println(new String(versionHistory));
+
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
+
+ public void testEXOJCR865_Sys_exo_webContent_1() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("exo:datetime");
+ web.addMixin("exo:owneable");
+ web.addMixin("exo:modify");
+ web.addMixin("mix:votable");
+ web.addMixin("mix:commentable");
+ web.addMixin("publication:stateAndVersionBasedPublication");
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:dateCreated", Calendar.getInstance());
+ web.setProperty("exo:dateModified", Calendar.getInstance());
+ web.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ web.setProperty("exo:lastModifier", "root");
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+ web.setProperty("exo:voteTotal", "1");
+ web.setProperty("exo:voteTotalOfLang", "1");
+ web.setProperty("exo:votingRate", "1");
+ web.setProperty("publication:currentState", "draft");
+ web.setProperty("publication:history", new String[] {"13","12", "14"});
+ web.setProperty("publication:lifecycleName", "lf_name");
+ web.setProperty("publication:revisionData", new String[] {"r_data_1", "r_data_2"});
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("exo:datetime");
+ defHtml.addMixin("exo:owneable");
+ defHtml.addMixin("exo:modify");
+ defHtml.addMixin("exo:htmlFile");
+
+ defHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ defHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defHtml.setProperty("exo:lastModifier", "root");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+ contentDefHtml.addMixin("exo:datetime");
+ contentDefHtml.addMixin("exo:owneable");
+ contentDefHtml.addMixin("dc:elementSet");
+
+ contentDefHtml.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefHtml.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+
+ Node css = web.addNode("css", "exo:cssFolder");
+ css.addMixin("exo:datetime");
+ css.addMixin("exo:owneable");
+ css.addMixin("exo:modify");
+
+ css.setProperty("exo:dateCreated", Calendar.getInstance());
+ css.setProperty("exo:dateModified", Calendar.getInstance());
+ css.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ css.setProperty("exo:lastModifier", "root");
+
+ Node defCss = css.addNode("default.css", "nt:file");
+
+ defCss.addMixin("exo:datetime");
+ defCss.addMixin("exo:owneable");
+ defCss.addMixin("exo:modify");
+
+ defCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ defCss.setProperty("exo:dateModified", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defCss.setProperty("exo:lastModifier", "root");
+
+ Node contentDefCss = defCss.addNode("jcr:content", "nt:resource");
+ contentDefCss.addMixin("exo:datetime");
+ contentDefCss.addMixin("exo:owneable");
+ contentDefCss.addMixin("dc:elementSet");
+
+ contentDefCss.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefCss.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:data", "def_css_data");
+ contentDefCss.setProperty("jcr:encoding", "UTF-8");
+ contentDefCss.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefCss.setProperty("jcr:mimeType", "text/css");
+
+ Node medias = web.addNode("medias", "exo:multimediaFolder");
+ medias.addMixin("exo:datetime");
+ medias.addMixin("exo:owneable");
+ medias.addMixin("exo:modify");
+
+ medias.setProperty("exo:dateCreated", Calendar.getInstance());
+ medias.setProperty("exo:dateModified", Calendar.getInstance());
+ medias.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ medias.setProperty("exo:lastModifier", "root");
+
+ Node videos = medias.addNode("videos", "nt:folder");
+ videos.addMixin("exo:datetime");
+ videos.addMixin("exo:owneable");
+ videos.addMixin("exo:modify");
+
+ videos.setProperty("exo:dateCreated", Calendar.getInstance());
+ videos.setProperty("exo:dateModified", Calendar.getInstance());
+ videos.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ videos.setProperty("exo:lastModifier", "root");
+
+ Node images = medias.addNode("images", "nt:folder");
+ images.addMixin("exo:datetime");
+ images.addMixin("exo:owneable");
+ images.addMixin("exo:modify");
+
+ images.setProperty("exo:dateCreated", Calendar.getInstance());
+ images.setProperty("exo:dateModified", Calendar.getInstance());
+ images.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ images.setProperty("exo:lastModifier", "root");
+
+ Node illustration= images.addNode("illustration", "nt:file");
+ illustration.addMixin("exo:datetime");
+ illustration.addMixin("exo:owneable");
+ illustration.addMixin("exo:modify");
+ illustration.addMixin("mix:referenceable");
+
+ illustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ illustration.setProperty("exo:dateModified", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ illustration.setProperty("exo:lastModifier", "root");
+
+ Node contentIllustration = illustration.addNode("jcr:content", "nt:resource");
+ contentIllustration.addMixin("exo:datetime");
+ contentIllustration.addMixin("exo:owneable");
+ contentIllustration.addMixin("dc:elementSet");
+
+ contentIllustration.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentIllustration.setProperty("exo:dateModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:data", "illustration_data");
+ contentIllustration.setProperty("jcr:encoding", "UTF-8");
+ contentIllustration.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentIllustration.setProperty("jcr:mimeType", "text/jpeg");
+
+ Node documents = web.addNode("documents", "nt:unstructured");
+ documents.addMixin("exo:datetime");
+ documents.addMixin("exo:owneable");
+ documents.addMixin("exo:modify");
+ documents.addMixin("exo:documentFolder");
+
+ documents.setProperty("exo:dateCreated", Calendar.getInstance());
+ documents.setProperty("exo:dateModified", Calendar.getInstance());
+ documents.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ documents.setProperty("exo:lastModifier", "root");
+
+ Node js = web.addNode("js", "exo:jsFolder");
+ js.addMixin("exo:datetime");
+ js.addMixin("exo:owneable");
+ js.addMixin("exo:modify");
+
+ js.setProperty("exo:dateCreated", Calendar.getInstance());
+ js.setProperty("exo:dateModified", Calendar.getInstance());
+ js.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ js.setProperty("exo:lastModifier", "root");
+
+ Node defJs = js.addNode("default.js", "nt:file");
+ defJs.addMixin("exo:datetime");
+ defJs.addMixin("exo:owneable");
+ defJs.addMixin("exo:modify");
+
+ defJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ defJs.setProperty("exo:dateModified", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifiedDate", Calendar.getInstance());
+ defJs.setProperty("exo:lastModifier", "root");
+
+ Node contentDefJs = defJs.addNode("jcr:content", "nt:resource");
+ contentDefJs.addMixin("exo:datetime");
+ contentDefJs.addMixin("exo:owneable");
+ contentDefJs.addMixin("dc:elementSet");
+
+ contentDefJs.setProperty("exo:dateCreated", Calendar.getInstance());
+ contentDefJs.setProperty("exo:dateModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:data", "def_js_data");
+ contentDefJs.setProperty("jcr:encoding", "UTF-8");
+ contentDefJs.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefJs.setProperty("jcr:mimeType", "text/js");
+
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, true, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), true, true);
+ System.out.println(new String(versionHistory));
+
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
+
+ public void testEXOJCR865_Doc_exo_webContent_2() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("mix:referenceable");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.restore("1", true);
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, false, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), false, true);
+ System.out.println(new String(versionHistory));
+
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ Node dHtml = fileImport.getNode("default.html"); fileImport.getNode("default.html").getProperty("jcr:uuid").getString();
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
+
+ public void testEXOJCR865_Sys_exo_webContent_2() throws Exception
+ {
+ // node content
+ Node testRoot = root.addNode("testRoot");
+ root.save();
+
+ Node web = testRoot.addNode("web", "exo:webContent");
+
+ web.addMixin("mix:versionable");
+
+ web.setProperty("exo:summary", "text summary");
+ web.setProperty("exo:title", "web title");
+
+ Node defHtml = web.addNode("default.html", "nt:file");
+ defHtml.addMixin("mix:referenceable");
+
+ Node contentDefHtml = defHtml.addNode("jcr:content", "nt:resource");
+
+ contentDefHtml.setProperty("jcr:data", "def_html_data");
+ contentDefHtml.setProperty("jcr:encoding", "UTF-8");
+ contentDefHtml.setProperty("jcr:lastModified", Calendar.getInstance());
+ contentDefHtml.setProperty("jcr:mimeType", "text/html");
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.checkin();
+ web.checkout();
+ root.save();
+
+ web.restore("1", true);
+ root.save();
+
+ VersionableNodeInfo nodeInfo = new VersionableNodeInfo(testRoot.getNode("web"));
+
+ // node content
+ byte[] versionableNode = serialize(web, true, true);
+ // version history
+ byte[] versionHistory = serialize(web.getVersionHistory(), true, true);
+ System.out.println(new String(versionHistory));
+
+ // restore node content
+ Node restoreRoot = testRoot.addNode("restRootWeb");
+ testRoot.save();
+
+ deserialize(restoreRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
+ new ByteArrayInputStream(versionableNode));
+ root.save();
+
+ assertTrue(restoreRoot.hasNode("web"));
+
+ Node fileImport = restoreRoot.getNode("web");
+ Node dHtml = fileImport.getNode("default.html"); fileImport.getNode("default.html").getProperty("jcr:uuid").getString();
+ assertTrue(fileImport.isNodeType("mix:versionable"));
+
+ VersionHistoryImporter versionHistoryImporter =
+ new VersionHistoryImporter((NodeImpl)fileImport, new ByteArrayInputStream(versionHistory), nodeInfo
+ .getBaseVersion(), nodeInfo.getPredecessorsHistory(), nodeInfo.getVersionHistory());
+ versionHistoryImporter.doImport();
+ root.save();
+
+
+ Property property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.restore("1", true);
+ root.save();
+
+ property = fileImport.getProperty("jcr:predecessors");
+ assertNotNull(property);
+ assertNotNull(property.getDefinition());
+
+ fileImport.checkin();
+ fileImport.checkout();
+ root.save();
+ }
}
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml 2010-08-10 09:19:54 UTC (rev 2905)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/standalone/test-configuration.xml 2010-08-10 16:04:43 UTC (rev 2906)
@@ -118,6 +118,7 @@
<property name="rma" value="http://www.rma.com/jcr/"/>
<property name="metadata" value="http://www.exoplatform.com/jcr/metadata/1.1/"/>
<property name="dc" value="http://purl.org/dc/elements/1.1/"/>
+ <property name="publication" value="http://www.exoplatform.com/jcr/publication/1.1/"/>
</properties-param>
</init-params>
</component-plugin>
@@ -134,6 +135,9 @@
<value>jar:/conf/test/nodetypes-usecase.xml</value>
<value>jar:/conf/test/nodetypes-config.xml</value>
<value>jar:/conf/test/nodetypes-config-extended.xml</value>
+ <value>jar:/conf/test/wcm-nodetypes.xml</value>
+ <value>jar:/conf/test/nodetypes-publication-config.xml</value>
+ <value>jar:/conf/test/publication-plugins-nodetypes-config.xml</value>
</values-param>
<values-param>
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml 2010-08-10 09:19:54 UTC (rev 2905)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-config.xml 2010-08-10 16:04:43 UTC (rev 2906)
@@ -32,6 +32,15 @@
</propertyDefinition>
</propertyDefinitions>
</nodeType>
+
+ <nodeType name="exo:presentationable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:presentationType" requiredType="String" autoCreated="true" mandatory="false"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
<nodeType name="exo:action" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
<supertypes>
@@ -153,4 +162,17 @@
</propertyDefinition>
</propertyDefinitions>
</nodeType>
+
+ <nodeType name="exo:modify" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:lastModifiedDate" requiredType="Date" autoCreated="true" mandatory="false"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="exo:lastModifier" requiredType="String" autoCreated="true" mandatory="false"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
</nodeTypes>
\ No newline at end of file
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml 2010-08-10 09:19:54 UTC (rev 2905)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-impl.xml 2010-08-10 16:04:43 UTC (rev 2906)
@@ -258,7 +258,7 @@
</childNodeDefinitions>
</nodeType>
- <!-- nodeType name="exo:metadata" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <nodeType name="exo:metadata" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
<propertyDefinitions>
<propertyDefinition name="exo:internalUse" requiredType="Boolean" autoCreated="true" mandatory="false" onParentVersion="COPY"
protected="false" multiple="false">
@@ -336,6 +336,6 @@
<valueConstraints />
</propertyDefinition>
</propertyDefinitions>
- </nodeType -->
+ </nodeType>
</nodeTypes>
Added: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml (rev 0)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/nodetypes-publication-config.xml 2010-08-10 16:04:43 UTC (rev 2906)
@@ -0,0 +1,38 @@
+<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
+ xmlns:jcr="http://www.jcp.org/jcr/1.0">
+
+ <nodeType name="publication:publication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="publication:lifecycleName" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:currentState" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:history" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="publication:webpagesPublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:publication</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="publication:navigationNodeURIs" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:webPageIDs" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:applicationIDs" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+</nodeTypes>
\ No newline at end of file
Added: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml (rev 0)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/publication-plugins-nodetypes-config.xml 2010-08-10 16:04:43 UTC (rev 2906)
@@ -0,0 +1,43 @@
+<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
+ xmlns:jcr="http://www.jcp.org/jcr/1.0">
+
+ <nodeType name="publication:staticAndDirectPublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:publication</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="publication:visibility" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="IGNORE" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:versionsPublicationStates" requiredType="String" autoCreated="false" mandatory="true"
+ onParentVersion="IGNORE" protected="false" multiple="true">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="publication:simplePublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:webpagesPublication</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="publication:stateAndVersionBasedPublication" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>publication:publication</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="publication:revisionData" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:liveRevision" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="publication:liveDate" requiredType="Date" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+</nodeTypes>
\ No newline at end of file
Added: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml (rev 0)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml 2010-08-10 16:04:43 UTC (rev 2906)
@@ -0,0 +1,256 @@
+<nodeTypes
+ xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
+ xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
+ xmlns:jcr="http://www.jcp.org/jcr/1.0"
+ xmlns:exo="http://www.exoplatform.com/jcr/exo/1.0">
+
+ <!-- Duplicating this definition in case the ECM node type definitions
+ have not been processed by the Repository Service yet. -->
+ <!-- DO NOT REMOVE THIS DEFINITION -->
+ <nodeType name="exo:presentationable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:presentationType" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+ <!-- DO NOT REMOVE THIS DEFINITION -->
+
+ <nodeType name="exo:portalFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:webFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:themeFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:linkFolder" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:multimediaFolder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ <childNodeDefinitions>
+ <childNodeDefinition name="images" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="videos" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="audio" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ </childNodeDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:jsFolder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>nt:folder</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:cssFolder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>nt:folder</supertype>
+ </supertypes>
+ <childNodeDefinitions>
+ <childNodeDefinition name="*" defaultPrimaryType="nt:folder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="css" defaultPrimaryType="exo:cssFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ </childNodeDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:webContent" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>mix:referenceable</supertype>
+ <supertype>nt:unstructured</supertype>
+ <supertype>nt:hierarchyNode</supertype>
+ <supertype>exo:rss-enable</supertype>
+ </supertypes>
+ <childNodeDefinitions>
+ <childNodeDefinition name="js" defaultPrimaryType="exo:jsFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="css" defaultPrimaryType="exo:cssFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ <childNodeDefinition name="medias" defaultPrimaryType="exo:multimediaFolder" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+ <requiredPrimaryTypes>
+ <requiredPrimaryType>nt:base</requiredPrimaryType>
+ </requiredPrimaryTypes>
+ </childNodeDefinition>
+ </childNodeDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:htmlFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ <supertype>mix:referenceable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:htmlTOC" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:jsFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ <supertype>mix:referenceable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:active" requiredType="Boolean" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>true</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:priority" requiredType="Long" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>0</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:sharedJS" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:cssFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ <supertype>mix:referenceable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:active" requiredType="Boolean" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>true</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:priority" requiredType="Long" autoCreated="true" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>0</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ <propertyDefinition name="exo:sharedCSS" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:multimediaFile" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ </supertypes>
+ </nodeType>
+
+ <nodeType name="exo:linkable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:links" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:link" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>mix:referenceable</supertype>
+ <supertype>nt:unstructured</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:linkURL" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:linkDescription" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:linkActive" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:webLinks" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:externalSiteLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:portalPageLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:insideDocumentLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ <propertyDefinition name="exo:multimediaLinks" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+ <valueConstraints />
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:multiPageContent" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <supertypes>
+ <supertype>exo:presentationable</supertype>
+ </supertypes>
+ <propertyDefinitions>
+ <propertyDefinition name="exo:presentationType" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints />
+ <defaultValues>
+ <defaultValue>exo:multiPageContent</defaultValue>
+ </defaultValues>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+ <nodeType name="exo:sortable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
+ <propertyDefinitions>
+ <propertyDefinition name="exo:title" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="exo:titlePublished" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="exo:name" requiredType="String" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ <propertyDefinition name="publication:liveDate" requiredType="Date" autoCreated="true" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+ <valueConstraints/>
+ </propertyDefinition>
+ </propertyDefinitions>
+ </nodeType>
+
+</nodeTypes>
Property changes on: jcr/branches/1.12.x/exo.jcr.component.core/src/test/resources/conf/test/wcm-nodetypes.xml
___________________________________________________________________
Name: svn:eol-style
+ native
13 years, 11 months
exo-jcr SVN: r2905 - jcr/branches/1.12.x/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext.
by do-not-reply@jboss.org
Author: dkatayev
Date: 2010-08-10 05:19:54 -0400 (Tue, 10 Aug 2010)
New Revision: 2905
Modified:
jcr/branches/1.12.x/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java
Log:
EXOJCR-882 If-Modified-Since header locale forced to US according to HTTP-Date specification
Modified: jcr/branches/1.12.x/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java 2010-08-10 08:49:05 UTC (rev 2904)
+++ jcr/branches/1.12.x/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java 2010-08-10 09:19:54 UTC (rev 2905)
@@ -32,6 +32,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Locale;
import javax.jcr.Node;
import javax.jcr.Property;
@@ -63,7 +64,7 @@
Node contentNode = node.getNode("jcr:content");
Property lastModifiedProperty = contentNode.getProperty("jcr:lastModified");
- SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN);
+ SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN, Locale.US);
Calendar lastModifiedDate = lastModifiedProperty.getDate();
lastModifiedDate.roll(Calendar.SECOND, -10);
@@ -82,7 +83,7 @@
Node contentNode = node.getNode("jcr:content");
Property lastModifiedProperty = contentNode.getProperty("jcr:lastModified");
- SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN);
+ SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN, Locale.US);
Calendar lastModifiedDate = lastModifiedProperty.getDate();
lastModifiedDate.add(Calendar.WEEK_OF_MONTH, 1);
13 years, 11 months
exo-jcr SVN: r2904 - jcr/trunk/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext.
by do-not-reply@jboss.org
Author: dkatayev
Date: 2010-08-10 04:49:05 -0400 (Tue, 10 Aug 2010)
New Revision: 2904
Modified:
jcr/trunk/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java
Log:
EXOJCR-882 If-Modified-Since header locale forced to US according to HTTP-Date specification
Modified: jcr/trunk/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java
===================================================================
--- jcr/trunk/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java 2010-08-09 11:47:15 UTC (rev 2903)
+++ jcr/trunk/exo.jcr.component.webdav/src/test/java/org/exoplatform/services/jcr/webdav/ext/TestCaching.java 2010-08-10 08:49:05 UTC (rev 2904)
@@ -64,7 +64,7 @@
Node contentNode = node.getNode("jcr:content");
Property lastModifiedProperty = contentNode.getProperty("jcr:lastModified");
- SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN);
+ SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN, Locale.US);
Calendar lastModifiedDate = lastModifiedProperty.getDate();
lastModifiedDate.roll(Calendar.SECOND, -10);
@@ -83,7 +83,7 @@
Node contentNode = node.getNode("jcr:content");
Property lastModifiedProperty = contentNode.getProperty("jcr:lastModified");
- SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN);
+ SimpleDateFormat dateFormat = new SimpleDateFormat(WebDavConst.DateFormat.IF_MODIFIED_SINCE_PATTERN, Locale.US);
Calendar lastModifiedDate = lastModifiedProperty.getDate();
lastModifiedDate.add(Calendar.WEEK_OF_MONTH, 1);
13 years, 11 months
exo-jcr SVN: r2903 - jcr/trunk/exo.jcr.framework.ftpclient/src/main/java/org/exoplatform/frameworks/ftpclient/commands.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2010-08-09 07:47:15 -0400 (Mon, 09 Aug 2010)
New Revision: 2903
Modified:
jcr/trunk/exo.jcr.framework.ftpclient/src/main/java/org/exoplatform/frameworks/ftpclient/commands/CmdList.java
Log:
EXOJCR-883: UTF-8 used instead of "win-1251" as client-side encoding in FTP service
Modified: jcr/trunk/exo.jcr.framework.ftpclient/src/main/java/org/exoplatform/frameworks/ftpclient/commands/CmdList.java
===================================================================
--- jcr/trunk/exo.jcr.framework.ftpclient/src/main/java/org/exoplatform/frameworks/ftpclient/commands/CmdList.java 2010-08-09 11:46:24 UTC (rev 2902)
+++ jcr/trunk/exo.jcr.framework.ftpclient/src/main/java/org/exoplatform/frameworks/ftpclient/commands/CmdList.java 2010-08-09 11:47:15 UTC (rev 2903)
@@ -1,132 +1,132 @@
-/*
- * 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.
- */
-package org.exoplatform.frameworks.ftpclient.commands;
-
-import org.exoplatform.frameworks.ftpclient.FtpConst;
-import org.exoplatform.frameworks.ftpclient.data.FtpDataTransiver;
-import org.exoplatform.frameworks.ftpclient.data.FtpFileInfo;
-import org.exoplatform.frameworks.ftpclient.data.FtpFileInfoImpl;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
-
-import java.util.ArrayList;
-
-/**
- * Created by The eXo Platform SAS .
- *
- * @author Vitaly Guly
- * @version $Id: $
- */
-
-public class CmdList extends FtpCommandImpl
-{
-
- private static Log log = ExoLogger.getLogger("exo.jcr.framework.command.CmdList");
-
- protected String path = "";
-
- protected byte[] fileData;
-
- protected ArrayList<FtpFileInfo> files = new ArrayList<FtpFileInfo>();
-
- public CmdList()
- {
- }
-
- public CmdList(String path)
- {
- this.path = path;
- }
-
- public byte[] getFileData()
- {
- return fileData;
- }
-
- public ArrayList<FtpFileInfo> getFiles()
- {
- return files;
- }
-
- public int execute()
- {
- try
- {
- if (clientSession.getSystemType() == null)
- {
- clientSession.executeCommand(new CmdSyst());
- }
-
- String req;
-
- if ("".equals(path))
- {
- req = FtpConst.Commands.CMD_LIST;
- }
- else
- {
- req = String.format("%s %s", FtpConst.Commands.CMD_LIST, path);
- }
- sendCommand(req);
-
- int reply = getReply();
-
- if (reply == FtpConst.Replyes.REPLY_125 || reply == FtpConst.Replyes.REPLY_150)
- {
- FtpDataTransiver dataTransiver = clientSession.getDataTransiver();
-
- fileData = dataTransiver.receive();
-
- dataTransiver.close();
-
- String dd = new String(fileData, "windows-1251");
-
- String[] lines = dd.split("\r\n");
-
- String systemType = clientSession.getSystemType();
- systemType = systemType.substring(systemType.indexOf(" ") + 1);
-
- for (int i = 0; i < lines.length; i++)
- {
- try
- {
- FtpFileInfo fileInfo = new FtpFileInfoImpl();
- if (!"".equals(lines[i]))
- {
- fileInfo.parseDir(lines[i], systemType);
- files.add(fileInfo);
- }
- }
- catch (Exception exc)
- {
- log.info("CAN'T PARSE FILE LINE: [" + lines[i] + "]");
- }
- }
- reply = getReply();
- }
- return reply;
- }
- catch (Exception exc)
- {
- log.info("Unhandled exception. " + exc.getMessage(), exc);
- }
- return -1;
- }
-
-}
+/*
+ * 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.
+ */
+package org.exoplatform.frameworks.ftpclient.commands;
+
+import org.exoplatform.frameworks.ftpclient.FtpConst;
+import org.exoplatform.frameworks.ftpclient.data.FtpDataTransiver;
+import org.exoplatform.frameworks.ftpclient.data.FtpFileInfo;
+import org.exoplatform.frameworks.ftpclient.data.FtpFileInfoImpl;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+
+import java.util.ArrayList;
+
+/**
+ * Created by The eXo Platform SAS .
+ *
+ * @author Vitaly Guly
+ * @version $Id: $
+ */
+
+public class CmdList extends FtpCommandImpl
+{
+
+ private static Log log = ExoLogger.getLogger("exo.jcr.framework.command.CmdList");
+
+ protected String path = "";
+
+ protected byte[] fileData;
+
+ protected ArrayList<FtpFileInfo> files = new ArrayList<FtpFileInfo>();
+
+ public CmdList()
+ {
+ }
+
+ public CmdList(String path)
+ {
+ this.path = path;
+ }
+
+ public byte[] getFileData()
+ {
+ return fileData;
+ }
+
+ public ArrayList<FtpFileInfo> getFiles()
+ {
+ return files;
+ }
+
+ public int execute()
+ {
+ try
+ {
+ if (clientSession.getSystemType() == null)
+ {
+ clientSession.executeCommand(new CmdSyst());
+ }
+
+ String req;
+
+ if ("".equals(path))
+ {
+ req = FtpConst.Commands.CMD_LIST;
+ }
+ else
+ {
+ req = String.format("%s %s", FtpConst.Commands.CMD_LIST, path);
+ }
+ sendCommand(req);
+
+ int reply = getReply();
+
+ if (reply == FtpConst.Replyes.REPLY_125 || reply == FtpConst.Replyes.REPLY_150)
+ {
+ FtpDataTransiver dataTransiver = clientSession.getDataTransiver();
+
+ fileData = dataTransiver.receive();
+
+ dataTransiver.close();
+
+ String dd = new String(fileData, "utf-8");
+
+ String[] lines = dd.split("\r\n");
+
+ String systemType = clientSession.getSystemType();
+ systemType = systemType.substring(systemType.indexOf(" ") + 1);
+
+ for (int i = 0; i < lines.length; i++)
+ {
+ try
+ {
+ FtpFileInfo fileInfo = new FtpFileInfoImpl();
+ if (!"".equals(lines[i]))
+ {
+ fileInfo.parseDir(lines[i], systemType);
+ files.add(fileInfo);
+ }
+ }
+ catch (Exception exc)
+ {
+ log.info("CAN'T PARSE FILE LINE: [" + lines[i] + "]");
+ }
+ }
+ reply = getReply();
+ }
+ return reply;
+ }
+ catch (Exception exc)
+ {
+ log.info("Unhandled exception. " + exc.getMessage(), exc);
+ }
+ return -1;
+ }
+
+}
13 years, 11 months