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

initial checkin

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+12 −0
Original line number Diff line number Diff line
# Maven
target
pom.xml.versionsBackup

# Eclipse
.project
.classpath
.settings
.vscode

# IDEA
/.idea/

asie-api/.gitignore

0 → 100644
+1 −0
Original line number Diff line number Diff line
/target/

asie-api/pom.xml

0 → 100644
+70 −0
Original line number Diff line number Diff line
<project xmlns="http://maven.apache.org/POM/4.0.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.inteligr8.alfresco</groupId>
	<artifactId>asie-api</artifactId>
	<version>1.0-SNAPSHOT-asie2</version>
	<packaging>jar</packaging>
	
	<name>ASIE JAX-RS API</name>
	<description>Alfresco Search &amp; Insight Engine JAX-RS API</description>

	<dependencies>
		<dependency>
			<groupId>com.inteligr8</groupId>
			<artifactId>solr-api</artifactId>
			<version>1.0-SNAPSHOT-solr6</version>
		</dependency>
		<dependency>
			<groupId>org.alfresco</groupId>
			<artifactId>alfresco-repository</artifactId>
			<version>14.153</version>
		</dependency>

		<!-- Including for testing purposes only -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>5.11.2</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
		<maven.compiler.release>11</maven.compiler.release>
	</properties>

	<build>
		<pluginManagement>
			<plugins>
				<!-- avoids log4j dependency -->
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.13.0</version>
				</plugin>
				<!-- avoids struts dependency -->
				<plugin>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.12.1</version>
				</plugin>
				<!-- Force use of a new maven-dependency-plugin that doesn't download struts dependency -->
				<plugin>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.7.1</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	
	<repositories>
		<repository>
			<id>alfresco-public</id>
			<url>https://artifacts.alfresco.com/nexus/repository/public/</url>
		</repository>
	</repositories>
</project>
+91 −0
Original line number Diff line number Diff line
package com.inteligr8.alfresco.asie.api;

import com.inteligr8.alfresco.asie.model.ActionResponse;
import com.inteligr8.alfresco.asie.model.EmptyResponse;
import com.inteligr8.alfresco.asie.model.core.CheckRequest;
import com.inteligr8.alfresco.asie.model.core.DisableIndexingRequest;
import com.inteligr8.alfresco.asie.model.core.EnableIndexingRequest;
import com.inteligr8.alfresco.asie.model.core.FixRequest;
import com.inteligr8.alfresco.asie.model.core.FixResponseAction;
import com.inteligr8.alfresco.asie.model.core.IndexingStatusAction;
import com.inteligr8.alfresco.asie.model.core.NewCoreRequest;
import com.inteligr8.alfresco.asie.model.core.NewDefaultIndexRequest;
import com.inteligr8.alfresco.asie.model.core.PurgeRequest;
import com.inteligr8.alfresco.asie.model.core.ReindexRequest;
import com.inteligr8.alfresco.asie.model.core.ReportRequest;
import com.inteligr8.alfresco.asie.model.core.ReportResponse;
import com.inteligr8.alfresco.asie.model.core.RetryRequest;
import com.inteligr8.alfresco.asie.model.core.RetryResponseAction;
import com.inteligr8.alfresco.asie.model.core.SummaryRequest;
import com.inteligr8.alfresco.asie.model.core.SummaryResponse;
import com.inteligr8.alfresco.asie.model.core.UpdateCoreRequest;
import com.inteligr8.alfresco.asie.model.core.UpdateLog4jRequest;
import com.inteligr8.alfresco.asie.model.core.UpdateSharedRequest;
import com.inteligr8.solr.model.ResponseAction;

import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

@Path("admin/cores")
public interface CoreAdminApi extends com.inteligr8.solr.api.CoreAdminApi {

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	EmptyResponse newCore(@BeanParam NewCoreRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	EmptyResponse newDefaultIndex(@BeanParam NewDefaultIndexRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<ResponseAction> updateCore(@BeanParam UpdateCoreRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<ResponseAction> check(@BeanParam CheckRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<ResponseAction> updateShared(@BeanParam UpdateSharedRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<ResponseAction> updateLog4j(@BeanParam UpdateLog4jRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<ResponseAction> purge(@BeanParam PurgeRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<ResponseAction> reindex(@BeanParam ReindexRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<RetryResponseAction> retry(@BeanParam RetryRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<FixResponseAction> fix(@BeanParam FixRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<IndexingStatusAction> enableIndexing(@BeanParam EnableIndexingRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ActionResponse<IndexingStatusAction> disableIndexing(@BeanParam DisableIndexingRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	ReportResponse getReport(@BeanParam ReportRequest request);

	@GET
	@Produces(MediaType.APPLICATION_JSON)
	SummaryResponse getSummary(@BeanParam SummaryRequest request);

}
+22 −0
Original line number Diff line number Diff line
package com.inteligr8.alfresco.asie.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
import com.inteligr8.solr.model.ResponseAction;

@JsonIgnoreProperties(ignoreUnknown = true)
public class ActionResponse<T extends ResponseAction> extends BaseResponse {
	
	@JsonProperty(access = Access.READ_ONLY)
	private T action;
	
	public T getAction() {
		return action;
	}
	
	protected void setAction(T action) {
		this.action = action;
	}

}
Loading