Package org.opensaml.xacml.policy

Examples of org.opensaml.xacml.policy.PolicySetType


        papContainer.updatePolicySet(version, rootPAPPolicySet);
    }

    private void movePolicy(PapContainer papContainer) {
        PolicySetType targetPolicySet = null;

        // get the target policy set
        for (PolicySetType policySet : papContainer.getAllPolicySets()) {

            PolicySetType tempPolicySet = policySet;

            if (PolicySetHelper.hasPolicyReferenceId(tempPolicySet, pivotId)) {
                targetPolicySet = tempPolicySet;
                break;
            }
View Full Code Here


        List<PolicySetType> targetPolicySetList = new LinkedList<PolicySetType>();

        TargetWizard policySetTargetWizard = new TargetWizard(resourceAttributeWizard);

        PolicySetType rootPAPPolicySet = papContainer.getRootPolicySet();

        List<String> policySetIdList = PolicySetHelper.getPolicySetIdReferencesValues(rootPAPPolicySet);

        TypeStringUtils.releaseUnneededMemory(rootPAPPolicySet);

        for (String policySetId : policySetIdList) {

            PolicySetType policySet = papContainer.getPolicySet(policySetId);

            if (policySetTargetWizard.isEquivalent(policySet.getTarget())) {
                targetPolicySetList.add(policySet);
            }

            TypeStringUtils.releaseUnneededMemory(policySet);
        }
View Full Code Here

   
    protected PolicySetType findResourcePolicySet(PapContainer pc){
     
      List<PolicySetType> policySetList = pc.getAllPolicySets();

        PolicySetType targetPolicySet = null;
       
        // Skipping the first policy set as it is the root policy set.
        for (int i = 1; i < policySetList.size(); i++) {
            PolicySetType policySet = policySetList.get(i);
            if (resourceValue.equals(PolicySetWizard.getResourceValue(policySet))) {
                if (targetPolicySet != null) {
                    throw new HighLevelPolicyManagementServiceException("More than one resource policy sets match the given resource id!");
                }
                targetPolicySet = policySet;
View Full Code Here

              actionPolicy.setObligations(obligations);
            }
           
          }else{
           
            PolicySetType resourcePolicySet = findResourcePolicySet(papContainer);
            if (!PolicySetHelper.hasObligationWithId(resourcePolicySet, obligationValue)){
              ObligationWizard owiz = new ObligationWizard(obligationValue);
              ObligationsType obligations = ObligationsHelper.build();
              obligations.getObligations().add(owiz.getXACML());
              resourcePolicySet.setObligations(obligations);
            }
           
          }
        }
       
View Full Code Here

     */
    private String getActionId(PapContainer papContainer, String actionValue, String resourceValue,
            boolean bottom) {

       
        PolicySetType targetPolicySet = findResourcePolicySet(papContainer);
       
        if (targetPolicySet == null) {
            String resourceId = createResource(papContainer, resourceValue, bottom);
            return createAction(papContainer, resourceId, actionValue, bottom);
        }
       
               
        List<String> policyIdList = PolicySetHelper.getPolicyIdReferencesValues(targetPolicySet);
       
        PolicyType targetPolicy = null;
       
        for (String policyId : policyIdList) {
            PolicyType policy = papContainer.getPolicy(policyId);
           
            if (actionValue.equals(PolicyWizard.getActionValue(policy))) {
                if (targetPolicy != null) {
                    throw new HighLevelPolicyManagementServiceException("More than one action with the same value");
                }
                targetPolicy = policy;
            }
        }
       
        String actionId;
       
        if (targetPolicy == null) {
            actionId = createAction(papContainer, targetPolicySet.getPolicySetId(), actionValue, bottom);
        } else {
            actionId = targetPolicy.getPolicyId();
        }
       
        return actionId;
View Full Code Here

      PolicySetWizard psWizard = new PolicySetWizard(new AttributeWizard("resource", resourceValue));
     
      if (obligationValue!= null && obligationScope.equals(ObligationScopeType.resource))
        psWizard.addObligation(new ObligationWizard(obligationValue))
     
        PolicySetType resource = psWizard.getXACML();

        String resourceId = resource.getPolicySetId();

        papContainer.storePolicySet(resource);

        PolicySetType rootPolicySet = papContainer.getRootPolicySet();

        int index = 0;

        if (bottom) {
            index = -1;
        }

        PolicySetHelper.addPolicySetReference(rootPolicySet, index, resourceId);

        String version = rootPolicySet.getVersion();
        PolicySetWizard.increaseVersion(rootPolicySet);

        papContainer.updatePolicySet(version, rootPolicySet);

        return resourceId;
View Full Code Here

        boolean result = true;

        for (PapContainer papContainer : PapContainer.getContainers(PapManager.getInstance().getLocalPaps())) {

            PolicySetType rootPS;

            try {
                rootPS = papContainer.getRootPolicySet();
            } catch (RepositoryException e) {
                String rootAlias = papContainer.getPap().getAlias();
                String action = String.format("remove all policies and and policy sets for root policy set %s",
                                              rootAlias);
                log.error(String.format("The root policy set %s (id=%s) is corrupted. Suggested action: %s",
                                        rootAlias,
                                        action));

                if (repair) {
                    log.info("Automatic repair is set. Action: " + action);
                    papContainer.deleteAllPolicies();
                    papContainer.deleteAllPolicySets();
                    papContainer.createRootPolicySet();
                    log.info("Automatic repair successfully completed (deleted root policy set " + rootAlias
                            + ")");
                } else {
                    result = false;
                }
                continue;
            }

            // check referenced policy sets (the root policy set doesn't have references to
            // policies)
            for (String policySetId : PolicySetHelper.getPolicySetIdReferencesValues(rootPS)) {
                PolicySetType policySet;

                try {
                    policySet = papContainer.getPolicySet(policySetId);
                } catch (RepositoryException e) {
                    String action = String.format("remove policy set %s", policySetId);
                    log.error(String.format("The policy set \"%s\" is corrupted. Suggested action: %s",
                                            policySetId,
                                            action));

                    if (repair) {
                        log.info("Automatic repair is set. Action: " + action);
                        PolicySetHelper.deletePolicySetReference(rootPS, policySetId);
                        String version = rootPS.getVersion();
                        PolicySetWizard.increaseVersion(rootPS);
                        papContainer.updatePolicySet(version, rootPS);
                        papContainer.deletePolicySet(policySetId);
                        log.info("Automatic repair successfully completed (deleted policy set " + policySetId
                                + ")");
                    } else {
                        result = false;
                    }
                    continue;
                }

                // check referenced policies (non-root policy sets don't have references to policy
                // sets)
                for (String policyId : PolicySetHelper.getPolicyIdReferencesValues(policySet)) {

                    try {
                        papContainer.getPolicy(policyId);
                    } catch (RepositoryException e) {
                        String action = String.format("remove policy %s", policyId);
                        log.error(String.format("The policy \"%s\" is corrupted. Suggested action: %s",
                                                policyId,
                                                action));

                        if (repair) {
                            log.info("Automatic repair is set. Action: " + action);
                            PolicySetHelper.deletePolicyReference(policySet, policyId);
                            String version = policySet.getVersion();
                            PolicySetWizard.increaseVersion(policySet);
                            papContainer.updatePolicySet(version, policySet);
                            papContainer.deletePolicy(policyId);
                            log.info("Automatic repair successfully completed (deleted policy " + policyId
                                    + ")");
View Full Code Here

        int numberOfRules = policy.getRules().size();

        TypeStringUtils.releaseUnneededMemory(policy);

        PolicySetType policySet = policySetDAO.getById(papId, policySetId);

        if (PolicySetHelper.referenceIdExists(policySet, policyId)) {
            throw new AlreadyExistsException("Reference id \"" + policyId + "\" alredy exists");
        }

        if (index < 0) {
            PolicySetHelper.addPolicyReference(policySet, policyId);
        } else {
            PolicySetHelper.addPolicyReference(policySet, index, policyId);
        }

        String oldVersion = policySet.getVersion();
        PolicySetWizard.increaseVersion(policySet);

        try {
            policySetDAO.update(papId, oldVersion, policySet);
        } catch (RepositoryException e) {
View Full Code Here

        String policySetId = policySet.getPolicySetId();

        policySetDAO.store(papId, policySet);

        PolicySetType rootPolicySet = policySetDAO.getById(papId, rootPolicySetId);

        if (PolicySetHelper.referenceIdExists(rootPolicySet, policySetId)) {
            throw new AlreadyExistsException("Reference id \"" + policySetId + "\" alredy exists");
        }

        if (index < 0) {
            PolicySetHelper.addPolicySetReference(rootPolicySet, policySetId);
        } else {
            PolicySetHelper.addPolicySetReference(rootPolicySet, index, policySetId);
        }

        String oldVersion = rootPolicySet.getVersion();
        PolicySetWizard.increaseVersion(rootPolicySet);

        try {
            policySetDAO.update(papId, oldVersion, rootPolicySet);
        } catch (RepositoryException e) {
View Full Code Here

     *
     * @throws AlreadyExistsException if the pap root policy set already exists.
     */
    public void createRootPolicySet() {

        PolicySetType rootPolicySet = PolicySetHelper.buildWithAnyTarget(pap.getId(),
                                                                         PolicySetHelper.COMB_ALG_FIRST_APPLICABLE);
        rootPolicySet.setVersion("0");

        policySetDAO.store(papId, rootPolicySet);
    }
View Full Code Here

TOP

Related Classes of org.opensaml.xacml.policy.PolicySetType

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.