Package org.apache.slide.security

Examples of org.apache.slide.security.NodePermission


                    permissions.clear();
                    Enumeration aclList = security.enumeratePermissions(this.slideToken,
                                              current);

                    while (aclList.hasMoreElements()) {
                        NodePermission permission = (NodePermission) aclList.nextElement();

                        // if we are processing inheritedPermissions (from parent and up)
                        // then the permission should be inheritable
                        if (inheritedPermissions &&
                            !permission.isInheritable()) {
                            // continue with next permission
                            continue;
                        }
                        permissions.add(permission);
                    }

                    // start combining and writing the permissions
                    while (permissions.size()>0) {
                        NodePermission permission = (NodePermission) permissions.get(0);

                        permissions.remove(0);

                        String principal = permission.getSubjectUri();
                        boolean negative = permission.isNegative();

                        String action = permission.getActionUri();

                        // read
                        boolean isReadObject = readObjectUri.startsWith(action);
                        boolean isReadLocks = readLocksUri.startsWith(action);
                        boolean isReadRevisionMetadata = readRevisionMetadataUri.startsWith(action);
                        boolean isReadRevisionContent = readRevisionContentUri.startsWith(action);

                        // write
                        boolean isCreateObject = createObjectUri.startsWith(action);
                        boolean isRemoveObject = removeObjectUri.startsWith(action);
                        boolean isLockObject = lockObjectUri.startsWith(action);
                        boolean isCreateRevisionMetadata = createRevisionMetadataUri.startsWith(action);
                        boolean isModifyRevisionMetadata = modifyRevisionMetadataUri.startsWith(action);
                        boolean isRemoveRevisionMetadata = removeRevisionMetadataUri.startsWith(action);
                        boolean isCreateRevisionContent = createRevisionContentUri.startsWith(action);
                        boolean isModifyRevisionContent = modifyRevisionContentUri.startsWith(action);
                        boolean isRemoveRevisionContent = removeRevisionContentUri.startsWith(action);

                        // read-acl
                        boolean isReadPermissions = readPermissionsUri.startsWith(action);

                        // write-acl
                        boolean isGrantPermission = grantPermissionUri.startsWith(action);
                        boolean isRevokePermission = revokePermissionUri.startsWith(action);

                        // check the other permissions to combine them
                        // (if they are for the same principal/negative)
                        for (int i = 0; i<permissions.size(); i++) {
                            NodePermission otherPermission = (NodePermission) permissions.get(i);

                            if (principal.equals(otherPermission.getSubjectUri()) &&
                                (negative==otherPermission.isNegative())) {
                                permissions.remove(i);
                                i--; // because we removed the current one

                                action = otherPermission.getActionUri();

                                // read
                                isReadObject |= readObjectUri.startsWith(action);
                                isReadLocks |= readLocksUri.startsWith(action);
                                isReadRevisionMetadata |= readRevisionMetadataUri.startsWith(action);
View Full Code Here


               
                writer.print("<tr" + (shade ? " bgcolor=\"eeeeee\""
                                            : " bgcolor=\"dddddd\"") +
                             ">\r\n");
               
                NodePermission currentPermission =
                    (NodePermission) permissionsList.nextElement();
               
                writer.print("<td align=\"left\" colspan=\"2\"><tt>");
                writer.print(currentPermission.getSubjectUri());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"left\"><tt>");
                writer.print(currentPermission.getActionUri());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"right\"><tt>");
                writer.print(currentPermission.isInheritable());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"right\"><tt>");
                writer.print(currentPermission.isNegative());
                writer.print("</tt></td>\r\n");
               
                writer.print("</tr>\r\n");
            }
           
View Full Code Here

                } else {
                    writer.print(" bgcolor=\"eeeeee\"");
                }
                writer.print(">\r\n");
               
                NodePermission currentPermission =
                    (NodePermission) permissionsList.nextElement();
               
                writer.print("<td align=\"left\" colspan=\"2\"><tt>");
                writer.print(currentPermission.getSubjectUri());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"left\"><tt>");
                writer.print(currentPermission.getActionUri());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"right\"><tt>");
                writer.print(currentPermission.isInheritable());
                writer.print("</tt></td>\r\n");
               
                writer.print("<td align=\"right\"><tt>");
                writer.print(currentPermission.isNegative());
                writer.print("</tt></td>\r\n");
               
                writer.print("</tr>\r\n");
            }
           
