From 04d26fb25193abc9bf8092cb28fae73ace857cd5 Mon Sep 17 00:00:00 2001 From: "Brian M. Long" Date: Wed, 13 Mar 2024 10:41:21 -0400 Subject: [PATCH] publish failures result in 200 code; fudging to 412 code --- .../inteligr8/maven/aps/modeling/goal/PublishAppGoal.java | 8 +++++++- .../inteligr8/maven/aps/modeling/goal/UploadAppGoal.java | 7 +++++-- 2 files changed, 12 insertions(+), 3 deletions(-) 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) {