[exo-jcr-commits] exo-jcr SVN: r4997 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr: dataflow and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Sep 28 07:55:38 EDT 2011


Author: nzamosenchuk
Date: 2011-09-28 07:55:37 -0400 (Wed, 28 Sep 2011)
New Revision: 4997

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ExtendedWorkspace.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLog.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLogImpl.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/JCRRestore.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/observation/ActionLauncher.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
Log:
EXOJCR-1562 : applying remarks: factory method and interface usage.

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ExtendedWorkspace.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ExtendedWorkspace.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ExtendedWorkspace.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -18,6 +18,8 @@
  */
 package org.exoplatform.services.jcr.core;
 
+import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Map;
@@ -58,4 +60,12 @@
       throws IOException, PathNotFoundException, ItemExistsException, ConstraintViolationException,
       InvalidSerializedDataException, RepositoryException;
 
+   /**
+    * Returns {@link NodeTypeDataManager} instance
+    * 
+    * @return NodeTypeDataManager
+    * @throws RepositoryException
+    */
+   NodeTypeDataManager getNodeTypesHolder() throws RepositoryException;
+
 }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLog.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLog.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -18,12 +18,11 @@
  */
 package org.exoplatform.services.jcr.dataflow;
 
+import org.exoplatform.services.jcr.core.ExtendedSession;
 import org.exoplatform.services.jcr.observation.ExtendedEventType;
 
 import java.util.List;
 
-import javax.jcr.Session;
-
 /**
  * Created by The eXo Platform SAS.<br/> Plain changes log implementation (i.e. no nested logs
  * inside)
@@ -74,5 +73,5 @@
     * Returns session instance is present
     * @return session instance
     */
-   Session getSession();
+   ExtendedSession getSession();
 }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLogImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLogImpl.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PlainChangesLogImpl.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -28,8 +28,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.jcr.Session;
-
 /**
  * Created by The eXo Platform SAS.
  * 
@@ -59,48 +57,15 @@
    protected String pairId;
 
    /**
-    * Full qualified constructor.
-    * 
-    * @param items List of ItemState
-    * @param session Session 
-    * @param eventType int
-    * @param pairId String
-    */
-   public PlainChangesLogImpl(List<ItemState> items, Session session, int eventType, String pairId)
-   {
-      this.items = items;
-      this.session = (ExtendedSession)session;
-      this.sessionId = this.session.getId();
-      this.eventType = eventType;
-      this.pairId = pairId;
-   }
-
-   /**
-    * Full qualified constructor. Used for compatibility with asynchronous replication.
-    * 
-    * @param items List of ItemState
-    * @param sessionId String 
-    * @param eventType int
-    * @param pairId String
-    */
-   public PlainChangesLogImpl(List<ItemState> items, String sessionId, int eventType, String pairId)
-   {
-      this.items = items;
-      this.sessionId = sessionId;
-      this.eventType = eventType;
-      this.pairId = pairId;
-   }
-
-   /**
     * Constructor.
     * 
     * @param items List of ItemState
     * @param session Session 
     * @param eventType int
     */
-   public PlainChangesLogImpl(List<ItemState> items, Session session, int eventType)
+   public PlainChangesLogImpl(List<ItemState> items, ExtendedSession session, int eventType)
    {
-      this(items, session, eventType, null);
+      this(items, session.getId(), eventType, null, session);
    }
 
    /**
@@ -112,18 +77,16 @@
     */
    public PlainChangesLogImpl(List<ItemState> items, String sessionId, int eventType)
    {
-      this(items, sessionId, eventType, null);
+      this(items, sessionId, eventType, null, null);
    }
 
-   //
-
    /**
     * Constructor with undefined event type.
     * 
     * @param items List of ItemState
     * @param session Session 
     */
-   public PlainChangesLogImpl(List<ItemState> items, Session session)
+   public PlainChangesLogImpl(List<ItemState> items, ExtendedSession session)
    {
       this(items, session, -1);
    }
@@ -133,7 +96,7 @@
     * 
     * @param session Session 
     */
-   public PlainChangesLogImpl(Session session)
+   public PlainChangesLogImpl(ExtendedSession session)
    {
       this(new ArrayList<ItemState>(), session);
    }
@@ -199,7 +162,7 @@
    /**
     * {@inheritDoc}
     */
-   public Session getSession()
+   public ExtendedSession getSession()
    {
       return session;
    }
@@ -263,6 +226,55 @@
       return str;
    }
 
