[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