publish failures result in 200 code; fudging to 412 code

This commit is contained in:
Brian Long 2024-03-13 10:41:21 -04:00
parent 9b4287b811
commit 04d26fb251
2 changed files with 12 additions and 3 deletions

View File

@ -16,6 +16,9 @@ package com.inteligr8.maven.aps.modeling.goal;
import java.io.IOException;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo;
@ -24,6 +27,7 @@ import org.codehaus.plexus.component.annotations.Component;
import com.inteligr8.alfresco.activiti.ApsPublicRestApiJerseyImpl;
import com.inteligr8.alfresco.activiti.model.AppDefinitionPublishRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
/**
* A class that implements an APS Service publish goal.
@ -63,7 +67,9 @@ public class PublishAppGoal extends ApsAppAddressibleGoal {
this.getLog().info("[DRYRUN]: Publishing app: " + appId);
} else {
this.getLog().info("Publishing app: " + appId);
api.getAppDefinitionsApi().publish(appId, appDefPublish);
AppDefinitionUpdateResultRepresentation response = api.getAppDefinitionsApi().publish(appId, appDefPublish);
if (Boolean.TRUE.equals(response.getError()))
throw new WebApplicationException(response.getErrorDescription(), Response.Status.PRECONDITION_FAILED);
}
}

View File

@ -20,6 +20,9 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.text.ParseException;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo;
@ -103,7 +106,7 @@ public class UploadAppGoal extends ApsAppAddressibleGoal {
this.getLog().info("Uploading & publishing new APS App: " + this.apsAppName);
AppDefinitionUpdateResultRepresentation appDefUpdate = api.getAppDefinitionsJerseyApi().publishApp(multipart);
if (Boolean.TRUE.equals(appDefUpdate.getError()))
throw new MojoFailureException(appDefUpdate.getErrorDescription());
throw new WebApplicationException(appDefUpdate.getErrorDescription(), Response.Status.PRECONDITION_FAILED);
}
} else {
if (this.dryRun) {
@ -121,7 +124,7 @@ public class UploadAppGoal extends ApsAppAddressibleGoal {
this.getLog().info("Uploading, versioning, & publishing APS App: " + this.apsAppName + " (" + appModel.getId() + ")");
AppDefinitionUpdateResultRepresentation appDefUpdate = api.getAppDefinitionsJerseyApi().publishApp(appModel.getId(), multipart);
if (Boolean.TRUE.equals(appDefUpdate.getError()))
throw new MojoFailureException(appDefUpdate.getErrorDescription());
throw new WebApplicationException(appDefUpdate.getErrorDescription(), Response.Status.PRECONDITION_FAILED);
}
} else {
if (this.dryRun) {