Package com.cuubez.core.resource.metaData

Examples of com.cuubez.core.resource.metaData.PathMetaData


    @Override
    public UriTemplate compile(ClassMetaData classMetaData) {

        UriTemplateBuilder uriTemplateBuilder = new UriTemplateBuilder();
        PathMetaData pathMetaData = uriTemplateBuilder.build(classMetaData.getPath(), true);

        UriTemplate uriTemplate = new JaxRsUriTemplate();
        uriTemplate.setTemplate(pathMetaData.getTemplate());
        uriTemplate.setPathMetaData(pathMetaData);

        return uriTemplate;
    }
View Full Code Here


    @Override
    public UriTemplate compile(MethodMetaData methodMetaData) {

        UriTemplateBuilder uriTemplateBuilder = new UriTemplateBuilder();
        PathMetaData pathMetaData = uriTemplateBuilder.build(methodMetaData.getPath(), false);

        UriTemplate uriTemplate = new JaxRsUriTemplate();
        uriTemplate.setTemplate(pathMetaData.getTemplate());
        uriTemplate.setPathMetaData(pathMetaData);

        return uriTemplate;
    }
View Full Code Here


    public PathMetaData build(final String path, final boolean rootPath) {

        StringBuffer uriTemplate = null;
        PathMetaData pathMetaData = new PathMetaData();
        pathMetaData.setRootPath(rootPath);


        if(path == null || path.isEmpty() || path.equals(ROOT_PATH)) {

            uriTemplate = new StringBuffer();
            uriTemplate.append(TAIL);
            pathMetaData.setEmpty(true);


        } else {

            List<PathVariableMetaData> pathVariableMetaData = extractVariables(path);
            List<String> pathVariableNames = populateVariableNames(pathVariableMetaData);

            uriTemplate = new StringBuffer();
            uriTemplate.append(TEMPLATE_START);
            uriTemplate.append(TEMPLATE_START);
            uriTemplate.append(path);
            uriTemplate.append(TEMPLATE_END);

            for (String pathVariableName : pathVariableNames) {

                String variableMatcher = VARIABLE_START + pathVariableName + VARIABLE_END;
                int startIndex = uriTemplate.indexOf(variableMatcher);
                int lastIndex = startIndex + variableMatcher.length();

                uriTemplate.replace(startIndex, lastIndex, VARIABLE);


            }

            uriTemplate.append(TAIL);
            uriTemplate.append(TEMPLATE_END);

            pathMetaData.setPathVariables(pathVariableMetaData);
        }

        pathMetaData.setTemplate(uriTemplate.toString());

        return pathMetaData;

    }
View Full Code Here

            throw new CuubezException(CuubezException.RESOURCE_NOT_FOUND);
        }

        for (RootResource rootResource : rootResources) {

            PathMetaData rootPathMetaData = rootResource.getUriTemplate().match(path);

            if (rootPathMetaData != null) {

                log.trace("root resource found");
                List<SubResource> subResources = rootResource.getSubResources();

                for (SubResource subResource : subResources) {

                    PathMetaData subPathMetaData = null;

                    if (subResource.getUriTemplate() != null) {
                        subPathMetaData = subResource.getUriTemplate().match(rootPathMetaData.getTail());
                    }

                    if(subPathMetaData != null) {


                        String subResourceHttpMethod = subResource.getMethodMetaData().getHttpMethod();

                        if (subResourceHttpMethod.equals(httpMethod)) {

                            SelectedResourceMetaData selectedResourceMetaData = new SelectedResourceMetaData();
                            selectedResourceMetaData.setSelectedMethodMetaData(subResource.getMethodMetaData());
                            selectedResourceMetaData.addPathVariableMetaData(rootPathMetaData.getPathVariables());
                            selectedResourceMetaData.addPathVariableMetaData(subPathMetaData.getPathVariables());

                            log.trace("sub resource found");
                            return selectedResourceMetaData;
                        }
                    }
View Full Code Here

            throw new CuubezException(CuubezException.RESOURCE_NOT_FOUND);
        }

        for (RootResource rootResource : rootResources) {

            PathMetaData rootPathMetaData = rootResource.getUriTemplate().match(path);

            if (rootPathMetaData != null) {

                log.trace("root resource found");
                List<SubResource> subResources = rootResource.getSubResources();

                for (SubResource subResource : subResources) {

                    PathMetaData subPathMetaData = null;

                    if (subResource.getUriTemplate() != null) {
                        subPathMetaData = subResource.getUriTemplate().match(rootPathMetaData.getTail());
                    }

                    if(subPathMetaData != null) {


                        String subResourceHttpMethod = subResource.getMethodMetaData().getHttpMethod();

                        if (subResourceHttpMethod.equals(httpMethod)) {

                            SelectedResourceMetaData selectedResourceMetaData = new SelectedResourceMetaData();
                            selectedResourceMetaData.setSelectedMethodMetaData(subResource.getMethodMetaData());
                            selectedResourceMetaData.addPathVariableMetaData(rootPathMetaData.getPathVariables());
                            selectedResourceMetaData.addPathVariableMetaData(subPathMetaData.getPathVariables());

                            log.trace("sub resource found");
                            return selectedResourceMetaData;
                        }
                    }
View Full Code Here

TOP

Related Classes of com.cuubez.core.resource.metaData.PathMetaData

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.