View Full Code Here

                // put all permissions in a list
                permissions.clear();
                Enumeration aclList = security.enumeratePermissions(slideToken, current);
                while (aclList.hasMoreElements()) {
                   
                    NodePermission permission = (NodePermission) aclList.nextElement();
                   
                    // if we are processing inheritedPermissions (from parent and up)
                    // then the permission should be inheritable
                    if (inheritedPermissions && !permission.isInheritable()) {
                        // continue with next permission
                        continue;
                    }
                    permissions.add(permission);
                }
               
                // start combining and writing the permissions
                while (permissions.size()>0) {
                   
                    NodePermission permission = (NodePermission) permissions.get(0);
                    permissions.remove(0);
                   
                    String principal = permission.getSubjectUri();
                    boolean negative = permission.isNegative();
                   
                    String action    = permission.getActionUri();
                   
                    // read
                    boolean isReadObject           = readObjectUri.startsWith(action);
                    boolean isReadLocks            = readLocksUri.startsWith(action);
                    boolean isReadRevisionMetadata = readRevisionMetadataUri.startsWith(action);
                    boolean isReadRevisionContent  = readRevisionContentUri.startsWith(action);
                   
                    // write
                    boolean isCreateObject           = createObjectUri.startsWith(action);
                    boolean isRemoveObject           = removeObjectUri.startsWith(action);
                    boolean isLockObject             = lockObjectUri.startsWith(action);
                    boolean isCreateRevisionMetadata = createRevisionMetadataUri.startsWith(action);
                    boolean isModifyRevisionMetadata = modifyRevisionMetadataUri.startsWith(action);
                    boolean isRemoveRevisionMetadata = removeRevisionMetadataUri.startsWith(action);
                    boolean isCreateRevisionContent  = createRevisionContentUri.startsWith(action);
                    boolean isModifyRevisionContent  = modifyRevisionContentUri.startsWith(action);
                    boolean isRemoveRevisionContent  = removeRevisionContentUri.startsWith(action);
                   
                    //read-acl
                    boolean isReadPermissions = readPermissionsUri.startsWith(action);
                   
                    // write-acl
                    boolean isGrantPermission  = grantPermissionUri.startsWith(action);
                    boolean isRevokePermission = revokePermissionUri.startsWith(action);
                   
                    // check the other permissions to combine them
                    // (if they are for the same principal/negative)
                    for (int i=0; i<permissions.size() ; i++)
                    {
                        NodePermission otherPermission = (NodePermission) permissions.get(i);
                        if (principal.equals(otherPermission.getSubjectUri()) && (negative==otherPermission.isNegative()))
                        {
                            permissions.remove(i);
                            i--; // because we removed the current one
                           
                            action    = otherPermission.getActionUri();
                           
                            // read
                            isReadObject           |= readObjectUri.startsWith(action);
                            isReadLocks            |= readLocksUri.startsWith(action);
                            isReadRevisionMetadata |= readRevisionMetadataUri.startsWith(action);
View Full Code Here

    /**
     * Add permission to the list of permissions to set.
     */
    protected void addPermission(String principal, String action,
                                 boolean negative, boolean inheritable) {
        NodePermission permission = new NodePermission
            (resourcePath, principal, action, inheritable, negative);
        if (!permissions.contains(permission))
            permissions.addElement(permission);
    }
View Full Code Here

    public void grantPermission(Uri uri, NodePermission permission) throws ServiceAccessException {
        super.grantPermission(uri, permission);
        if (securityStore.cacheResults()) {
            enlist(this);
            try {
                NodePermission tempPermission = permission.cloneObject();
                Object value = permissionsCache.get(uri.toString());
                if (value == null) {
                    // populate the cache with the existing entries
                    enumeratePermissions(uri);
                    // and check if the cache contains a corresponding entry now
View Full Code Here

                    permissionsVector = (Vector) value;
                } else {
                    permissionsVector = new Vector();
                    Enumeration tempEnum = securityStore.enumeratePermissions(uri);
                    while (tempEnum.hasMoreElements()) {
                        NodePermission tempPermission = (NodePermission) tempEnum.nextElement();
                        tempPermission.validate(uri.toString());
                        permissionsVector.addElement(tempPermission);
                    }
                    permissionsCache.put(uri.toString(), permissionsVector);
                }
                return ((Vector) permissionsVector.clone()).elements();
View Full Code Here

    public Element encodePermissions() {
        Element aPermissions=new Element("permissions");
        if (permissions==null) return aPermissions;
       
        for (int aSize=permissions.size(),i=0;i<aSize;i++) {
            NodePermission aPermission=(NodePermission)permissions.elementAt(i);
            aPermissions.addContent(encodeNodePermission(aPermission));
        }
        return aPermissions;
    }
View Full Code Here

        aElement.setAttribute("type",aProp.getType());
        aElement.setAttribute("protected",booleanToString(aProp.isProtected()));
        Element aPermissions=new Element("permissions");
       
        for (Enumeration aEnum=aProp.enumeratePermissions();aEnum.hasMoreElements();) {
            NodePermission aPermission=(NodePermission)aEnum.nextElement();
            aPermissions.addContent(encodeNodePermission(aPermission));
        }
        aElement.addContent(aPermissions);
        return aElement;
    }
View Full Code Here

        String aRevisionNumber=aElement.getAttributeValue("revisionNumber");
        String aSubject=aElement.getAttributeValue("subjectUri");
        String aAction=aElement.getAttributeValue("actionUri");
        boolean aInheritable=new Boolean(aElement.getAttributeValue("inheritable")).booleanValue();
        boolean aNegative=new Boolean(aElement.getAttributeValue("negative")).booleanValue();
        return new NodePermission(aUri,aRevisionNumber,aSubject,aAction,aInheritable,aNegative);

    }
View Full Code Here

TOP

Related Classes of org.apache.slide.security.NodePermission

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.