Loading pom.xml +13 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,19 @@ </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>javadoc</id> <phase>package</phase> <goals><goal>jar</goal></goals> <configuration> <show>public</show> </configuration> </execution> </executions> </plugin> </plugins> </build> Loading src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java +65 −5 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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; Loading Loading @@ -54,52 +62,104 @@ public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJer 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 String getAccessToken() { return this.accessToken; public void setBasicAuthPassword(String basicAuthPassword) { this.basicAuthPassword = basicAuthPassword; } 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; } } src/main/java/com/inteligr8/alfresco/activiti/ApsClientCxfImpl.java +19 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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; Loading src/main/java/com/inteligr8/alfresco/activiti/ApsClientJerseyImpl.java +19 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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; Loading src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java +36 −3 Original line number Diff line number Diff line Loading @@ -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> T getApi(Class<T> apiClass); abstract Client getClient(); protected final <T> T getApi(Class<T> apiClass) { return this.getApi(null, apiClass); } protected <T> T getApi(AuthorizationFilter authFilter, Class<T> 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); } } Loading
pom.xml +13 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,19 @@ </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>javadoc</id> <phase>package</phase> <goals><goal>jar</goal></goals> <configuration> <show>public</show> </configuration> </execution> </executions> </plugin> </plugins> </build> Loading
src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java +65 −5 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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; Loading Loading @@ -54,52 +62,104 @@ public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJer 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 String getAccessToken() { return this.accessToken; public void setBasicAuthPassword(String basicAuthPassword) { this.basicAuthPassword = basicAuthPassword; } 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; } }
src/main/java/com/inteligr8/alfresco/activiti/ApsClientCxfImpl.java +19 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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; Loading
src/main/java/com/inteligr8/alfresco/activiti/ApsClientJerseyImpl.java +19 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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; Loading
src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java +36 −3 Original line number Diff line number Diff line Loading @@ -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> T getApi(Class<T> apiClass); abstract Client getClient(); protected final <T> T getApi(Class<T> apiClass) { return this.getApi(null, apiClass); } protected <T> T getApi(AuthorizationFilter authFilter, Class<T> 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); } }