Examples of Relationship


Examples of org.apache.cxf.sts.token.realm.Relationship

        addService(issueOperation);
       
        // Add Relationship list
        List<Relationship> relationshipList = new ArrayList<Relationship>();
        Relationship rs = createRelationship();
        rs.setType(Relationship.FED_TYPE_IDENTITY);
        rs.setIdentityMapper(new CustomIdentityMapper());
        relationshipList.add(rs);
       
        // Add STSProperties object
        Crypto crypto = CryptoFactory.getInstance(getEncryptionProperties());
        STSPropertiesMBean stsProperties = createSTSPropertiesMBean(crypto);
View Full Code Here

Examples of org.apache.cxf.sts.token.realm.Relationship

        assertTrue(tokenString.contains(SAML2Constants.CONF_BEARER));
    }
   

    private Relationship createRelationship() {
        Relationship rs = new Relationship();
        ClaimsMapper claimsMapper = new CustomClaimsMapper();
        rs.setClaimsMapper(claimsMapper);
        rs.setSourceRealm("A");
        rs.setTargetRealm("B");
        rs.setType(Relationship.FED_TYPE_CLAIMS);
        return rs;
    }
View Full Code Here

Examples of org.apache.cxf.sts.token.realm.Relationship

            return returnedClaims;
        }
    }
   
    public ClaimCollection retrieveClaimValues(RequestClaimCollection claims, ClaimsParameters parameters) {
        Relationship relationship = null;
        if (parameters.getAdditionalProperties() != null) {
            relationship = (Relationship)parameters.getAdditionalProperties().get(
                    Relationship.class.getName());
        }
       
        if (claims == null || claims.size() == 0) {
            return null;
        }
        if (relationship == null || relationship.getType().equals(Relationship.FED_TYPE_IDENTITY)) {
            // Federate identity. Identity already mapped.
            // Call all configured claims handlers to retrieve the required claims
            if (claimHandlers == null || claimHandlers.size() == 0) {
                return null;
            }
            Principal originalPrincipal = parameters.getPrincipal();
            ClaimCollection returnCollection = new ClaimCollection();
            for (ClaimsHandler handler : claimHandlers) {
               
                RequestClaimCollection supportedClaims =
                    filterHandlerClaims(claims, handler.getSupportedClaimTypes());
                if (supportedClaims.isEmpty()) {
                    continue;
                }
               
                if (handler instanceof RealmSupport) {
                    RealmSupport handlerRealmSupport = (RealmSupport)handler;
                    // Check whether the handler supports the current realm
                    if (handlerRealmSupport.getSupportedRealms() != null
                            && handlerRealmSupport.getSupportedRealms().size() > 0
                            && handlerRealmSupport.getSupportedRealms().indexOf(parameters.getRealm()) == -1) {
                        if (LOG.isLoggable(Level.FINER)) {
                            LOG.finer("Handler '" + handler.getClass().getName() + "' doesn't support"
                                    + " realm '" + parameters.getRealm()  + "'");
                        }
                        continue;
                    }
                   
                    // If handler realm is configured and different from current realm
                    // do an identity mapping
                    if (handlerRealmSupport.getHandlerRealm() != null
                            && !handlerRealmSupport.getHandlerRealm().equalsIgnoreCase(parameters.getRealm())) {
                        Principal targetPrincipal = null;
                        try {
                            if (LOG.isLoggable(Level.FINE)) {
                                LOG.fine("Mapping user '" + parameters.getPrincipal().getName()
                                        + "' [" + parameters.getRealm() + "] to realm '"
                                        + handlerRealmSupport.getHandlerRealm() + "'");
                            }
                            targetPrincipal = doMapping(parameters.getRealm(), parameters.getPrincipal(),
                                    handlerRealmSupport.getHandlerRealm());
                        } catch (Exception ex) {
                            LOG.log(Level.WARNING, "Failed to map user '" + parameters.getPrincipal().getName()
                                    + "' [" + parameters.getRealm() + "] to realm '"
                                    + handlerRealmSupport.getHandlerRealm() + "'", ex);
                            throw new STSException("Failed to map user for claims handler",
                                    STSException.REQUEST_FAILED);
                        }
                       
                        if (targetPrincipal == null) {
                            LOG.log(Level.WARNING, "Null. Failed to map user '" + parameters.getPrincipal().getName()
                                    + "' [" + parameters.getRealm() + "] to realm '"
                                    + handlerRealmSupport.getHandlerRealm() + "'");
                            throw new STSException("Failed to map user for claims handler",
                                    STSException.REQUEST_FAILED);
                        }
                        if (LOG.isLoggable(Level.INFO)) {
                            LOG.info("Principal '" + targetPrincipal.getName()
                                    + "' passed to handler '" + handler.getClass().getName() + "'");
                        }
                        parameters.setPrincipal(targetPrincipal);
                    } else {
                        if (LOG.isLoggable(Level.FINER)) {
                            LOG.finer("Handler '" + handler.getClass().getName() + "' doesn't require"
                                    + " identity mapping '" + parameters.getRealm()  + "'");
                        }
                       
                    }
                }
               
                ClaimCollection claimCollection = null;
                try {
                    claimCollection = handler.retrieveClaimValues(supportedClaims, parameters);
                } catch (RuntimeException ex) {
                    LOG.log(Level.INFO, "Failed retrieving claims from ClaimsHandler "
                            + handler.getClass().getName(), ex);
                    if (this.isStopProcessingOnException()) {
                        throw ex;
                    }
                } finally {
                    // set original principal again, otherwise wrong principal passed to next claim handler in the list
                    // if no mapping required or wrong source principal used for next identity mapping
                    parameters.setPrincipal(originalPrincipal);
                }
               
                if (claimCollection != null && claimCollection.size() != 0) {
                    returnCollection.addAll(claimCollection);
                }
            }
            validateClaimValues(claims, returnCollection);
            return returnCollection;
           
        } else {
            // Federate claims
            ClaimsMapper claimsMapper = relationship.getClaimsMapper();
            if (claimsMapper == null) {
                LOG.log(Level.SEVERE, "ClaimsMapper required to federate claims but not configured.");
                throw new STSException("ClaimsMapper required to federate claims but not configured",
                                       STSException.BAD_REQUEST);
            }
           
            // Get the claims of the received token (only SAML supported)
            // Consider refactoring to use a CallbackHandler and keep ClaimsManager token independent
            AssertionWrapper assertion =
                (AssertionWrapper)parameters.getAdditionalProperties().get(AssertionWrapper.class.getName());
            List<Claim> claimList = null;
            if (assertion.getSamlVersion().equals(SAMLVersion.VERSION_20)) {
                claimList = this.parseClaimsInAssertion(assertion.getSaml2());
            } else {
                claimList = this.parseClaimsInAssertion(assertion.getSaml1());
            }
            ClaimCollection sourceClaims = new ClaimCollection();
            sourceClaims.addAll(claimList);
           
            ClaimCollection targetClaims = claimsMapper.mapClaims(relationship.getSourceRealm(),
                    sourceClaims, relationship.getTargetRealm(), parameters);
            validateClaimValues(claims, targetClaims);
            return targetClaims;
        }

    }
