Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.AttributeType;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.osgi.service.metatype.annotations.Option;

@ObjectClassDefinition(name = "CIF GraphQL Client Configuration Factory")
public @interface GraphqlClientConfiguration {

String CQ_GRAPHQL_CLIENT = "cq:graphqlClient";
String DEFAULT_IDENTIFIER = "default";
String DEFAULT_TYPE = "magento-graphql";

int MAX_HTTP_CONNECTIONS_DEFAULT = 20;
boolean ACCEPT_SELF_SIGNED_CERTIFICATES = false;
Expand All @@ -42,6 +44,18 @@
required = true)
String identifier() default DEFAULT_IDENTIFIER;

@AttributeDefinition(
name = "GraphQL Service Type",
description = "The type of the graphql service used in this configuration.",
type = AttributeType.STRING,
options = {
@Option(label = "Magento GraphQL", value = DEFAULT_TYPE),
@Option(label = "Catalog Service", value = "catalog-service"),
@Option(label = "Commerce Optimizer", value = "commerce-optimizer")
},
required = true)
String type() default DEFAULT_TYPE;

@AttributeDefinition(
name = "GraphQL Service URL",
description = "The URL of the GraphQL server endpoint, this must be a secure host using HTTPS.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ class GraphqlClientConfigurationImpl implements Annotation, GraphqlClientConfigu

private String url;
private String identifier = GraphqlClientConfiguration.DEFAULT_IDENTIFIER;
private String type = GraphqlClientConfiguration.DEFAULT_TYPE;
private HttpMethod method = HttpMethod.GET;
private HttpMethod httpMethod = HttpMethod.POST;
private boolean acceptSelfSignedCertificates = GraphqlClientConfiguration.ACCEPT_SELF_SIGNED_CERTIFICATES;
private boolean allowHttpProtocol = GraphqlClientConfiguration.ALLOW_HTTP_PROTOCOL;
Expand All @@ -45,6 +47,7 @@ class GraphqlClientConfigurationImpl implements Annotation, GraphqlClientConfigu

GraphqlClientConfigurationImpl(GraphqlClientConfiguration configuration) {
identifier = configuration.identifier();
type = configuration.type();
url = configuration.url();
httpMethod = configuration.httpMethod();
acceptSelfSignedCertificates = configuration.acceptSelfSignedCertificates();
Expand Down Expand Up @@ -75,6 +78,15 @@ public void setIdentifier(String identifier) {
this.identifier = identifier;
}

@Override
public String type() {
return type;
}

public void setType(String type) {
this.type = type;
}

@Override
public String url() {
return url;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
*
******************************************************************************/

@org.osgi.annotation.versioning.Version("1.13.0")
@org.osgi.annotation.versioning.Version("1.14.0")
package com.adobe.cq.commerce.graphql.client;