You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/09/15 19:55:22 UTC

svn commit: r1171197 - in /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel: CommitMessage.java QBinaryValue.java RepositoryServiceImpl.java

Author: mduerig
Date: Thu Sep 15 17:55:22 2011
New Revision: 1171197

URL: http://svn.apache.org/viewvc?rev=1171197&view=rev
Log:
Microkernel based Jackrabbit prototype (WIP) 
refactor: use cast function instead of explicit casts wherever casting is provable correct 

Modified:
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/CommitMessage.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/QBinaryValue.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/CommitMessage.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/CommitMessage.java?rev=1171197&r1=1171196&r2=1171197&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/CommitMessage.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/CommitMessage.java Thu Sep 15 17:55:22 2011
@@ -1,6 +1,7 @@
 package org.apache.jackrabbit.spi2microkernel;
 
 
+import org.apache.jackrabbit.spi.commons.util.Unchecked;
 import org.apache.jackrabbit.util.Text;
 
 public class CommitMessage {
@@ -58,7 +59,7 @@ public class CommitMessage {
 
     @Override
     public boolean equals(Object other) {
-        return other == this || other instanceof CommitMessage && ((CommitMessage) other).equals(this);
+        return other == this || other instanceof CommitMessage && equals(Unchecked.<CommitMessage>cast(other));
     }
 
     @Override

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/QBinaryValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/QBinaryValue.java?rev=1171197&r1=1171196&r2=1171197&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/QBinaryValue.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/QBinaryValue.java Thu Sep 15 17:55:22 2011
@@ -37,6 +37,8 @@ import java.math.BigDecimal;
 import java.net.URI;
 import java.util.Calendar;
 
+import static org.apache.jackrabbit.spi.commons.util.Unchecked.cast;
+
 public class QBinaryValue implements QValue {
     private final String blobId;
     private final MicroKernel microKernel;
@@ -214,7 +216,7 @@ public class QBinaryValue implements QVa
             return true;
         }
         if (obj instanceof QBinaryValue) {
-            QBinaryValue other = (QBinaryValue) obj;
+            QBinaryValue other = cast(obj);
             return blobId == null
                 ? other.blobId == null
                 : blobId.equals(other.blobId);

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java?rev=1171197&r1=1171196&r2=1171197&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java Thu Sep 15 17:55:22 2011
@@ -124,6 +124,7 @@ import static org.apache.jackrabbit.spi.
 import static org.apache.jackrabbit.spi.commons.name.NameConstants.REP_ROOT;
 import static org.apache.jackrabbit.spi.commons.name.NameConstants.ROOT;
 import static org.apache.jackrabbit.spi.commons.util.Maps.getOrElse;
+import static org.apache.jackrabbit.spi.commons.util.Unchecked.cast;
 import static org.apache.jackrabbit.spi2microkernel.ItemInfos.buildItemInfos;
 
 public class RepositoryServiceImpl extends AbstractRepositoryService {
@@ -450,7 +451,7 @@ public class RepositoryServiceImpl exten
     @Override
     public void submit(Batch batch) throws RepositoryException {
         ChangeLog changeLog = changeLog(batch);
-        CommitBuilder commitBuilder = new CommitBuilder(changeLog.sessionInfo);
+        CommitBuilder commitBuilder = new CommitBuilder(sessionInfoImpl(changeLog.sessionInfo));
         changeLog.apply(commitBuilder);
         commitBuilder.commit();
     }
@@ -642,7 +643,7 @@ public class RepositoryServiceImpl exten
 
     private static SubscriptionImpl subscription(Subscription subscription) throws RepositoryException {
         if (subscription instanceof SubscriptionImpl) {
-            return (SubscriptionImpl) subscription;
+            return cast(subscription);
         }
         else {
             throw new RepositoryException("Invalid subscription " + subscription);
@@ -651,13 +652,22 @@ public class RepositoryServiceImpl exten
 
     private static ChangeLog changeLog(Batch batch) throws RepositoryException {
         if (batch instanceof ChangeLog) {
-            return (ChangeLog) batch;
+            return cast(batch);
         }
         else {
             throw new RepositoryException("Invalid batch " + batch);
         }
     }
 
+    private static SessionInfoImpl sessionInfoImpl(SessionInfo sessionInfo) throws RepositoryException {
+        if (sessionInfo instanceof SessionInfoImpl) {
+            return cast(sessionInfo);
+        }
+        else {
+            throw new RepositoryException("Invalid session " + sessionInfo);
+        }
+    }
+
     private SessionState sessionState(SessionInfo sessionInfo) throws RepositoryException {
         SessionState state = sessions.get(sessionInfo);
 
@@ -741,11 +751,11 @@ public class RepositoryServiceImpl exten
 
     private class CommitBuilder implements Batch {
 
-        private final SessionInfo sessionInfo;
+        private final SessionInfoImpl sessionInfo;
 
         private final StringBuilder jsop = new StringBuilder();
 
-        public CommitBuilder(SessionInfo sessionInfo) {
+        public CommitBuilder(SessionInfoImpl sessionInfo) {
             this.sessionInfo = sessionInfo;
         }
 
@@ -857,7 +867,7 @@ public class RepositoryServiceImpl exten
                 public String call() {
                     String rev = microKernel.getHeadRevision();
                     String userId = sessionInfo.getUserID();
-                    String userData = ((SessionInfoImpl) sessionInfo).getUserData();
+                    String userData = sessionInfo.getUserData();
                     CommitMessage commitMessage = new CommitMessage(userId, userData == null ? "" : userData);
                     return microKernel.commit("/", jsop.toString(), rev, commitMessage.encode());
                 }