+   /**
+    * Full qualified constructor.
+    * 
+    * @param items List of ItemState
+    * @param sessionId String 
+    * @param eventType int
+    * @param pairId String
+    */
+   protected PlainChangesLogImpl(List<ItemState> items, String sessionId, int eventType, String pairId,
+      ExtendedSession session)
+   {
+      this.items = items;
+      this.session = session;
+      this.sessionId = sessionId;
+      this.eventType = eventType;
+      this.pairId = pairId;
+   }
+
+   /**
+    * Creates a new instance of {@link PlainChangesLogImpl} by copying metadata from originalLog 
+    * instance with Items provided.
+    * 
+    * @param items
+    * @param originalLog
+    * @return
+    */
+   public static PlainChangesLogImpl createCopy(List<ItemState> items, PlainChangesLog originalLog)
+   {
+      return createCopy(items, originalLog.getPairId(), originalLog);
+   }
+
+   /**
+    * Creates a new instance of {@link PlainChangesLogImpl} by copying metadata from originalLog 
+    * instance with Items and PairID provided. Metadata will be copied excluding PairID.
+    * 
+    * @param items
+    * @param originalLog
+    * @return
+    */
+   public static PlainChangesLogImpl createCopy(List<ItemState> items, String pairId, PlainChangesLog originalLog)
+   {
+      if (originalLog.getSession() != null)
+      {
+         return new PlainChangesLogImpl(items, originalLog.getSession().getId(), originalLog.getEventType(), pairId,
+            originalLog.getSession());
+      }
+      return new PlainChangesLogImpl(items, originalLog.getSessionId(), originalLog.getEventType(), pairId, null);
+   }
+
    // Need for Externalizable
    // ------------------ [ BEGIN ] ------------------
 

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/JCRRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/JCRRestore.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/JCRRestore.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -266,15 +266,7 @@
                }
             }
 
-            PlainChangesLog plog;
-            if (next.getSession() != null)
-            {
-               plog = new PlainChangesLogImpl(normalized, next.getSession(), next.getEventType());
-            }
-            else
-            {
-               plog = new PlainChangesLogImpl(normalized, next.getSessionId(), next.getEventType());
-            }
+            PlainChangesLog plog = PlainChangesLogImpl.createCopy(normalized, next);
             result.addLog(plog);
          }
 

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	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/WorkspaceImpl.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -466,8 +466,7 @@
             (NodeData)srcParentNode.getData(), nodeTypeManager, session.getTransientNodesManager(), true);
       srcNode.getData().accept(initializer);
 
-      PlainChangesLog changes = new PlainChangesLogImpl(session);
-      changes.addAll(initializer.getAllStates());
+      PlainChangesLog changes = new PlainChangesLogImpl(initializer.getAllStates(), session);
 
       // reload items pool
       for (ItemState state : initializer.getItemAddStates())
@@ -724,6 +723,9 @@
       return (RepositoryImpl)session.getRepository();
    }
 
