[exo-jcr-commits] exo-jcr SVN: r5416 - in jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr: impl/core/nodetype and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jan 3 09:51:50 EST 2012


Author: andrew.plotnikov
Date: 2012-01-03 09:51:49 -0500 (Tue, 03 Jan 2012)
New Revision: 5416

Modified:
   jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/nodetype/NodeTypeDataManager.java
   jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java
   jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/PropertyTypeRegistry.java
   jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/QueryHandlerContext.java
Log:
EXOJCR-932: Fixed incomplete PropertyTypeRegistry

Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/nodetype/NodeTypeDataManager.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/nodetype/NodeTypeDataManager.java	2012-01-03 14:38:49 UTC (rev 5415)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/nodetype/NodeTypeDataManager.java	2012-01-03 14:51:49 UTC (rev 5416)
@@ -21,6 +21,7 @@
 import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
 import org.exoplatform.services.jcr.datamodel.InternalQName;
 import org.exoplatform.services.jcr.datamodel.NodeData;
+import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerListener;
 
 import java.io.InputStream;
 import java.util.List;
@@ -230,4 +231,7 @@
    PlainChangesLog updateNodeType(NodeTypeData ancestorDefinition, NodeTypeData recipientDefinition,
       Map<InternalQName, NodeTypeData> volatileNodeTypes) throws ConstraintViolationException, RepositoryException;
 
+   void addListener(NodeTypeManagerListener listener);
+
+   void removeListener(NodeTypeManagerListener listener);
 }

Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java	2012-01-03 14:38:49 UTC (rev 5415)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDataManagerImpl.java	2012-01-03 14:51:49 UTC (rev 5416)
@@ -634,6 +634,15 @@
       nodeTypeDataValidator.validateNodeType(nodeTypes);
 
       nodeTypeRepository.registerNodeType(nodeTypes, this, accessControlPolicy, alreadyExistsBehaviour);
+
+      for (NodeTypeData nodeType : nodeTypes)
+      {
+         for (NodeTypeManagerListener listener : listeners.values())
+         {
+            listener.nodeTypeRegistered(nodeType.getName());
+         }
+      }
+
       return nodeTypes;
    }
 
@@ -651,6 +660,14 @@
 
       nodeTypeRepository.registerNodeType(nodeTypes, this, accessControlPolicy, alreadyExistsBehaviour);
 
+      for (NodeTypeData nodeType : nodeTypes)
+      {
+         for (NodeTypeManagerListener listener : listeners.values())
+         {
+            listener.nodeTypeRegistered(nodeType.getName());
+         }
+      }
+
       return nodeTypes;
    }
 
@@ -750,9 +767,8 @@
          new PropertyDefinitionComparator(this, dataManager, itemAutocreator, affectedNodes, locationFactory);
       changesLog.addAll(propertyDefinitionComparator.compare(recipientDefinition,
          getAllPropertyDefinitions(ancestorAllNodeTypeNames), getAllPropertyDefinitions(recipienAllNodeTypeNames))
+         .getAllStates());
 
-      .getAllStates());
-
       return changesLog;
    }
 
@@ -884,6 +900,11 @@
          throw new RepositoryException(message.toString());
       }
       this.nodeTypeRepository.unregisterNodeType(nodeType);
+
+      for (NodeTypeManagerListener listener : listeners.values())
+      {
+         listener.nodeTypeUnregistered(nodeType.getName());
+      }
    }
 
    /**
@@ -976,10 +997,8 @@
             affectedNodes, this.locationFactory);
       changesLog.addAll(propertyDefinitionComparator.compare(recipientDefinition,
          getAllPropertyDefinitions(ancestorDefinition.getName()),
-         volatileNodeTypeDataManager.getAllPropertyDefinitions(recipientDefinition.getName()))
+         volatileNodeTypeDataManager.getAllPropertyDefinitions(recipientDefinition.getName())).getAllStates());
 
-      .getAllStates());
-
       // notify listeners about changes
       if (!Arrays.deepEquals(recipientDefinition.getDeclaredSupertypeNames(), ancestorDefinition
          .getDeclaredSupertypeNames()))
@@ -1035,6 +1054,11 @@
 
       this.nodeTypeRepository.addNodeType(recipientDefinition, volatileNodeTypes);
 
+      for (NodeTypeManagerListener listener : listeners.values())
+      {
+         listener.nodeTypeReRegistered(recipientDefinition.getName());
+      }
+
       return changesLog;
    }
 

Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/PropertyTypeRegistry.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/PropertyTypeRegistry.java	2012-01-03 14:38:49 UTC (rev 5415)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/PropertyTypeRegistry.java	2012-01-03 14:51:49 UTC (rev 5416)
@@ -67,6 +67,8 @@
    {
       this.registry = reg;
       fillCache();
+
+      registry.addListener(this);
    }
 
    /**

Modified: jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/QueryHandlerContext.java
===================================================================
--- jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/QueryHandlerContext.java	2012-01-03 14:38:49 UTC (rev 5415)
+++ jcr/branches/1.15.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/QueryHandlerContext.java	2012-01-03 14:51:49 UTC (rev 5416)
@@ -21,7 +21,6 @@
 import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
 import org.exoplatform.services.jcr.dataflow.ItemDataConsumer;
 import org.exoplatform.services.jcr.impl.core.NamespaceRegistryImpl;
-import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeDataManagerImpl;
 import org.exoplatform.services.jcr.impl.core.query.lucene.LuceneVirtualTableResolver;
 import org.exoplatform.services.rpc.RPCService;
 
@@ -144,7 +143,7 @@
       this.repositoryName = repositoryName;
       this.workspaceName = workspaceName;
       this.recoveryFilterUsed = useIndexRecoveryFilters;
-      ((NodeTypeDataManagerImpl)this.nodeTypeDataManager).addListener(propRegistry);
+      this.nodeTypeDataManager.addListener(propRegistry);
    }
 
    /**
@@ -246,7 +245,7 @@
     */
    public void destroy()
    {
-      ((NodeTypeDataManagerImpl)this.nodeTypeDataManager).removeListener(propRegistry);
+      this.nodeTypeDataManager.removeListener(propRegistry);
    }
 
    public DocumentReaderService getExtractor()



More information about the exo-jcr-commits mailing list