Example usage for org.apache.commons.lang3.tuple Triple getLeft

List of usage examples for org.apache.commons.lang3.tuple Triple getLeft

Introduction

In this page you can find the example usage for org.apache.commons.lang3.tuple Triple getLeft.

Prototype

public abstract L getLeft();

Source Link

Document

Gets the left element from this triple.

Usage

From source file:org.apache.syncope.client.console.panels.DashboardOverviewPanel.java

public DashboardOverviewPanel(final String id) {
    super(id);/* ww  w  . ja  v a2 s.  c o m*/

    NumbersInfo numbers = restClient.numbers();

    WebMarkupContainer container = new WebMarkupContainer("container");
    container.setOutputMarkupId(true);
    add(container);

    totalUsers = new NumberWidget("totalUsers", "bg-yellow", numbers.getTotalUsers(), getString("users"),
            "ion ion-person");
    container.add(totalUsers);
    totalGroups = new NumberWidget("totalGroups", "bg-red", numbers.getTotalGroups(), getString("groups"),
            "ion ion-person-stalker");
    container.add(totalGroups);

    Triple<Integer, String, String> built = buildTotalAny1OrRoles(numbers);
    totalAny1OrRoles = new NumberWidget("totalAny1OrRoles", "bg-green", built.getLeft(), built.getMiddle(),
            built.getRight());
    container.add(totalAny1OrRoles);

    built = buildTotalAny2OrResources(numbers);
    totalAny2OrResources = new NumberWidget("totalAny2OrResources", "bg-aqua", built.getLeft(),
            built.getMiddle(), built.getRight());
    container.add(totalAny2OrResources);

    usersByStatus = new UsersByStatusWidget("usersByStatus", numbers.getUsersByStatus());
    container.add(usersByStatus);

    completeness = new CompletenessWidget("completeness", numbers.getConfCompleteness());
    container.add(completeness);

    anyByRealm = new AnyByRealmWidget("anyByRealm", numbers.getUsersByRealm(), numbers.getGroupsByRealm(),
            numbers.getAnyType1(), numbers.getAny1ByRealm(), numbers.getAnyType2(), numbers.getAny2ByRealm());
    container.add(anyByRealm);

    load = new LoadWidget("load", restClient.system());
    container.add(load);

    container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(60)) {

        private static final long serialVersionUID = -4426283634345968585L;

        @Override
        protected void onTimer(final AjaxRequestTarget target) {
            NumbersInfo numbers = restClient.numbers();

            if (totalUsers.refresh(numbers.getTotalUsers())) {
                target.add(totalUsers);
            }
            if (totalGroups.refresh(numbers.getTotalGroups())) {
                target.add(totalGroups);
            }

            Triple<Integer, String, String> updatedBuild = buildTotalAny1OrRoles(numbers);
            if (totalAny1OrRoles.refresh(updatedBuild.getLeft())) {
                target.add(totalAny1OrRoles);
            }
            updatedBuild = buildTotalAny2OrResources(numbers);
            if (totalAny2OrResources.refresh(updatedBuild.getLeft())) {
                target.add(totalAny2OrResources);
            }

            if (usersByStatus.refresh(numbers.getUsersByStatus())) {
                target.add(usersByStatus);
            }

            if (completeness.refresh(numbers.getConfCompleteness())) {
                target.add(completeness);
            }

            if (anyByRealm.refresh(numbers.getUsersByRealm(), numbers.getGroupsByRealm(), numbers.getAnyType1(),
                    numbers.getAny1ByRealm(), numbers.getAnyType2(), numbers.getAny2ByRealm())) {

                target.add(anyByRealm);
            }

            load.refresh(restClient.system());
            target.add(load);
        }
    });
}

From source file:org.apache.syncope.core.logic.AbstractJobLogic.java

