Parse page from state but does not expose it (yet)
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 12 Feb 2015 19:45:36 +0000 (19:45 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 12 Feb 2015 19:45:36 +0000 (19:45 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@7824 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java
org.argeo.cms/src/org/argeo/cms/internal/useradmin/AbstractJcrUser.java
org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrEndUser.java [new file with mode: 0644]
org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrEnduser.java [deleted file]
org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrUserAdmin.java

index 49a7b98dfc4fe635665f608e67eaccefa21b209b..60758da887d63b66b80af07bf4317cab780b0690 100644 (file)
@@ -38,7 +38,7 @@ abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements
        // current state
        private Node node;
        private String state;
-       // private String page;
+       private String page;
        private Throwable exception;
 
        private BrowserNavigation history;
@@ -167,7 +167,7 @@ abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements
                String previousState = this.state;
 
                node = null;
-               // page = null;
+               page = null;
                this.state = newState;
 
                try {
@@ -177,7 +177,7 @@ abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements
                                        node = addNode(session, state, null);
                                else
                                        node = session.getNode(state);
-                               // page = "";
+                               page = "";
                        } else if (firstSlash > 0) {
                                String prefix = state.substring(0, firstSlash);
                                String path = state.substring(firstSlash);
@@ -210,19 +210,15 @@ abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements
                                                throw new CmsException("Data " + path
                                                                + " does not exist");
                                }
-                               throw new CmsException("Unsupported state prefix '" + prefix
-                                               + "'");
-                               // page = prefix;
+                               page = prefix;
                        } else {
                                node = getDefaultNode(session);
-                               // if (state.equals("~"))
-                               // page = "";
-                               // else
-                               // page = state;
+                               page = state;
                        }
 
                        if (log.isTraceEnabled())
-                               log.trace("node=" + node + ", state=" + state);
+                               log.trace("node=" + node + ", state=" + state + " (page="
+                                               + page);
 
                } catch (RepositoryException e) {
                        throw new CmsException("Cannot retrieve node", e);
@@ -245,7 +241,7 @@ abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements
                return state;
        }
 
-       // protected String getPage() {
+       // String getPage() {
        // return page;
        // }
 
index 5ca3b393bcd4decdf3bfe2d76a2d252df42d8776..25510f605897abec4174992b685d14dac40800bd 100644 (file)
@@ -2,9 +2,9 @@ package org.argeo.cms.internal.useradmin;
 
 import java.util.Dictionary;
 
-import org.osgi.service.useradmin.User;
+import org.argeo.security.ArgeoUser;
 
-abstract class AbstractJcrUser extends JcrRole implements User {
+abstract class AbstractJcrUser extends JcrRole implements ArgeoUser {
 
        @Override
        public Dictionary<String, Object> getCredentials() {
diff --git a/org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrEndUser.java b/org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrEndUser.java
new file mode 100644 (file)
index 0000000..a16fe42
--- /dev/null
@@ -0,0 +1,17 @@
+package org.argeo.cms.internal.useradmin;
+
+import org.argeo.security.ArgeoUser;
+import org.springframework.security.core.userdetails.UserDetails;
+
+class JcrEndUser extends AbstractJcrUser  {
+       private final UserDetails userDetails;
+
+       public JcrEndUser(UserDetails userDetails) {
+               this.userDetails = userDetails;
+       }
+
+       UserDetails getUserDetails() {
+               return userDetails;
+       }
+
+}
diff --git a/org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrEnduser.java b/org.argeo.cms/src/org/argeo/cms/internal/useradmin/JcrEnduser.java
deleted file mode 100644 (file)
index 8b5baf4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.argeo.cms.internal.useradmin;
-
-import org.springframework.security.core.userdetails.UserDetails;
-
-class JcrEnduser extends AbstractJcrUser {
-       private final UserDetails userDetails;
-
-       public JcrEnduser(UserDetails userDetails) {
-               this.userDetails = userDetails;
-       }
-
-       UserDetails getUserDetails() {
-               return userDetails;
-       }
-
-}
index 4ee4312ab11e68e53bb4bd131771e916b50632c7..cc402887423326a1c0f8dc155ed1c34801a71d04 100644 (file)
@@ -67,7 +67,7 @@ public class JcrUserAdmin implements UserAdmin {
                                session.getWorkspace().getVersionManager()
                                                .checkin(userProfile.getPath());
                                userAdminService().createUser(userDetails);
-                               return new JcrEnduser(userDetails);
+                               return new JcrEndUser(userDetails);
                        } else if (Role.GROUP == type) {
                                userAdminService().newRole(name);
                                return new JcrGroup(name);
@@ -84,7 +84,7 @@ public class JcrUserAdmin implements UserAdmin {
                Role role = getRole(name);
                if (role == null)
                        return false;
-               if (role instanceof JcrEnduser)
+               if (role instanceof JcrEndUser)
                        userAdminService().deleteUser(role.getName());
                else if (role instanceof JcrGroup)
                        userAdminService().deleteRole(role.getName());
@@ -100,7 +100,7 @@ public class JcrUserAdmin implements UserAdmin {
                try {
                        UserDetails userDetails = userAdminService().loadUserByUsername(
                                        name);
-                       return new JcrEnduser(userDetails);
+                       return new JcrEndUser(userDetails);
                } catch (UsernameNotFoundException e) {
                        return null;
                }
@@ -118,7 +118,7 @@ public class JcrUserAdmin implements UserAdmin {
                for (int i = 0; i < roles.size(); i++)
                        res[i] = new JcrGroup(roles.get(i));
                for (int i = 0; i < users.size(); i++)
-                       res[roles.size() + i] = new JcrEnduser(userAdminService()
+                       res[roles.size() + i] = new JcrEndUser(userAdminService()
                                        .loadUserByUsername(users.get(i)));
                return res;
        }