View Full Code Here

Examples of org.apache.cxf.ws.addressing.v200408.Relationship

     *
     * @param internal the 2005/08 RelatesToType
     * @return an equivalent 2004/08 Relationship
     */
    public static Relationship convert(RelatesToType internal) {
        Relationship exposed = null;
        if (internal != null) {
            exposed = Names200408.WSA_OBJECT_FACTORY.createRelationship();
            exposed.setValue(internal.getValue());
            String internalRelationshipType = internal.getRelationshipType();
            if (internalRelationshipType != null) {
                QName exposedRelationshipType = null;
                if (!Names.WSA_RELATIONSHIP_REPLY.equals(internalRelationshipType)) {
                    exposedRelationshipType = new QName(internalRelationshipType);
                }
                exposed.setRelationshipType(exposedRelationshipType);
            }
            putAll(exposed.getOtherAttributes(), internal.getOtherAttributes());
        }
        return exposed;
    }
View Full Code Here

Examples of org.apache.cxf.ws.addressing.v200408.Relationship

     *
     * @param internal the 2005/08 RelatesToType
     * @return an equivalent 2004/08 Relationship
     */
    public static Relationship convert(RelatesToType internal) {
        Relationship exposed = null;
        if (internal != null) {
            exposed = Names200408.WSA_OBJECT_FACTORY.createRelationship();
            exposed.setValue(internal.getValue());
            String internalRelationshipType = internal.getRelationshipType();
            if (internalRelationshipType != null) {
                QName exposedRelationshipType =
                    Names.WSA_RELATIONSHIP_REPLY.equals(
                                                    internalRelationshipType)
                    ? new QName(Names200408.WSA_NAMESPACE_NAME,
                                Names.WSA_REPLY_NAME)
                    : new QName(internalRelationshipType);
                exposed.setRelationshipType(exposedRelationshipType);
            }
            putAll(exposed.getOtherAttributes(), internal.getOtherAttributes());
        }
        return exposed;
    }
