diff --git a/pom.xml b/pom.xml
index 851c3c3..de3d8ae 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,6 +102,19 @@
+
+ maven-javadoc-plugin
+
+
+ javadoc
+ package
+ jar
+
+ public
+
+
+
+
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java
index dd98971..3bbefc2 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java
@@ -7,6 +7,14 @@ import org.springframework.context.annotation.Configuration;
import com.inteligr8.rs.ClientCxfConfiguration;
import com.inteligr8.rs.ClientJerseyConfiguration;
+/**
+ * This class provides a POJO & Spring-based implementation of the
+ * ClientConfiguration interface. You can use it outside of the Spring
+ * context, but you will need the spring-context and spring-beans libraries in
+ * your non-Spring application.
+ *
+ * @author brian@inteligr8.com
+ */
@Configuration
@ComponentScan
public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJerseyConfiguration {
@@ -20,8 +28,8 @@ public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJer
@Value("${process.service.security.basicAuth.password:admin}")
private String basicAuthPassword;
- @Value("${process.service.security.accessToken:#{null}}")
- private String accessToken;
+ @Value("${process.service.security.bearerToken:#{null}}")
+ private String bearerToken;
@Value("${process.service.security.oauth.tokenUrl:#{null}}")
private String oAuthTokenUrl;
@@ -49,57 +57,109 @@ public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJer
@Value("${process.service.jersey.putBodyRequired:true}")
private boolean putBodyRequired;
-
+
public String getBaseUrl() {
return this.baseUrl;
}
+ public void setBaseUrl(String baseUrl) {
+ this.baseUrl = baseUrl;
+ }
+
public String getBasicAuthUsername() {
return this.basicAuthUsername;
}
+
+ public void setBasicAuthUsername(String basicAuthUsername) {
+ this.basicAuthUsername = basicAuthUsername;
+ }
public String getBasicAuthPassword() {
return this.basicAuthPassword;
}
+
+ public void setBasicAuthPassword(String basicAuthPassword) {
+ this.basicAuthPassword = basicAuthPassword;
+ }
- public String getAccessToken() {
- return this.accessToken;
+ public String getBearerToken() {
+ return this.bearerToken;
+ }
+
+ public void setBearerToken(String bearerToken) {
+ this.bearerToken = bearerToken;
}
public String getOAuthTokenUrl() {
return this.oAuthTokenUrl;
}
+
+ public void setOAuthTokenUrl(String oAuthTokenUrl) {
+ this.oAuthTokenUrl = oAuthTokenUrl;
+ }
public String getOAuthClientId() {
return this.oAuthClientId;
}
+
+ public void setOAuthClientId(String oAuthClientId) {
+ this.oAuthClientId = oAuthClientId;
+ }
public String getOAuthClientSecret() {
return this.oAuthClientSecret;
}
+
+ public void setOAuthClientSecret(String oAuthClientSecret) {
+ this.oAuthClientSecret = oAuthClientSecret;
+ }
public String getOAuthAuthCode() {
return this.oAuthAuthCode;
}
+
+ public void setOAuthAuthCode(String oAuthAuthCode) {
+ this.oAuthAuthCode = oAuthAuthCode;
+ }
public String getOAuthAuthRedirectUri() {
return this.oAuthAuthRedirectUri;
}
+
+ public void setOAuthAuthRedirectUri(String oAuthAuthRedirectUri) {
+ this.oAuthAuthRedirectUri = oAuthAuthRedirectUri;
+ }
public String getOAuthUsername() {
return this.oAuthUsername;
}
+
+ public void setOAuthUsername(String oAuthUsername) {
+ this.oAuthUsername = oAuthUsername;
+ }
public String getOAuthPassword() {
return this.oAuthPassword;
}
+
+ public void setOAuthPassword(String oAuthPassword) {
+ this.oAuthPassword = oAuthPassword;
+ }
public boolean isDefaultBusEnabled() {
return this.defaultBusEnabled;
}
+
+ public void setDefaultBusEnabled(boolean defaultBusEnabled) {
+ this.defaultBusEnabled = defaultBusEnabled;
+ }
public boolean isPutBodyRequired() {
return this.putBodyRequired;
}
+ public void setPutBodyRequired(boolean putBodyRequired) {
+ this.putBodyRequired = putBodyRequired;
+ }
+
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientCxfImpl.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientCxfImpl.java
index aee055f..aa82f4d 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientCxfImpl.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientCxfImpl.java
@@ -8,7 +8,12 @@ import com.inteligr8.rs.ClientCxfConfiguration;
import com.inteligr8.rs.ClientCxfImpl;
/**
- * Configured JAX-RS Client & WebTarget for APS & CXF
+ * This class provides a POJO & Spring-based implementation of the Apache
+ * CXF client. You can use it outside of the Spring context, but you will need
+ * the spring-context and spring-beans libraries in your non-Spring
+ * application.
+ *
+ * @author brian@inteligr8.com
*/
@Component("aps.client.cxf")
@Lazy
@@ -17,6 +22,19 @@ public class ApsClientCxfImpl extends ClientCxfImpl {
@Autowired
private ApsClientConfiguration config;
+ /**
+ * This constructor is for Spring use
+ */
+ ApsClientCxfImpl() {
+ }
+
+ /**
+ * This constructor is for POJO use
+ */
+ public ApsClientCxfImpl(ApsClientConfiguration config) {
+ this.config = config;
+ }
+
@Override
protected ClientCxfConfiguration getConfig() {
return this.config;
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientJerseyImpl.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientJerseyImpl.java
index 8eca94f..fed0eeb 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientJerseyImpl.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientJerseyImpl.java
@@ -8,7 +8,12 @@ import com.inteligr8.rs.ClientJerseyConfiguration;
import com.inteligr8.rs.ClientJerseyImpl;
/**
- * Configured JAX-RS Client & WebTarget for APS & Jersey
+ * This class provides a POJO & Spring-based implementation of the Apache
+ * CXF client. You can use it outside of the Spring context, but you will need
+ * the spring-context and spring-beans libraries in your non-Spring
+ * application.
+ *
+ * @author brian@inteligr8.com
*/
@Component("aps.client.jersey")
@Lazy
@@ -17,6 +22,19 @@ public class ApsClientJerseyImpl extends ClientJerseyImpl {
@Autowired
private ApsClientConfiguration config;
+ /**
+ * This constructor is for Spring use
+ */
+ ApsClientJerseyImpl() {
+ }
+
+ /**
+ * This constructor is for POJO use
+ */
+ public ApsClientJerseyImpl(ApsClientConfiguration config) {
+ this.config = config;
+ }
+
@Override
protected ClientJerseyConfiguration getConfig() {
return this.config;
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java
index fea480b..ce4ce6b 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java
@@ -5,35 +5,68 @@ import com.inteligr8.alfresco.activiti.api.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi;
import com.inteligr8.alfresco.activiti.api.TasksApi;
+import com.inteligr8.rs.AuthorizationFilter;
+import com.inteligr8.rs.Client;
import com.inteligr8.rs.ClientConfiguration;
/**
- * Alfresco Process Services Spring-ready API
+ * This class serves as the base implementation for the JAX-RS API for the APS
+ * Public ReST API.
+ *
+ * @author brian@inteligr8.com
*/
public abstract class ApsPublicRestApi {
- protected abstract ClientConfiguration getConfig();
+ abstract ClientConfiguration getConfig();
- protected abstract T getApi(Class apiClass);
+ abstract Client getClient();
+
+ protected final T getApi(Class apiClass) {
+ return this.getApi(null, apiClass);
+ }
+
+ protected T getApi(AuthorizationFilter authFilter, Class apiClass) {
+ return this.getClient().getApi(authFilter, apiClass);
+ }
public AdminApi getAdminApi() {
return this.getApi(AdminApi.class);
}
+ public AdminApi getAdminApi(AuthorizationFilter authFilter) {
+ return this.getApi(authFilter, AdminApi.class);
+ }
+
public AppVersionApi getAppVersionApi() {
return this.getApi(AppVersionApi.class);
}
+ public AppVersionApi getAppVersionApi(AuthorizationFilter authFilter) {
+ return this.getApi(authFilter, AppVersionApi.class);
+ }
+
public ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class);
}
+ public ProcessInstancesApi getProcessInstancesApi(AuthorizationFilter authFilter) {
+ return this.getApi(authFilter, ProcessInstancesApi.class);
+ }
+
public ProfileApi getProfileApi() {
return this.getApi(ProfileApi.class);
}
+ public ProfileApi getProfileApi(AuthorizationFilter authFilter) {
+ return this.getApi(authFilter, ProfileApi.class);
+ }
+
public TasksApi getTasksApi() {
return this.getApi(TasksApi.class);
}
+
+ public TasksApi getTasksApi(AuthorizationFilter authFilter) {
+ return this.getApi(authFilter, TasksApi.class);
+ }
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiCxfImpl.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiCxfImpl.java
index c261ae2..68e3049 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiCxfImpl.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiCxfImpl.java
@@ -4,10 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
+import com.inteligr8.rs.Client;
import com.inteligr8.rs.ClientConfiguration;
/**
- * Alfresco Process Services Spring-ready API for CXF
+ * This class provides the Apache CXF client to the JAX-RS API for the APS
+ * Public ReST API.
+ *
+ * @author brian@inteligr8.com
*/
@Component("aps.api.cxf")
@Lazy
@@ -16,14 +20,27 @@ public class ApsPublicRestApiCxfImpl extends ApsPublicRestApi {
@Autowired
private ApsClientCxfImpl client;
- @Override
- protected ClientConfiguration getConfig() {
- return this.client.getConfig();
+ /**
+ * This constructor is for Spring use
+ */
+ ApsPublicRestApiCxfImpl() {
}
+ /**
+ * This constructor is for POJO use
+ */
+ public ApsPublicRestApiCxfImpl(ApsClientCxfImpl client) {
+ this.client = client;
+ }
+
@Override
- protected T getApi(Class apiClass) {
- return this.client.getApi(apiClass);
+ ClientConfiguration getConfig() {
+ return this.client.getConfig();
+ }
+
+ @Override
+ Client getClient() {
+ return this.client;
}
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiJerseyImpl.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiJerseyImpl.java
index aa80486..7f8c364 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiJerseyImpl.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApiJerseyImpl.java
@@ -4,10 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
+import com.inteligr8.rs.Client;
import com.inteligr8.rs.ClientConfiguration;
/**
- * Alfresco Process Services Spring-ready API for Jersey
+ * This class provides the Jersey client to the JAX-RS API for the APS Public
+ * ReST API.
+ *
+ * @author brian@inteligr8.com
*/
@Component("aps.api.jersey")
@Lazy
@@ -16,14 +20,27 @@ public class ApsPublicRestApiJerseyImpl extends ApsPublicRestApi {
@Autowired
private ApsClientJerseyImpl client;
+ /**
+ * This constructor is for Spring use
+ */
+ ApsPublicRestApiJerseyImpl() {
+ }
+
+ /**
+ * This constructor is for POJO use
+ */
+ public ApsPublicRestApiJerseyImpl(ApsClientJerseyImpl client) {
+ this.client = client;
+ }
+
@Override
- protected ClientConfiguration getConfig() {
+ ClientConfiguration getConfig() {
return this.client.getConfig();
}
@Override
- protected T getApi(Class apiClass) {
- return this.client.getApi(apiClass);
+ Client getClient() {
+ return this.client;
}
}