protected List<JobTO> doListJobs() {
    List<JobTO> jobTOs = new ArrayList<>();

    try {/*from w ww. ja v  a2 s .  co m*/
        for (JobKey jobKey : scheduler.getScheduler()
                .getJobKeys(GroupMatcher.jobGroupEquals(Scheduler.DEFAULT_GROUP))) {

            JobTO jobTO = new JobTO();

            Triple<JobType, String, String> reference = getReference(jobKey);
            if (reference != null) {
                jobTOs.add(jobTO);

                jobTO.setType(reference.getLeft());
                jobTO.setRefKey(reference.getMiddle());
                jobTO.setRefDesc(reference.getRight());

                List<? extends Trigger> jobTriggers = scheduler.getScheduler().getTriggersOfJob(jobKey);
                if (jobTriggers.isEmpty()) {
                    jobTO.setScheduled(false);
                } else {
                    jobTO.setScheduled(true);
                    jobTO.setStart(jobTriggers.get(0).getStartTime());
                }

                jobTO.setRunning(jobManager.isRunning(jobKey));
            }
        }
    } catch (SchedulerException e) {
        LOG.debug("Problems while retrieving scheduled jobs", e);
    }

    return jobTOs;
}

From source file:org.apache.syncope.core.logic.ResourceLogic.java

@PreAuthorize("hasRole('" + StandardEntitlement.RESOURCE_GET_CONNOBJECT + "')")
@Transactional(readOnly = true)/*from w  ww .  j  av  a  2  s  . c  o  m*/
public ConnObjectTO readConnObject(final String key, final String anyTypeKey, final String anyKey) {
    Triple<ExternalResource, AnyType, Provision> init = connObjectInit(key, anyTypeKey);

    // 1. find any
    Any<?> any = init.getMiddle().getKind() == AnyTypeKind.USER ? userDAO.find(anyKey)
            : init.getMiddle().getKind() == AnyTypeKind.ANY_OBJECT ? anyObjectDAO.find(anyKey)
                    : groupDAO.find(anyKey);
    if (any == null) {
        throw new NotFoundException(init.getMiddle() + " " + anyKey);
    }

    // 2. build connObjectKeyItem
    Optional<MappingItem> connObjectKeyItem = MappingUtils.getConnObjectKeyItem(init.getRight());
    if (!connObjectKeyItem.isPresent()) {
        throw new NotFoundException(
                "ConnObjectKey mapping for " + init.getMiddle() + " " + anyKey + " on resource '" + key + "'");
    }
    Optional<String> connObjectKeyValue = mappingManager.getConnObjectKeyValue(any, init.getRight());

    // 3. determine attributes to query
    Set<MappingItem> linkinMappingItems = virSchemaDAO.findByProvision(init.getRight()).stream()
            .map(virSchema -> virSchema.asLinkingMappingItem()).collect(Collectors.toSet());
    Iterator<MappingItem> mapItems = new IteratorChain<>(init.getRight().getMapping().getItems().iterator(),
            linkinMappingItems.iterator());

    // 4. read from the underlying connector
    Connector connector = connFactory.getConnector(init.getLeft());
    ConnectorObject connectorObject = connector.getObject(init.getRight().getObjectClass(),
            AttributeBuilder.build(connObjectKeyItem.get().getExtAttrName(), connObjectKeyValue.get()),
            MappingUtils.buildOperationOptions(mapItems));
    if (connectorObject == null) {
        throw new NotFoundException("Object " + connObjectKeyValue.get() + " with class "
                + init.getRight().getObjectClass() + " not found on resource " + key);
    }

    // 5. build result
    Set<Attribute> attributes = connectorObject.getAttributes();
    if (AttributeUtil.find(Uid.NAME, attributes) == null) {
        attributes.add(connectorObject.getUid());
    }
    if (AttributeUtil.find(Name.NAME, attributes) == null) {
        attributes.add(connectorObject.getName());
    }

    return ConnObjectUtils.getConnObjectTO(connectorObject);
}

From source file:org.apache.syncope.core.logic.ResourceLogic.java