+   /**
+    * {@inheritDoc}
+    */
    public NodeTypeDataManager getNodeTypesHolder() throws RepositoryException
    {
       return nodeTypeManager;

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/observation/ActionLauncher.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/observation/ActionLauncher.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/observation/ActionLauncher.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -18,6 +18,8 @@
  */
 package org.exoplatform.services.jcr.impl.core.observation;
 
+import org.exoplatform.services.jcr.core.ExtendedSession;
+import org.exoplatform.services.jcr.core.ExtendedWorkspace;
 import org.exoplatform.services.jcr.core.nodetype.NodeTypeData;
 import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
 import org.exoplatform.services.jcr.dataflow.ChangesLogIterator;
@@ -31,7 +33,6 @@
 import org.exoplatform.services.jcr.datamodel.NodeData;
 import org.exoplatform.services.jcr.datamodel.QPath;
 import org.exoplatform.services.jcr.impl.core.LocationFactory;
-import org.exoplatform.services.jcr.impl.core.SessionImpl;
 import org.exoplatform.services.jcr.impl.core.SessionRegistry;
 import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
 import org.exoplatform.services.jcr.impl.util.EntityCollection;
@@ -92,11 +93,11 @@
             PlainChangesLog subLog = logIterator.nextLog();
             String sessionId = subLog.getSessionId();
 
-            SessionImpl userSession;
+            ExtendedSession userSession;
 
-            if (subLog.getSession() instanceof SessionImpl)
+            if (subLog.getSession() != null)
             {
-               userSession = (SessionImpl)subLog.getSession();
+               userSession = subLog.getSession();
             }
             else
             {
@@ -155,7 +156,7 @@
       return !(criteria.getNoLocal() && criteria.getSessionId().equals(sessionId));
    }
 
-   private boolean isPathMatch(ListenerCriteria criteria, ItemData item, SessionImpl userSession)
+   private boolean isPathMatch(ListenerCriteria criteria, ItemData item, ExtendedSession userSession)
    {
       if (criteria.getAbsPath() == null)
       {
@@ -202,7 +203,7 @@
 
    }
 
-   private boolean isNodeTypeMatch(ListenerCriteria criteria, ItemData item, SessionImpl userSession,
+   private boolean isNodeTypeMatch(ListenerCriteria criteria, ItemData item, ExtendedSession userSession,
       PlainChangesLog changesLog) throws RepositoryException
    {
       if (criteria.getNodeTypeName() == null)
@@ -233,7 +234,7 @@
          }
       }
 
-      NodeTypeDataManager ntManager = userSession.getWorkspace().getNodeTypesHolder();
+      NodeTypeDataManager ntManager = ((ExtendedWorkspace)userSession.getWorkspace()).getNodeTypesHolder();
       LocationFactory locationFactory = userSession.getLocationFactory();
       for (int i = 0; i < criteria.getNodeTypeName().length; i++)
       {

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -285,43 +285,18 @@
                // we have pair of logs for system and non-system (this) workspaces
                final String pairId = IdGenerator.generate();
 
-               if (changes.getSession() != null)
-               {
-                  versionLogs.addLog(new PlainChangesLogImpl(vstates, changes.getSession(), changes.getEventType(),
-                     pairId));
-                  nonVersionLogs.addLog(new PlainChangesLogImpl(nvstates, changes.getSession(), changes.getEventType(),
-                     pairId));
-               }
-               else
-               {
-                  versionLogs.addLog(new PlainChangesLogImpl(vstates, changes.getSessionId(), changes.getEventType(),
-                     pairId));
-                  nonVersionLogs.addLog(new PlainChangesLogImpl(nvstates, changes.getSessionId(), changes
-                     .getEventType(), pairId));
-               }
+               versionLogs.addLog(PlainChangesLogImpl.createCopy(vstates, pairId, changes));
+               nonVersionLogs.addLog(PlainChangesLogImpl.createCopy(nvstates, pairId, changes));
             }
             else
             {
-               if (changes.getSession() != null)
-               {
-                  versionLogs.addLog(new PlainChangesLogImpl(vstates, changes.getSession(), changes.getEventType()));
-               }
-               else
-               {
-                  versionLogs.addLog(new PlainChangesLogImpl(vstates, changes.getSessionId(), changes.getEventType()));
-               }
+               versionLogs.addLog(PlainChangesLogImpl.createCopy(vstates, changes));
+               nonVersionLogs.addLog(PlainChangesLogImpl.createCopy(nvstates, changes));
             }
          }
          else if (nvstates.size() > 0)
          {
-            if (changes.getSession() != null)
-            {
-               nonVersionLogs.addLog(new PlainChangesLogImpl(nvstates, changes.getSession(), changes.getEventType()));
-            }
-            else
-            {
-               nonVersionLogs.addLog(new PlainChangesLogImpl(nvstates, changes.getSessionId(), changes.getEventType()));
-            }
+            nonVersionLogs.addLog(PlainChangesLogImpl.createCopy(nvstates, changes));
          }
       }
 

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -418,19 +418,7 @@
          RepositoryException, IOException
       {
          // copy state
-         PlainChangesLogImpl newLog;
-         if (changesLog.getSession() != null)
-         {
-            newLog =
-               new PlainChangesLogImpl(new ArrayList<ItemState>(), changesLog.getSession(), changesLog.getEventType(),
-                  changesLog.getPairId());
-         }
-         else
-         {
-            newLog =
-               new PlainChangesLogImpl(new ArrayList<ItemState>(), changesLog.getSessionId(),
-                  changesLog.getEventType(), changesLog.getPairId());
-         }
+         PlainChangesLogImpl newLog = PlainChangesLogImpl.createCopy(new ArrayList<ItemState>(), changesLog);
 
          for (Iterator<ItemState> iter = changesLog.getAllStates().iterator(); iter.hasNext();)
          {

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -94,14 +94,8 @@
             states.add(new ItemState(copyItemData(change.getData()), change.getState(), change.isEventFire(), change
                .getAncestorToSave(), change.isInternallyCreated(), change.isPersisted(), change.getOldPath()));
          }
-         if (changes.getSession() != null)
-         {
-            newLog.addLog(new PlainChangesLogImpl(states, changes.getSession(), changes.getEventType()));
-         }
-         else
-         {
-            newLog.addLog(new PlainChangesLogImpl(states, changes.getSessionId(), changes.getEventType()));
-         }
+
+         newLog.addLog(PlainChangesLogImpl.createCopy(states, changes));
       }
 
       storageDataManager.save(newLog);

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java	2011-09-28 11:50:25 UTC (rev 4996)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java	2011-09-28 11:55:37 UTC (rev 4997)
@@ -18,6 +18,7 @@
  */
 package org.exoplatform.services.jcr.impl.dataflow.session;
 
+import org.exoplatform.services.jcr.core.ExtendedSession;
 import org.exoplatform.services.jcr.dataflow.ItemState;
 import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
 import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
@@ -35,8 +36,6 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.jcr.Session;
-
 /**
  * Created by The eXo Platform SAS.<br/> Responsible for managing session changes log. Relying on
  * fact that ItemData inside ItemState SHOULD be TransientItemData
@@ -86,7 +85,7 @@
     * 
     * @param sessionId
     */
-   public SessionChangesLog(Session session)
+   public SessionChangesLog(ExtendedSession session)
    {
       super(session);
    }
@@ -97,7 +96,7 @@
     * @param items
     * @param sessionId
     */
-   public SessionChangesLog(List<ItemState> items, Session session)
+   public SessionChangesLog(List<ItemState> items, ExtendedSession session)
    {
       super(items, session);
       for (int i = 0, length = items.size(); i < length; i++)



More information about the exo-jcr-commits mailing list