Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 11479 invoked from network); 18 Sep 2009 14:56:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Sep 2009 14:56:37 -0000 Received: (qmail 66440 invoked by uid 500); 18 Sep 2009 14:56:37 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 66366 invoked by uid 500); 18 Sep 2009 14:56:37 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 66357 invoked by uid 99); 18 Sep 2009 14:56:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Sep 2009 14:56:37 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Sep 2009 14:56:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6E76A23888D0; Fri, 18 Sep 2009 14:56:11 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r816660 - in /jackrabbit/trunk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state: AbstractItemStateFactory.java SessionItemStateManager.java WorkspaceItemStateFactory.java Date: Fri, 18 Sep 2009 14:56:11 -0000 To: commits@jackrabbit.apache.org From: reschke@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090918145611.6E76A23888D0@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 creationListeners = new HashSet(); //---------------------------------------------------< 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 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 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 addedStates = new ArrayList(); // 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 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 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 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 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 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 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 propNames = new ArrayList(); + for (Iterator 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 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 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 { - private final List prefetchQueue = new ArrayList(); - private final Map nodeInfos = new HashMap(); - private final Iterator infos; + private final List prefetchQueue = new ArrayList(); + private final Map nodeInfos = new HashMap(); + private final Iterator infos; - private ItemInfos(Iterator infos) { + private ItemInfos(Iterator 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 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;