Commit ac0622c1 authored by Brian Long's avatar Brian Long
Browse files

Merge branch 'develop-acs6' into stable-acs6

parents 9f4f0d1c 1211f8ad
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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>

+65 −5
Original line number Diff line number Diff line
@@ -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 &amp; 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 {
@@ -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;
@@ -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;
	}

}
+20 −1
Original line number Diff line number Diff line
@@ -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 &amp; 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
@@ -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;
+20 −1
Original line number Diff line number Diff line
@@ -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 &amp; 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
@@ -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;
+111 −2
Original line number Diff line number Diff line
@@ -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