Loading pom.xml +13 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,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/acs/AcsClientConfiguration.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 AcsClientConfiguration implements ClientCxfConfiguration, ClientJerseyConfiguration { Loading @@ -20,8 +28,8 @@ public class AcsClientConfiguration implements ClientCxfConfiguration, ClientJer @Value("${content.service.security.basicAuth.password:admin}") private String basicAuthPassword; @Value("${content.service.security.accessToken:#{null}}") private String accessToken; @Value("${content.service.security.bearerToken:#{null}}") private String bearerToken; @Value("${content.service.security.oauth.tokenUrl:#{null}}") private String oAuthTokenUrl; Loading Loading @@ -54,52 +62,104 @@ public class AcsClientConfiguration 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/acs/AcsClientCxfImpl.java +20 −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 ACS & 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("acs.client.cxf") @Lazy Loading @@ -17,6 +22,20 @@ public class AcsClientCxfImpl extends ClientCxfImpl { @Autowired private AcsClientConfiguration config; /** * This constructor is for Spring use. */ AcsClientCxfImpl() { } /** * This constructor is for POJO use. * @param config */ public AcsClientCxfImpl(AcsClientConfiguration config) { this.config = config; } @Override protected ClientCxfConfiguration getConfig() { return this.config; Loading src/main/java/com/inteligr8/alfresco/acs/AcsClientJerseyImpl.java +20 −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 ACS & 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("acs.client.jersey") @Lazy Loading @@ -17,6 +22,20 @@ public class AcsClientJerseyImpl extends ClientJerseyImpl { @Autowired private AcsClientConfiguration config; /** * This constructor is for Spring use. */ AcsClientJerseyImpl() { } /** * This constructor is for POJO use. * @param config */ public AcsClientJerseyImpl(AcsClientConfiguration config) { this.config = config; } @Override protected ClientJerseyConfiguration getConfig() { return this.config; Loading src/main/java/com/inteligr8/alfresco/acs/AcsPublicRestApi.java +111 −2 Original line number Diff line number Diff line Loading @@ -24,111 +24,220 @@ import com.inteligr8.alfresco.acs.api.TagsApi; import com.inteligr8.alfresco.acs.api.TrashcanApi; import com.inteligr8.alfresco.acs.api.V0Api; import com.inteligr8.alfresco.acs.api.VersionsApi; import com.inteligr8.rs.AuthorizationFilter; import com.inteligr8.rs.Client; import com.inteligr8.rs.ClientConfiguration; /** * Alfresco Content Services Spring-ready API * This class serves as the base implementation for the JAX-RS API for the ACS * Public ReST API. * * @author brian@inteligr8.com */ public abstract class AcsPublicRestApi { 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 ActionsApi getActionsApi() { return this.getApi(ActionsApi.class); } public ActionsApi getActionsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, ActionsApi.class); } public ActivitiesApi getActivitiesApi() { return this.getApi(ActivitiesApi.class); } public ActivitiesApi getActivitiesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, ActivitiesApi.class); } public AuditApi getAuditApi() { return this.getApi(AuditApi.class); } public AuditApi getAuditApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, AuditApi.class); } public AuthenticationApi getAuthenticationApi() { return this.getApi(AuthenticationApi.class); } public AuthenticationApi getAuthenticationApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, AuthenticationApi.class); } public CommentsApi getCommentsApi() { return this.getApi(CommentsApi.class); } public CommentsApi getCommentsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, CommentsApi.class); } public DiscoveryApi getDiscoveryApi() { return this.getApi(DiscoveryApi.class); } public DiscoveryApi getDiscoveryApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, DiscoveryApi.class); } public DownloadsApi getDownloadsApi() { return this.getApi(DownloadsApi.class); } public DownloadsApi getDownloadsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, DownloadsApi.class); } public FavoritesApi getFavoritesApi() { return this.getApi(FavoritesApi.class); } public FavoritesApi getFavoritesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, FavoritesApi.class); } public GroupsApi getGroupsApi() { return this.getApi(GroupsApi.class); } public GroupsApi getGroupsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, GroupsApi.class); } public NetworksApi getNetworksApi() { return this.getApi(NetworksApi.class); } public NetworksApi getNetworksApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, NetworksApi.class); } public NodesApi getNodesApi() { return this.getApi(NodesApi.class); } public NodesApi getNodesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, NodesApi.class); } public PeopleApi getPeopleApi() { return this.getApi(PeopleApi.class); } public PeopleApi getPeopleApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, PeopleApi.class); } public PreferencesApi getPreferencesApi() { return this.getApi(PreferencesApi.class); } public PreferencesApi getPreferencesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, PreferencesApi.class); } public ProbesApi getProbesApi() { return this.getApi(ProbesApi.class); } public ProbesApi getProbesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, ProbesApi.class); } public QueriesApi getQueriesApi() { return this.getApi(QueriesApi.class); } public QueriesApi getQueriesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, QueriesApi.class); } public RatingsApi getRatingsApi() { return this.getApi(RatingsApi.class); } public RatingsApi getRatingsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, RatingsApi.class); } public RenditionsApi getRenditionsApi() { return this.getApi(RenditionsApi.class); } public RenditionsApi getRenditionsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, RenditionsApi.class); } public SearchApi getSearchApi() { return this.getApi(SearchApi.class); } public SearchApi getSearchApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, SearchApi.class); } public SharedLinksApi getSharedLinksApi() { return this.getApi(SharedLinksApi.class); } public SharedLinksApi getSharedLinksApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, SharedLinksApi.class); } public SitesApi getSitesApi() { return this.getApi(SitesApi.class); } public SitesApi getSitesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, SitesApi.class); } public TagsApi getTagsApi() { return this.getApi(TagsApi.class); } public TagsApi getTagsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, TagsApi.class); } public TrashcanApi getTrashcanApi() { return this.getApi(TrashcanApi.class); } public TrashcanApi getTrashcanApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, TrashcanApi.class); } public VersionsApi getVersionsApi() { return this.getApi(VersionsApi.class); } public VersionsApi getVersionsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, VersionsApi.class); } public V0Api getV0Api() { return this.getApi(V0Api.class); } public V0Api getV0Api(AuthorizationFilter authFilter) { return this.getApi(authFilter, V0Api.class); } } Loading
pom.xml +13 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,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/acs/AcsClientConfiguration.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 AcsClientConfiguration implements ClientCxfConfiguration, ClientJerseyConfiguration { Loading @@ -20,8 +28,8 @@ public class AcsClientConfiguration implements ClientCxfConfiguration, ClientJer @Value("${content.service.security.basicAuth.password:admin}") private String basicAuthPassword; @Value("${content.service.security.accessToken:#{null}}") private String accessToken; @Value("${content.service.security.bearerToken:#{null}}") private String bearerToken; @Value("${content.service.security.oauth.tokenUrl:#{null}}") private String oAuthTokenUrl; Loading Loading @@ -54,52 +62,104 @@ public class AcsClientConfiguration 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/acs/AcsClientCxfImpl.java +20 −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 ACS & 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("acs.client.cxf") @Lazy Loading @@ -17,6 +22,20 @@ public class AcsClientCxfImpl extends ClientCxfImpl { @Autowired private AcsClientConfiguration config; /** * This constructor is for Spring use. */ AcsClientCxfImpl() { } /** * This constructor is for POJO use. * @param config */ public AcsClientCxfImpl(AcsClientConfiguration config) { this.config = config; } @Override protected ClientCxfConfiguration getConfig() { return this.config; Loading
src/main/java/com/inteligr8/alfresco/acs/AcsClientJerseyImpl.java +20 −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 ACS & 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("acs.client.jersey") @Lazy Loading @@ -17,6 +22,20 @@ public class AcsClientJerseyImpl extends ClientJerseyImpl { @Autowired private AcsClientConfiguration config; /** * This constructor is for Spring use. */ AcsClientJerseyImpl() { } /** * This constructor is for POJO use. * @param config */ public AcsClientJerseyImpl(AcsClientConfiguration config) { this.config = config; } @Override protected ClientJerseyConfiguration getConfig() { return this.config; Loading
src/main/java/com/inteligr8/alfresco/acs/AcsPublicRestApi.java +111 −2 Original line number Diff line number Diff line Loading @@ -24,111 +24,220 @@ import com.inteligr8.alfresco.acs.api.TagsApi; import com.inteligr8.alfresco.acs.api.TrashcanApi; import com.inteligr8.alfresco.acs.api.V0Api; import com.inteligr8.alfresco.acs.api.VersionsApi; import com.inteligr8.rs.AuthorizationFilter; import com.inteligr8.rs.Client; import com.inteligr8.rs.ClientConfiguration; /** * Alfresco Content Services Spring-ready API * This class serves as the base implementation for the JAX-RS API for the ACS * Public ReST API. * * @author brian@inteligr8.com */ public abstract class AcsPublicRestApi { 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 ActionsApi getActionsApi() { return this.getApi(ActionsApi.class); } public ActionsApi getActionsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, ActionsApi.class); } public ActivitiesApi getActivitiesApi() { return this.getApi(ActivitiesApi.class); } public ActivitiesApi getActivitiesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, ActivitiesApi.class); } public AuditApi getAuditApi() { return this.getApi(AuditApi.class); } public AuditApi getAuditApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, AuditApi.class); } public AuthenticationApi getAuthenticationApi() { return this.getApi(AuthenticationApi.class); } public AuthenticationApi getAuthenticationApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, AuthenticationApi.class); } public CommentsApi getCommentsApi() { return this.getApi(CommentsApi.class); } public CommentsApi getCommentsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, CommentsApi.class); } public DiscoveryApi getDiscoveryApi() { return this.getApi(DiscoveryApi.class); } public DiscoveryApi getDiscoveryApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, DiscoveryApi.class); } public DownloadsApi getDownloadsApi() { return this.getApi(DownloadsApi.class); } public DownloadsApi getDownloadsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, DownloadsApi.class); } public FavoritesApi getFavoritesApi() { return this.getApi(FavoritesApi.class); } public FavoritesApi getFavoritesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, FavoritesApi.class); } public GroupsApi getGroupsApi() { return this.getApi(GroupsApi.class); } public GroupsApi getGroupsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, GroupsApi.class); } public NetworksApi getNetworksApi() { return this.getApi(NetworksApi.class); } public NetworksApi getNetworksApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, NetworksApi.class); } public NodesApi getNodesApi() { return this.getApi(NodesApi.class); } public NodesApi getNodesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, NodesApi.class); } public PeopleApi getPeopleApi() { return this.getApi(PeopleApi.class); } public PeopleApi getPeopleApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, PeopleApi.class); } public PreferencesApi getPreferencesApi() { return this.getApi(PreferencesApi.class); } public PreferencesApi getPreferencesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, PreferencesApi.class); } public ProbesApi getProbesApi() { return this.getApi(ProbesApi.class); } public ProbesApi getProbesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, ProbesApi.class); } public QueriesApi getQueriesApi() { return this.getApi(QueriesApi.class); } public QueriesApi getQueriesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, QueriesApi.class); } public RatingsApi getRatingsApi() { return this.getApi(RatingsApi.class); } public RatingsApi getRatingsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, RatingsApi.class); } public RenditionsApi getRenditionsApi() { return this.getApi(RenditionsApi.class); } public RenditionsApi getRenditionsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, RenditionsApi.class); } public SearchApi getSearchApi() { return this.getApi(SearchApi.class); } public SearchApi getSearchApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, SearchApi.class); } public SharedLinksApi getSharedLinksApi() { return this.getApi(SharedLinksApi.class); } public SharedLinksApi getSharedLinksApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, SharedLinksApi.class); } public SitesApi getSitesApi() { return this.getApi(SitesApi.class); } public SitesApi getSitesApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, SitesApi.class); } public TagsApi getTagsApi() { return this.getApi(TagsApi.class); } public TagsApi getTagsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, TagsApi.class); } public TrashcanApi getTrashcanApi() { return this.getApi(TrashcanApi.class); } public TrashcanApi getTrashcanApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, TrashcanApi.class); } public VersionsApi getVersionsApi() { return this.getApi(VersionsApi.class); } public VersionsApi getVersionsApi(AuthorizationFilter authFilter) { return this.getApi(authFilter, VersionsApi.class); } public V0Api getV0Api() { return this.getApi(V0Api.class); } public V0Api getV0Api(AuthorizationFilter authFilter) { return this.getApi(authFilter, V0Api.class); } }