Package com.tinkerpop.rexster.extension

Examples of com.tinkerpop.rexster.extension.ExtensionDefinition


    @Test
    public void tryAppendRexsterAttributesIfJsonConfiguredNo() {
        ExtensionResponse responseFromExtension = ExtensionResponse.noContent();

        final ExtensionDefinition extensionDefinition = this.mockery.mock(ExtensionDefinition.class);
        this.mockery.checking(new Expectations() {{
            allowing(extensionDefinition).tryIncludeRexsterAttributes();
            will(returnValue(false));
        }});
View Full Code Here


    @Test
    public void tryAppendRexsterAttributesIfJsonNotJsonInEntity() {
        ExtensionResponse responseFromExtension = ExtensionResponse.noContent();

        final ExtensionDefinition extensionDefinition = this.mockery.mock(ExtensionDefinition.class);
        this.mockery.checking(new Expectations() {{
            allowing(extensionDefinition).tryIncludeRexsterAttributes();
            will(returnValue(true));
        }});
View Full Code Here

            put("me", "you");
        }};

        ExtensionResponse responseFromExtension = ExtensionResponse.ok(new JSONObject(map));

        final ExtensionDefinition extensionDefinition = this.mockery.mock(ExtensionDefinition.class);
        this.mockery.checking(new Expectations() {{
            allowing(extensionDefinition).tryIncludeRexsterAttributes();
            will(returnValue(true));
        }});
View Full Code Here

                if (rexsterExtension != null) {
                    if (rexsterExtension.isConfigurationValid(extensionConfig)) {
                        final Method[] methods = clazz.getMethods();
                        for (Method method : methods) {
                            final ExtensionDescriptor descriptor = method.getAnnotation(ExtensionDescriptor.class);
                            final ExtensionDefinition definition = method.getAnnotation(ExtensionDefinition.class);

                            if (definition != null && definition.extensionPoint() == extensionPoint) {
                                String href = currentExtensionNamespace + "/" + currentExtensionName;
                                if (!definition.path().isEmpty()) {
                                    href = href + "/" + definition.path();
                                }

                                final HashMap<String, Object> hypermediaLink = new HashMap<String, Object>();
                                hypermediaLink.put("href", href);
                                hypermediaLink.put("op", definition.method().name());
                                hypermediaLink.put("namespace", currentExtensionNamespace);
                                hypermediaLink.put("name", currentExtensionName);

                                final String path = definition.path();
                                if (path != null && !path.isEmpty()) {
                                    hypermediaLink.put("path", path);
                                    hypermediaLink.put("title", currentNamespaceAndName + "-" + path);
                                } else {
                                    hypermediaLink.put("title", currentNamespaceAndName);
View Full Code Here

            final Class rexsterExtensionClass = rexsterExtension.getClass();
            final Method[] methods = rexsterExtensionClass.getMethods();

            for (Method method : methods) {
                // looks for the first method that matches.  methods that multi-match will be ignored right now
                final ExtensionDefinition extensionDefinition = method.getAnnotation(ExtensionDefinition.class);
                final ExtensionDescriptor extensionDescriptor = method.getAnnotation(ExtensionDescriptor.class);

                // checks if the extension point is graph, and if the method path matches the specified action on
                // the uri (if it exists) or if the method has no path.
                if (extensionDefinition != null && extensionDefinition.extensionPoint() == extensionPoint
                        && (extensionDefinition.method() == HttpMethod.ANY || extensionDefinition.method() == httpMethodRequested)) {

                    if ((!extensionAction.isEmpty() && extensionDefinition.path().equals(extensionAction))
                            || (extensionAction.isEmpty() && extensionDefinition.path().isEmpty())) {
                        methodToCall = new ExtensionMethod(method, extensionDefinition, extensionDescriptor, rexsterExtension);
                        break;
                    }
                }
            }

            if (methodToCall == null) {
                for (Method method : methods) {
                    final ExtensionDefinition extensionDefinition = method.getAnnotation(ExtensionDefinition.class);
                    final ExtensionDescriptor extensionDescriptor = method.getAnnotation(ExtensionDescriptor.class);

                    if (extensionDefinition != null && extensionDefinition.extensionPoint() == extensionPoint
                            && (extensionDefinition.method() == HttpMethod.ANY || extensionDefinition.method() == httpMethodRequested)) {

                        if (!extensionAction.isEmpty() && extensionDefinition.path().isEmpty()) {
                            methodToCall = new ExtensionMethod(method, extensionDefinition, extensionDescriptor, rexsterExtension);
                            break;
                        }
                    }
                }
View Full Code Here

TOP

Related Classes of com.tinkerpop.rexster.extension.ExtensionDefinition

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.