@PreAuthorize("hasRole('" + StandardEntitlement.RESOURCE_LIST_CONNOBJECT + "')")
@Transactional(readOnly = true)/*from w  ww . j a v  a  2s.  c o  m*/
public Pair<SearchResult, List<ConnObjectTO>> listConnObjects(final String key, final String anyTypeKey,
        final int size, final String pagedResultsCookie, final List<OrderByClause> orderBy) {

    ExternalResource resource;
    ObjectClass objectClass;
    OperationOptions options;
    if (SyncopeConstants.REALM_ANYTYPE.equals(anyTypeKey)) {
        resource = resourceDAO.authFind(key);
        if (resource == null) {
            throw new NotFoundException("Resource '" + key + "'");
        }
        if (resource.getOrgUnit() == null) {
            throw new NotFoundException("Realm provisioning for resource '" + key + "'");
        }

        objectClass = resource.getOrgUnit().getObjectClass();
        options = MappingUtils.buildOperationOptions(
                MappingUtils.getPropagationItems(resource.getOrgUnit().getItems()).iterator());
    } else {
        Triple<ExternalResource, AnyType, Provision> init = connObjectInit(key, anyTypeKey);
        resource = init.getLeft();
        objectClass = init.getRight().getObjectClass();
        init.getRight().getMapping().getItems();

        Set<MappingItem> linkinMappingItems = virSchemaDAO.findByProvision(init.getRight()).stream()
                .map(virSchema -> virSchema.asLinkingMappingItem()).collect(Collectors.toSet());
        Iterator<MappingItem> mapItems = new IteratorChain<>(init.getRight().getMapping().getItems().iterator(),
                linkinMappingItems.iterator());
        options = MappingUtils.buildOperationOptions(mapItems);
    }

    final List<ConnObjectTO> connObjects = new ArrayList<>();

    SearchResult searchResult = connFactory.getConnector(resource).search(objectClass, null,
            new ResultsHandler() {

                private int count;

                @Override
                public boolean handle(final ConnectorObject connectorObject) {
                    connObjects.add(ConnObjectUtils.getConnObjectTO(connectorObject));
                    // safety protection against uncontrolled result size
                    count++;
                    return count < size;
                }
            }, size, pagedResultsCookie, orderBy, options);

    return ImmutablePair.of(searchResult, connObjects);
}

From source file:org.apache.syncope.core.persistence.jpa.dao.ElasticsearchAnySearchDAO.java

private QueryBuilder getQueryBuilder(final AnyCond cond, final AnyTypeKind kind) {
    Triple<PlainSchema, PlainAttrValue, AnyCond> checked;
    try {//from ww  w  .j ava2s. c om
        checked = check(cond, kind);
    } catch (IllegalArgumentException e) {
        return EMPTY_QUERY_BUILDER;
    }

    return fillAttrQuery(checked.getLeft(), checked.getMiddle(), checked.getRight());
}

From source file:org.apache.syncope.core.persistence.jpa.dao.JPAAnySearchDAO.java

private String getQuery(final AnyCond cond, final boolean not, final List<Object> parameters,
        final SearchSupport svs) {

    Triple<PlainSchema, PlainAttrValue, AnyCond> checked;
    try {//w w  w  .  ja v a  2  s.  com
        checked = check(cond, svs.anyTypeKind);
    } catch (IllegalArgumentException e) {
        return EMPTY_QUERY;
    }

    StringBuilder query = new StringBuilder("SELECT DISTINCT any_id FROM ").append(svs.field().name)
            .append(" WHERE ");

    fillAttrQuery(query, checked.getMiddle(), checked.getLeft(), checked.getRight(), not, parameters, svs);

    return query.toString();
}

From source file:org.apache.syncope.core.provisioning.java.data.AccessTokenDataBinderImpl.java

