Author: tolusha
Date: 2009-12-08 10:53:12 -0500 (Tue, 08 Dec 2009)
New Revision: 950
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ScratchWorkspaceInitializer.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/BaseVersionImplTest.java
Log:
EXOJCR-939: remove setters from code
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -354,22 +354,22 @@
private void initStorage(NodeData nsSystem, boolean addACL) throws
RepositoryException
{
PlainChangesLog changesLog = new PlainChangesLogImpl();
- TransientNodeData exoNamespaces =
- TransientNodeData.createNodeData(nsSystem, Constants.EXO_NAMESPACES,
Constants.NT_UNSTRUCTURED);
+ TransientNodeData exoNamespaces;
- TransientPropertyData primaryType =
- TransientPropertyData.createPropertyData(exoNamespaces,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
- new TransientValueData(exoNamespaces.getPrimaryTypeName()));
-
-
changesLog.add(ItemState.createAddedState(exoNamespaces)).add(ItemState.createAddedState(primaryType));
-
if (addACL)
{
AccessControlList acl = new AccessControlList();
-
InternalQName[] mixins = new InternalQName[]{Constants.EXO_OWNEABLE,
Constants.EXO_PRIVILEGEABLE};
- exoNamespaces.setMixinTypeNames(mixins);
+ exoNamespaces =
+ TransientNodeData.createNodeData(nsSystem, Constants.EXO_NAMESPACES,
Constants.NT_UNSTRUCTURED, mixins);
+
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(exoNamespaces,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME,
+ false, new TransientValueData(exoNamespaces.getPrimaryTypeName()));
+
+
changesLog.add(ItemState.createAddedState(exoNamespaces)).add(ItemState.createAddedState(primaryType));
+
// jcr:mixinTypes
List<ValueData> mixValues = new ArrayList<ValueData>();
for (InternalQName mixin : mixins)
@@ -398,7 +398,18 @@
ItemState.createAddedState(exoPerms));
changesLog.add(new ItemState(exoNamespaces, ItemState.MIXIN_CHANGED, false,
null));
}
+ else
+ {
+ exoNamespaces =
+ TransientNodeData.createNodeData(nsSystem, Constants.EXO_NAMESPACES,
Constants.NT_UNSTRUCTURED);
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(exoNamespaces,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME,
+ false, new TransientValueData(exoNamespaces.getPrimaryTypeName()));
+
+
changesLog.add(ItemState.createAddedState(exoNamespaces)).add(ItemState.createAddedState(primaryType));
+ }
+
nsRoot = exoNamespaces;
dataManager.save(new TransactionChangesLog(changesLog));
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -1642,10 +1642,13 @@
session.getActionHandler().preRemoveMixin(this, name);
- TransientPropertyData prop =
+ TransientPropertyData propData =
(TransientPropertyData)dataManager.getItemData(nodeData(), new
QPathEntry(Constants.JCR_MIXINTYPES, 0));
- prop.setValues(values);
+ // create new property data with new values
+ TransientPropertyData prop =
+ new TransientPropertyData(propData.getQPath(), propData.getIdentifier(),
propData.getPersistedVersion(),
+ propData.getType(), propData.getParentIdentifier(), propData.isMultiValued(),
values);
NodeTypeDataManager ntmanager = session.getWorkspace().getNodeTypesHolder();
@@ -2409,9 +2412,12 @@
{
newData = ((TransientNodeData)sdata).cloneAsSibling(sameNameIndex);
}
- // crate update
- ((TransientNodeData)newData).setOrderNumber(j);
+ // create update
+ newData =
+ new TransientNodeData(newData.getQPath(), newData.getIdentifier(),
newData.getPersistedVersion(), newData
+ .getPrimaryTypeName(), newData.getMixinTypeNames(), j,
newData.getParentIdentifier(), newData.getACL());
+
/*
* 8.3.7.8 Re-ordering a set of Child Nodes. When an orderBefore(A, B) is
* performed, an implementation must generate a NODE_REMOVED for node A
@@ -2856,6 +2862,11 @@
private void setACL(AccessControlList acl)
{
+ // NodeData nodeData = (NodeData)data;
+ // data =
+ // new TransientNodeData(data.getQPath(), data.getIdentifier(),
data.getPersistedVersion(), nodeData
+ // .getPrimaryTypeName(), nodeData.getMixinTypeNames(),
nodeData.getOrderNumber(), nodeData
+ // .getParentIdentifier(), acl);
((NodeData)data).setACL(acl);
}
@@ -2863,6 +2874,12 @@
{
InternalQName[] mixins = new InternalQName[newMixin.size()];
newMixin.toArray(mixins);
+
+ // NodeData nodeData = (NodeData)data;
+ // data =
+ // new TransientNodeData(nodeData.getQPath(), nodeData.getIdentifier(),
nodeData.getPersistedVersion(), nodeData
+ // .getPrimaryTypeName(), mixins, nodeData.getOrderNumber(),
nodeData.getParentIdentifier(), nodeData.getACL());
+
((TransientNodeData)data).setMixinTypeNames(mixins);
dataManager.update(new ItemState(data, ItemState.MIXIN_CHANGED, false, null),
false);
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ScratchWorkspaceInitializer.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ScratchWorkspaceInitializer.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ScratchWorkspaceInitializer.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -190,21 +190,11 @@
private NodeData initRootNode(InternalQName rootNodeType) throws RepositoryException
{
+ boolean addACL = !accessControlType.equals(AccessControlPolicy.DISABLE);
+
PlainChangesLog changesLog = new PlainChangesLogImpl();
+ TransientNodeData rootNode;
- TransientNodeData rootNode =
- new TransientNodeData(Constants.ROOT_PATH, Constants.ROOT_UUID, -1,
rootNodeType, new InternalQName[0], 0,
- null, new AccessControlList());
- changesLog.add(new ItemState(rootNode, ItemState.ADDED, false, null));
-
- TransientPropertyData primaryType =
- new TransientPropertyData(QPath.makeChildPath(rootNode.getQPath(),
Constants.JCR_PRIMARYTYPE), IdGenerator
- .generate(), -1, PropertyType.NAME, rootNode.getIdentifier(), false, new
TransientValueData(rootNodeType));
-
- changesLog.add(new ItemState(primaryType, ItemState.ADDED, false, null)); //
-
- boolean addACL = !accessControlType.equals(AccessControlPolicy.DISABLE);
-
if (addACL)
{
AccessControlList acl = new AccessControlList();
@@ -215,11 +205,19 @@
acl.addPermissions(rootPermissions);
}
- rootNode.setACL(acl);
-
InternalQName[] mixins = new InternalQName[]{Constants.EXO_OWNEABLE,
Constants.EXO_PRIVILEGEABLE};
- rootNode.setMixinTypeNames(mixins);
+ rootNode =
+ new TransientNodeData(Constants.ROOT_PATH, Constants.ROOT_UUID, -1,
rootNodeType, mixins, 0, null, acl);
+ changesLog.add(new ItemState(rootNode, ItemState.ADDED, false, null));
+
+ TransientPropertyData primaryType =
+ new TransientPropertyData(QPath.makeChildPath(rootNode.getQPath(),
Constants.JCR_PRIMARYTYPE), IdGenerator
+ .generate(), -1, PropertyType.NAME, rootNode.getIdentifier(), false,
+ new TransientValueData(rootNodeType));
+
+ changesLog.add(new ItemState(primaryType, ItemState.ADDED, false, null)); //
+
// jcr:mixinTypes
List<ValueData> mixValues = new ArrayList<ValueData>();
for (InternalQName mixin : mixins)
@@ -248,35 +246,46 @@
ItemState.createAddedState(exoPerms));
changesLog.add(new ItemState(rootNode, ItemState.MIXIN_CHANGED, false, null));
}
+ else
+ {
+ rootNode =
+ new TransientNodeData(Constants.ROOT_PATH, Constants.ROOT_UUID, -1,
rootNodeType, new InternalQName[0], 0,
+ null, new AccessControlList());
+ changesLog.add(new ItemState(rootNode, ItemState.ADDED, false, null));
+ TransientPropertyData primaryType =
+ new TransientPropertyData(QPath.makeChildPath(rootNode.getQPath(),
Constants.JCR_PRIMARYTYPE), IdGenerator
+ .generate(), -1, PropertyType.NAME, rootNode.getIdentifier(), false,
+ new TransientValueData(rootNodeType));
+ changesLog.add(new ItemState(primaryType, ItemState.ADDED, false, null)); //
+ }
+
dataManager.save(new TransactionChangesLog(changesLog));
-
return rootNode;
}
private NodeData initJcrSystemNode(NodeData root) throws RepositoryException
{
+ boolean addACL = !accessControlType.equals(AccessControlPolicy.DISABLE);
PlainChangesLog changesLog = new PlainChangesLogImpl();
+ TransientNodeData jcrSystem;
- TransientNodeData jcrSystem =
- TransientNodeData.createNodeData(root, Constants.JCR_SYSTEM,
Constants.NT_UNSTRUCTURED, Constants.SYSTEM_UUID);
-
- TransientPropertyData primaryType =
- TransientPropertyData.createPropertyData(jcrSystem, Constants.JCR_PRIMARYTYPE,
PropertyType.NAME, false,
- new TransientValueData(jcrSystem.getPrimaryTypeName()));
-
-
changesLog.add(ItemState.createAddedState(jcrSystem)).add(ItemState.createAddedState(primaryType));
-
- boolean addACL = !accessControlType.equals(AccessControlPolicy.DISABLE);
-
if (addACL)
{
AccessControlList acl = new AccessControlList();
-
InternalQName[] mixins = new InternalQName[]{Constants.EXO_OWNEABLE,
Constants.EXO_PRIVILEGEABLE};
- jcrSystem.setMixinTypeNames(mixins);
+ jcrSystem =
+ TransientNodeData.createNodeData(root, Constants.JCR_SYSTEM,
Constants.NT_UNSTRUCTURED, mixins,
+ Constants.SYSTEM_UUID);
+
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(jcrSystem,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
+ new TransientValueData(jcrSystem.getPrimaryTypeName()));
+
+
changesLog.add(ItemState.createAddedState(jcrSystem)).add(ItemState.createAddedState(primaryType));
+
// jcr:mixinTypes
List<ValueData> mixValues = new ArrayList<ValueData>();
for (InternalQName mixin : mixins)
@@ -305,7 +314,19 @@
ItemState.createAddedState(exoPerms));
changesLog.add(new ItemState(jcrSystem, ItemState.MIXIN_CHANGED, false, null));
}
+ else
+ {
+ jcrSystem =
+ TransientNodeData.createNodeData(root, Constants.JCR_SYSTEM,
Constants.NT_UNSTRUCTURED,
+ Constants.SYSTEM_UUID);
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(jcrSystem,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
+ new TransientValueData(jcrSystem.getPrimaryTypeName()));
+
+
changesLog.add(ItemState.createAddedState(jcrSystem)).add(ItemState.createAddedState(primaryType));
+ }
+
// init version storage
TransientNodeData versionStorageNodeData =
TransientNodeData.createNodeData(jcrSystem, Constants.JCR_VERSIONSTORAGE,
Constants.EXO_VERSIONSTORAGE,
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -153,25 +153,25 @@
public NodeData initNodetypesRoot(NodeData nsSystem, boolean addACL) throws
RepositoryException
{
PlainChangesLog changesLog = new PlainChangesLogImpl();
+ TransientNodeData jcrNodetypes;
long start = System.currentTimeMillis();
- TransientNodeData jcrNodetypes =
- TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES,
Constants.NT_UNSTRUCTURED,
- Constants.NODETYPESROOT_UUID);
-
- TransientPropertyData primaryType =
- TransientPropertyData.createPropertyData(jcrNodetypes,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
- new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
-
-
changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
-
if (addACL)
{
AccessControlList acl = new AccessControlList();
InternalQName[] mixins = new InternalQName[]{Constants.EXO_OWNEABLE,
Constants.EXO_PRIVILEGEABLE};
- jcrNodetypes.setMixinTypeNames(mixins);
+ jcrNodetypes =
+ TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES,
Constants.NT_UNSTRUCTURED, mixins,
+ Constants.NODETYPESROOT_UUID);
+
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(jcrNodetypes,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
+ new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
+
+
changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
+
// jcr:mixinTypes
List<ValueData> mixValues = new ArrayList<ValueData>();
for (InternalQName mixin : mixins)
@@ -200,7 +200,19 @@
ItemState.createAddedState(exoPerms));
changesLog.add(new ItemState(jcrNodetypes, ItemState.MIXIN_CHANGED, false,
null));
}
+ else
+ {
+ jcrNodetypes =
+ TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES,
Constants.NT_UNSTRUCTURED,
+ Constants.NODETYPESROOT_UUID);
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(jcrNodetypes,
Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
+ new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
+
+
changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
+ }
+
if (log.isDebugEnabled())
log.debug("/jcr:system/jcr:nodetypes is created, creation time: " +
(System.currentTimeMillis() - start)
+ " ms");
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -223,6 +223,25 @@
* @return
*/
public static TransientNodeData createNodeData(NodeData parent, InternalQName name,
InternalQName primaryTypeName,
+ InternalQName[] mixinTypesName)
+ {
+ TransientNodeData nodeData = null;
+ QPath path = QPath.makeChildPath(parent.getQPath(), name);
+ nodeData =
+ new TransientNodeData(path, IdGenerator.generate(), -1, primaryTypeName,
mixinTypesName, 0, parent
+ .getIdentifier(), parent.getACL());
+ return nodeData;
+ }
+
+ /**
+ * Factory method
+ *
+ * @param parent
+ * @param name
+ * @param primaryTypeName
+ * @return
+ */
+ public static TransientNodeData createNodeData(NodeData parent, InternalQName name,
InternalQName primaryTypeName,
int index)
{
TransientNodeData nodeData = null;
@@ -242,6 +261,25 @@
* @return
*/
public static TransientNodeData createNodeData(NodeData parent, InternalQName name,
InternalQName primaryTypeName,
+ int index, int orderNumber)
+ {
+ TransientNodeData nodeData = null;
+ QPath path = QPath.makeChildPath(parent.getQPath(), name, index);
+ nodeData =
+ new TransientNodeData(path, IdGenerator.generate(), -1, primaryTypeName, new
InternalQName[0], orderNumber,
+ parent.getIdentifier(), parent.getACL());
+ return nodeData;
+ }
+
+ /**
+ * Factory method
+ *
+ * @param parent
+ * @param name
+ * @param primaryTypeName
+ * @return
+ */
+ public static TransientNodeData createNodeData(NodeData parent, InternalQName name,
InternalQName primaryTypeName,
String identifier)
{
TransientNodeData nodeData = null;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/DocumentViewImporter.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -142,8 +142,7 @@
{
TransientNodeData nodeData =
TransientNodeData.createNodeData(getParent(), Constants.JCR_XMLTEXT,
Constants.NT_UNSTRUCTURED,
- getNodeIndex(getParent(), Constants.JCR_XMLTEXT, null));
- nodeData.setOrderNumber(getNextChildOrderNum(getParent()));
+ getNodeIndex(getParent(), Constants.JCR_XMLTEXT, null),
getNextChildOrderNum(getParent()));
changesLog.add(new ItemState(nodeData, ItemState.ADDED, true,
getAncestorToSave()));
if (log.isDebugEnabled())
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/BaseVersionImplTest.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/BaseVersionImplTest.java 2009-12-08
14:49:36 UTC (rev 949)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/version/BaseVersionImplTest.java 2009-12-08
15:53:12 UTC (rev 950)
@@ -354,8 +354,8 @@
versionableLog.add(ItemState.createAddedState(vChildNode1_node5_propertyVersioned));
NodeData vChildNode1_node5_nodeVersioned =
- TransientNodeData.createNodeData(vChildNode1_node5, NODE_VERSIONED,
Constants.NT_UNSTRUCTURED);
-
((TransientNodeData)vChildNode1_node5_nodeVersioned).setMixinTypeNames(mixVersionable);
+ TransientNodeData.createNodeData(vChildNode1_node5, NODE_VERSIONED,
Constants.NT_UNSTRUCTURED,
+ mixVersionable);
versionableLog.add(ItemState.createAddedState(vChildNode1_node5_nodeVersioned));
PropertyData vChildNode1_node5_node1_property2 =
TransientPropertyData.createPropertyData(vChildNode1_node5_nodeVersioned,
propertyName2, 0, false,