Search in sources :

Example 1 with ResourcePath

use of org.forgerock.json.resource.ResourcePath in project OpenAM by OpenRock.

the class MatchingResourcePath method equals.

@Override
public boolean equals(Object obj) {
    ResourcePath comparePath;
    if (obj instanceof MatchingResourcePath) {
        comparePath = ((MatchingResourcePath) obj).resourcePath;
    } else {
        return false;
    }
    Iterator<String> compareElements = comparePath.iterator();
    for (String element : resourcePath) {
        if (!compareElements.hasNext()) {
            return false;
        }
        String compare = compareElements.next();
        if (element.startsWith("{") && element.endsWith("}")) {
            if (!compare.startsWith("{") || !compare.endsWith("}")) {
                return false;
            }
        } else if (!"*".equals(element) && !"*".equals(compare)) {
            if (!element.equals(compare)) {
                return false;
            }
        }
    }
    return !compareElements.hasNext();
}
Also used : ResourcePath(org.forgerock.json.resource.ResourcePath)

Example 2 with ResourcePath

use of org.forgerock.json.resource.ResourcePath in project OpenAM by OpenRock.

the class SmsRouteTreeBuilder method build.

/**
     * Build the tree from the provided parent.
     * @param parent The parent tree.
     * @return The built sub-tree.
     */
SmsRouteTree build(@Nonnull SmsRouteTree parent) {
    Router router = new Router();
    ResourcePath path = SmsRouteTree.concat(parent.path, uriTemplate);
    SmsRouteTree tree = new SmsRouteTree(parent.authzModules, parent.defaultAuthzModule, false, router, null, path);
    for (SmsRouteTreeBuilder subTreeBuilder : subTreeBuilders) {
        tree.addSubTree(subTreeBuilder.build(tree));
    }
    parent.router.addRoute(RoutingMode.STARTS_WITH, uriTemplate(uriTemplate), router);
    if (handlesFunction != null) {
        tree.addSubTree(new SmsRouteTreeLeaf(parent.authzModules, parent.defaultAuthzModule, router, handlesFunction, null, path));
    }
    return tree;
}
Also used : ResourcePath(org.forgerock.json.resource.ResourcePath) Router(org.forgerock.json.resource.Router)

Aggregations

ResourcePath (org.forgerock.json.resource.ResourcePath)2 Router (org.forgerock.json.resource.Router)1