View Full Code Here

Examples of org.apache.metamodel.schema.Relationship

        assertEquals("datacleaner", tableModel.getValueAt(0, 2));
        assertEquals("MetaModel", tableModel.getValueAt(1, 2));

        // Make a new query that joins the normalized tables together
        table = schema.getTableByName("contributors_person_address");
        Relationship relationShip = table.getRelationships()[0];
        q = new Query().select(relationShip.getPrimaryTable().getColumns())
                .select(relationShip.getForeignTable().getColumns()).from(new FromItem(JoinType.INNER, relationShip));

        assertEquals(
                "SELECT contributors_person.id, contributors_person_address.id, "
                        + "contributors_person_address.contributors_person_id, contributors_person_address.address "
                        + "FROM xml_input_eobjects.xml.contributors_person INNER JOIN xml_input_eobjects.xml.contributors_person_address "
View Full Code Here

Examples of org.apache.metamodel.schema.Relationship

                .materializeMainSchemaTable(dependencyTable, dependencyTable.getColumns(), -1).toObjectArrays();
        assertEquals(11, dependencyData.size());
        assertEquals("[1]", Arrays.toString(dependencyData.get(0)));
        assertEquals("[11]", Arrays.toString(dependencyData.get(10)));

        Relationship relationship = schema.getTableByName("dependency_groupId").getRelationships()[0];
        assertEquals(
                "Relationship[primaryTable=dependency,primaryColumns=[id],foreignTable=dependency_groupId,foreignColumns=[dependency_id]]",
                relationship.toString());

        dc.flattenTables(relationship);

        assertEquals("[Table[name=dependency,type=TABLE,remarks=null], "
                + "Table[name=dependency_artifactId,type=TABLE,remarks=null], "
View Full Code Here

Examples of org.apache.tuscany.das.rdb.config.Relationship

      if (p.getType().isDataType()) {
        if (obj.isSet(p))
          fields.add(p);
      } else {
        if ( obj.isSet(p) ) {
          Relationship relationship = config.getRelationshipByReference(p);
          if ( p.getOpposite().isMany() || (hasState(config, relationship, obj))) {             
            RelationshipWrapper r = new RelationshipWrapper(
              relationship);
            Iterator keys = r.getForeignKeys().iterator();
            while (keys.hasNext()) {
View Full Code Here

Examples of org.apache.tuscany.das.rdb.config.Relationship

      return;
    }

    Iterator i = metadata.getRelationships().iterator();
    while (i.hasNext()) {
      Relationship r = (Relationship) i.next();

     
            DataObject parentTable = get(wrapper
          .getTablePropertyName(r.getPrimaryKeyTable()));
      DataObject childTable = get(wrapper
          .getTablePropertyName(r.getForeignKeyTable()));

      DebugUtil.debugln(getClass(), debug, "Parent table: " + parentTable);
      DebugUtil.debugln(getClass(), debug, "Child table: " + childTable);

      if ((parentTable == null) || (childTable == null))
        continue;

            Property p = parentTable.getType().getProperty(r.getName());
      setOrAdd(parentTable, childTable, p);
     
    }
  }
View Full Code Here

Examples of org.apache.tuscany.das.rdb.config.Relationship

    while (i.hasNext()) {
      DataObject table = (DataObject) i.next();
   
      Iterator relationships = wrapper.getRelationshipsByChildTable(table.getType().getName()).iterator();
      while ( relationships.hasNext() ) {
        Relationship r = (Relationship) relationships.next();
   
        DataObject parentTable = findParentTable(table, r, wrapper);
       
        if (parentTable == null)
          continue;

                Property p = parentTable.getType().getProperty(r.getName());
        setOrAdd(parentTable, table, p);
      }
     
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.