@Override
public Pair<String, Date> create(final String subject, final Map<String, Object> claims,
        final byte[] authorities, final boolean replaceExisting) {

    String body = null;// ww  w .  jav  a 2  s. co  m
    Date expiryTime = null;

    AccessToken existing = accessTokenDAO.findByOwner(subject);
    if (existing != null) {
        body = existing.getBody();
        expiryTime = existing.getExpiryTime();
    }

    if (replaceExisting || body == null) {
        Triple<String, String, Date> created = generateJWT(subject, confDAO.find("jwt.lifetime.minutes", 120L),
                claims);

        body = created.getMiddle();
        expiryTime = created.getRight();

        AccessToken accessToken = entityFactory.newEntity(AccessToken.class);
        accessToken.setKey(created.getLeft());
        accessToken.setBody(body);
        accessToken.setExpiryTime(expiryTime);
        accessToken.setOwner(subject);

        if (!adminUser.equals(accessToken.getOwner())) {
            accessToken.setAuthorities(authorities);
        }

        accessTokenDAO.save(accessToken);
    }

    if (replaceExisting && existing != null) {
        accessTokenDAO.delete(existing);
    }

    return Pair.of(body, expiryTime);
}

From source file:org.apache.zeppelin.notebook.ParagraphTest.java

@Test
public void testCursorPosition() {
    Paragraph paragraph = spy(new Paragraph());
    // left = buffer, middle = cursor position into source code, right = cursor position after parse
    List<Triple<String, Integer, Integer>> dataSet = Arrays.asList(Triple.of("%jdbc schema.", 13, 7),
            Triple.of("   %jdbc schema.", 16, 7), Triple.of(" \n%jdbc schema.", 15, 7),
            Triple.of("%jdbc schema.table.  ", 19, 13), Triple.of("%jdbc schema.\n\n", 13, 7),
            Triple.of("  %jdbc schema.tab\n\n", 18, 10), Triple.of("  \n%jdbc schema.\n \n", 16, 7),
            Triple.of("  \n%jdbc schema.\n \n", 16, 7), Triple.of("  \n%jdbc\n\n schema\n \n", 17, 6),
            Triple.of("%another\n\n schema.", 18, 7), Triple.of("\n\n schema.", 10, 7),
            Triple.of("schema.", 7, 7), Triple.of("schema. \n", 7, 7), Triple.of("  \n   %jdbc", 11, 0),
            Triple.of("\n   %jdbc", 9, 0), Triple.of("%jdbc  \n  schema", 16, 6),
            Triple.of("%jdbc  \n  \n   schema", 20, 6));

    for (Triple<String, Integer, Integer> data : dataSet) {
        paragraph.setText(data.getLeft());
        Integer actual = paragraph.calculateCursorPosition(data.getLeft(), data.getMiddle());
        assertEquals(data.getRight(), actual);
    }/*from  w ww.  j  a  va2s  .  c om*/
}

From source file:org.dllearner.algorithms.qtl.operations.lgg.AbstractLGGGenerator.java

protected RDFResourceTree computeLGG(RDFResourceTree tree1, RDFResourceTree tree2, boolean learnFilters) {
    subCalls++;//w ww  .j  a  v a2 s.  c  o  m

    // 1. compare the root nodes
    // a) if both root nodes have same URI or literal value, just return one of the two trees as LGG
    if ((tree1.isResourceNode() || tree1.isLiteralValueNode()) && tree1.getData().equals(tree2.getData())) {
        logger.trace("Early termination. Tree 1 {}  and tree 2 {} describe the same resource.", tree1, tree2);
        return tree1;
    }

    // b) handle literal nodes
    if (tree1.isLiteralNode() && tree2.isLiteralNode()) {
        return processLiteralNodes(tree1, tree2);
    }

    // c) handle class nodes
    if (tree1.isClassNode()) {
        return processClassNodes(tree1, tree2);
    }

    // d) else create new empty tree
    RDFResourceTree lgg = new RDFResourceTree();

    // 2. compare the edges
    // we only have to compare edges which are
    // a) contained in both trees
    // b) related via subsumption, i.e. p1  p2

    // get edges of tree 2 connected via subsumption
    Set<Triple<Node, Node, Node>> relatedEdges = getRelatedEdges(tree1, tree2);
    for (Triple<Node, Node, Node> entry : relatedEdges) {
        if (stop || isTimeout()) {
            complete = false;
            break;
        }

        Node edge1 = entry.getLeft();
        Node edge2 = entry.getMiddle();
        Node lcs = entry.getRight();

        Set<RDFResourceTree> addedChildren = new HashSet<>();

        // loop over children of first tree
        for (RDFResourceTree child1 : tree1.getChildren(edge1)) {//System.out.println("c1:" + child1);
            if (stop || isTimeout()) {
                complete = false;
                break;
            }
            // loop over children of second tree
            for (RDFResourceTree child2 : tree2.getChildren(edge2)) {//System.out.println("c2:" + child2);
                if (stop || isTimeout()) {
                    complete = false;
                    break;
                }

                RDFResourceTree lggChild = computeLGG(child1, child2, learnFilters);

                // check if there was already a more specific child computed before
                // and if so don't add the current one
                boolean add = true;
                for (Iterator<RDFResourceTree> it = addedChildren.iterator(); it.hasNext();) {
                    RDFResourceTree addedChild = it.next();

                    if (isSubTreeOf(addedChild, lggChild)) {
                        //                        logger.trace("Skipped adding: Previously added child {} is subsumed by {}.",
                        //                              addedChild.getStringRepresentation(),
                        //                              lggChild.getStringRepresentation());
                        add = false;
                        break;
                    } else if (isSubTreeOf(lggChild, addedChild)) {
                        //                        logger.trace("Removing child node: {} is subsumed by previously added child {}.",
                        //                              lggChild.getStringRepresentation(),
                        //                              addedChild.getStringRepresentation());
                        lgg.removeChild(addedChild, lgg.getEdgeToChild(addedChild));
                        it.remove();
                    }
                }
                if (add) {
                    lgg.addChild(lggChild, lcs);
                    addedChildren.add(lggChild);
                    //                     logger.trace("Adding child {}", lggChild.getStringRepresentation());
                }
            }
        }
    }

    return lgg;
}

