You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2009/09/18 16:56:11 UTC
svn commit: r816660 - in
/jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state:
AbstractItemStateFactory.java SessionItemStateManager.java
WorkspaceItemStateFactory.java
Author: reschke
Date: Fri Sep 18 14:56:10 2009
New Revision: 816660
URL: http://svn.apache.org/viewvc?rev=816660&view=rev
Log:
JCR-2087: parametrize generic types
Modified:
jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/AbstractItemStateFactory.java
jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/SessionItemStateManager.java
jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java
Modified: jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/AbstractItemStateFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/AbstractItemStateFactory.java?rev=816660&r1=816659&r2=816660&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/AbstractItemStateFactory.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/AbstractItemStateFactory.java Fri Sep 18 14:56:10 2009
@@ -29,7 +29,7 @@
private static Logger log = LoggerFactory.getLogger(AbstractItemStateFactory.class);
- private final Set creationListeners = new HashSet();
+ private final Set<ItemStateCreationListener> creationListeners = new HashSet<ItemStateCreationListener>();
//---------------------------------------------------< ItemStateFactory >---
/**
@@ -59,7 +59,7 @@
*/
private ItemStateCreationListener[] getListeners() {
synchronized (creationListeners) {
- return (ItemStateCreationListener[]) creationListeners.toArray(new ItemStateCreationListener[creationListeners.size()]);
+ return creationListeners.toArray(new ItemStateCreationListener[creationListeners.size()]);
}
}
Modified: jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/SessionItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/SessionItemStateManager.java?rev=816660&r1=816659&r2=816660&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/SessionItemStateManager.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/SessionItemStateManager.java Fri Sep 18 14:56:10 2009
@@ -246,7 +246,7 @@
NodeState parent = operation.getParentState();
ItemDefinitionProvider defProvider = mgrProvider.getItemDefinitionProvider();
QNodeDefinition def = defProvider.getQNodeDefinition(parent.getAllNodeTypeNames(), operation.getNodeName(), operation.getNodeTypeName());
- List newStates = addNodeState(parent, operation.getNodeName(), operation.getNodeTypeName(), operation.getUuid(), def, options);
+ List<ItemState> newStates = addNodeState(parent, operation.getNodeName(), operation.getNodeTypeName(), operation.getUuid(), def, options);
operation.addedState(newStates);
transientStateMgr.addOperation(operation);
@@ -454,7 +454,7 @@
return transientStateMgr.createNewPropertyState(propertyName, parent, pDef, values, propertyType);
}
- private List addNodeState(NodeState parent, Name nodeName, Name nodeTypeName,
+ private List<ItemState> addNodeState(NodeState parent, Name nodeName, Name nodeTypeName,
String uuid, QNodeDefinition definition, int options)
throws RepositoryException, ConstraintViolationException, AccessDeniedException,
UnsupportedRepositoryOperationException, NoSuchNodeTypeException,
@@ -478,7 +478,7 @@
}
}
- List addedStates = new ArrayList();
+ List<ItemState> addedStates = new ArrayList<ItemState>();
// create new nodeState. NOTE, that the uniqueID is not added to the
// state for consistency between 'addNode' and importXML
Modified: jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java?rev=816660&r1=816659&r2=816660&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java Fri Sep 18 14:56:10 2009
@@ -23,6 +23,7 @@
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Collections;
+import java.util.Set;
import javax.jcr.ItemExistsException;
import javax.jcr.ItemNotFoundException;
@@ -33,6 +34,7 @@
import org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry;
import org.apache.jackrabbit.jcr2spi.hierarchy.PropertyEntry;
import org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProvider;
+import org.apache.jackrabbit.spi.ChildInfo;
import org.apache.jackrabbit.spi.IdFactory;
import org.apache.jackrabbit.spi.ItemInfo;
import org.apache.jackrabbit.spi.Name;
@@ -88,7 +90,7 @@
throws ItemNotFoundException, RepositoryException {
// build new node state from server information
try {
- Iterator infos = service.getItemInfos(sessionInfo, nodeId);
+ Iterator<? extends ItemInfo> infos = service.getItemInfos(sessionInfo, nodeId);
NodeState nodeState = createItemStates(nodeId, infos, entry, false);
if (nodeState == null) {
@@ -106,7 +108,7 @@
*/
public NodeState createDeepNodeState(NodeId nodeId, NodeEntry anyParent) throws ItemNotFoundException, RepositoryException {
try {
- Iterator infos = service.getItemInfos(sessionInfo, nodeId);
+ Iterator<? extends ItemInfo> infos = service.getItemInfos(sessionInfo, nodeId);
return createItemStates(nodeId, infos, anyParent, true);
} catch (PathNotFoundException e) {
throw new ItemNotFoundException(e.getMessage());
@@ -152,7 +154,7 @@
* @see ItemStateFactory#getChildNodeInfos(NodeId)
* @param nodeId
*/
- public Iterator getChildNodeInfos(NodeId nodeId)
+ public Iterator<ChildInfo> getChildNodeInfos(NodeId nodeId)
throws ItemNotFoundException, RepositoryException {
return service.getChildInfos(sessionInfo, nodeId);
}
@@ -167,7 +169,8 @@
if (entry.getUniqueID() == null
|| !entry.hasPropertyEntry(NameConstants.JCR_UUID)) {
// for sure not referenceable
- return Collections.EMPTY_SET.iterator();
+ Set<PropertyId> t = Collections.emptySet();
+ return t.iterator();
}
// nodestate has a unique ID and is potentially mix:referenceable
@@ -176,7 +179,8 @@
return service.getReferences(sessionInfo, entry.getWorkspaceId(), propertyName, weak);
} catch (RepositoryException e) {
log.debug("Unable to determine references to {}", nodeState);
- return Collections.EMPTY_SET.iterator();
+ Set<PropertyId> t = Collections.emptySet();
+ return t.iterator();
}
}
@@ -191,7 +195,7 @@
* @throws ItemNotFoundException
* @throws RepositoryException
*/
- private synchronized NodeState createItemStates(NodeId nodeId, Iterator itemInfos,
+ private synchronized NodeState createItemStates(NodeId nodeId, Iterator<? extends ItemInfo> itemInfos,
NodeEntry entry, boolean isDeep)
throws ItemNotFoundException, RepositoryException {
NodeState nodeState;
@@ -222,7 +226,7 @@
// optimization results in about 25% speed up.
NodeEntry approxParentEntry = nodeState.getNodeEntry();
while (infos.hasNext()) {
- ItemInfo info = (ItemInfo) infos.next();
+ ItemInfo info = infos.next();
if (info.denotesNode()) {
approxParentEntry = createDeepNodeState((NodeInfo) info, approxParentEntry, infos).getNodeEntry();
} else {
@@ -263,9 +267,9 @@
}
// update NodeEntry from the information present in the NodeInfo (prop entries)
- List propNames = new ArrayList();
- for (Iterator it = info.getPropertyIds(); it.hasNext(); ) {
- PropertyId pId = (PropertyId) it.next();
+ List<Name> propNames = new ArrayList<Name>();
+ for (Iterator<PropertyId> it = info.getPropertyIds(); it.hasNext(); ) {
+ PropertyId pId = it.next();
Name propertyName = pId.getName();
propNames.add(propertyName);
}
@@ -278,7 +282,7 @@
// unless the child-info are omitted by the SPI impl -> make sure
// the childentries the nodeentry are initialized or updated.
- Iterator childInfos = info.getChildInfos();
+ Iterator<ChildInfo> childInfos = info.getChildInfos();
if (childInfos != null) {
entry.setNodeEntries(childInfos);
}
@@ -448,7 +452,7 @@
Name name, int index,
ItemInfos infos) throws RepositoryException {
if (infos != null) {
- Iterator childInfos = infos.getChildInfos(parentEntry.getWorkspaceId());
+ Iterator<ChildInfo> childInfos = infos.getChildInfos(parentEntry.getWorkspaceId());
if (childInfos != null) {
parentEntry.setNodeEntries(childInfos);
}
@@ -531,13 +535,13 @@
/**
* Iterator
*/
- private class ItemInfos implements Iterator {
+ private class ItemInfos implements Iterator<ItemInfo> {
- private final List prefetchQueue = new ArrayList();
- private final Map nodeInfos = new HashMap();
- private final Iterator infos;
+ private final List<ItemInfo> prefetchQueue = new ArrayList<ItemInfo>();
+ private final Map<NodeId, NodeInfo> nodeInfos = new HashMap<NodeId, NodeInfo>();
+ private final Iterator<? extends ItemInfo> infos;
- private ItemInfos(Iterator infos) {
+ private ItemInfos(Iterator<? extends ItemInfo> infos) {
super();
this.infos = infos;
}
@@ -557,11 +561,11 @@
/**
* @see Iterator#next()
*/
- public Object next() {
+ public ItemInfo next() {
if (prefetchQueue.isEmpty()) {
throw new NoSuchElementException();
} else {
- Object next = prefetchQueue.remove(0);
+ ItemInfo next = prefetchQueue.remove(0);
if (next instanceof NodeInfo) {
nodeInfos.remove(((NodeInfo) next).getId());
}
@@ -584,10 +588,10 @@
* has not been read yet, has already been processed (childInfo is up
* to date) or does not provide child infos.
*/
- private Iterator getChildInfos(NodeId parentId) {
- NodeInfo nodeInfo = (NodeInfo) nodeInfos.get(parentId);
+ private Iterator<ChildInfo> getChildInfos(NodeId parentId) {
+ NodeInfo nodeInfo = nodeInfos.get(parentId);
while (nodeInfo == null && prefetch()) {
- nodeInfo = (NodeInfo) nodeInfos.get(parentId);
+ nodeInfo = nodeInfos.get(parentId);
}
return nodeInfo == null? null : nodeInfo.getChildInfos();
}
@@ -597,7 +601,7 @@
*/
private boolean prefetch() {
if (infos.hasNext()) {
- ItemInfo info = (ItemInfo) infos.next();
+ ItemInfo info = infos.next();
prefetchQueue.add(info);
if (info.denotesNode()) {
NodeInfo nodeInfo = (NodeInfo) info;