diff --git a/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java b/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java index d16729a..0e929b6 100644 --- a/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java +++ b/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java @@ -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); } } diff --git a/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java b/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java index c43cce5..8847b80 100644 --- a/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java +++ b/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java @@ -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) {