From source file:org.dllearner.algorithms.qtl.operations.lgg.AbstractLGGGenerator.java

protected RDFResourceTree processClassNodes(RDFResourceTree tree1, RDFResourceTree tree2) {
    RDFResourceTree lgg = new RDFResourceTree();

    Set<Triple<Node, Node, Node>> relatedEdges = getRelatedEdges(tree1, tree2);
    for (Triple<Node, Node, Node> entry : relatedEdges) {
        if (stop || isTimeout()) {
            complete = false;/*from  w w  w. j  a  v a 2s  .  c  o m*/
            break;
        }
        Node edge1 = entry.getLeft();
        Node edge2 = entry.getMiddle();
        Node lcs = entry.getRight();

        Set<RDFResourceTree> addedChildren = new HashSet<>();

        // loop over children of first tree
        for (RDFResourceTree child1 : tree1.getChildren(edge1)) {//System.out.println("c1:" + child1);
            if (stop || isTimeout()) {
                complete = false;
                break;
            }
            // loop over children of second tree
            for (RDFResourceTree child2 : tree2.getChildren(edge2)) {//System.out.println("c2:" + child2);
                if (stop || isTimeout()) {
                    complete = false;
                    break;
                }

                RDFResourceTree lggChild = computeLGG(child1, child2, false);

                // check if there was already a more specific child computed before
                // and if so don't add the current one
                boolean add = true;
                for (Iterator<RDFResourceTree> it = addedChildren.iterator(); it.hasNext();) {
                    RDFResourceTree addedChild = it.next();

                    if (isSubTreeOf(addedChild, lggChild)) {
                        //                        logger.trace("Skipped adding: Previously added child {} is subsumed by {}.",
                        //                              addedChild.getStringRepresentation(),
                        //                              lggChild.getStringRepresentation());
                        add = false;
                        break;
                    } else if (isSubTreeOf(lggChild, addedChild)) {
                        //                        logger.trace("Removing child node: {} is subsumed by previously added child {}.",
                        //                              lggChild.getStringRepresentation(),
                        //                              addedChild.getStringRepresentation());
                        lgg.removeChild(addedChild, lgg.getEdgeToChild(addedChild));
                        it.remove();
                    }
                }
                if (add) {
                    lgg.addChild(lggChild, lcs);
                    addedChildren.add(lggChild);
                    //                     logger.trace("Adding child {}", lggChild.getStringRepresentation());
                }
            }
        }
    }
    return lgg;
}