Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
06c8bf5f2f | |||
0365425e4f | |||
14c91eb237 |
@@ -1,51 +1,51 @@
|
||||
|
||||
package com.inteligr8.alfresco.activiti.api;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
|
||||
|
||||
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
|
||||
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
|
||||
import com.inteligr8.alfresco.activiti.model.FileMultipartCxf;
|
||||
|
||||
@Path("/api/enterprise/app-definitions")
|
||||
public interface AppDefinitionsCxfApi {
|
||||
|
||||
@POST
|
||||
@Path("import")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionRepresentation import_(
|
||||
List<Attachment> attachments);
|
||||
FileMultipartCxf body,
|
||||
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
|
||||
|
||||
@POST
|
||||
@Path("{modelId}/import")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionRepresentation import_(
|
||||
@PathParam("modelId") Long appId,
|
||||
List<Attachment> attachments);
|
||||
FileMultipartCxf body,
|
||||
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
|
||||
|
||||
@POST
|
||||
@Path("publish-app")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionUpdateResultRepresentation publishApp(
|
||||
List<Attachment> attachments);
|
||||
FileMultipartCxf body);
|
||||
|
||||
@POST
|
||||
@Path("{modelId}/publish-app")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionUpdateResultRepresentation publishApp(
|
||||
@PathParam("modelId") Long appId,
|
||||
List<Attachment> attachments);
|
||||
FileMultipartCxf body);
|
||||
|
||||
}
|
||||
|
@@ -1,56 +1,51 @@
|
||||
|
||||
package com.inteligr8.alfresco.activiti.api;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
|
||||
import org.glassfish.jersey.media.multipart.FormDataParam;
|
||||
|
||||
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
|
||||
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
|
||||
import com.inteligr8.alfresco.activiti.model.FileMultipartJersey;
|
||||
|
||||
@Path("/api/enterprise/app-definitions")
|
||||
public interface AppDefinitionsJerseyApi {
|
||||
|
||||
@POST
|
||||
@Path("import")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionRepresentation import_(
|
||||
@FormDataParam("file") InputStream filedataStream,
|
||||
@FormDataParam("file") FormDataContentDisposition filedataDisposition);
|
||||
AppDefinitionRepresentation importApp(
|
||||
FileMultipartJersey file,
|
||||
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
|
||||
|
||||
@POST
|
||||
@Path("{modelId}/import")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionRepresentation import_(
|
||||
AppDefinitionRepresentation importApp(
|
||||
@PathParam("modelId") Long appId,
|
||||
@FormDataParam("file") InputStream filedataStream,
|
||||
@FormDataParam("file") FormDataContentDisposition filedataDisposition);
|
||||
FileMultipartJersey file,
|
||||
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
|
||||
|
||||
@POST
|
||||
@Path("publish-app")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionUpdateResultRepresentation publishApp(
|
||||
@FormDataParam("file") InputStream filedataStream,
|
||||
@FormDataParam("file") FormDataContentDisposition filedataDisposition);
|
||||
FileMultipartJersey file);
|
||||
|
||||
@POST
|
||||
@Path("{modelId}/publish-app")
|
||||
@Consumes({ MediaType.APPLICATION_JSON, "application/zip", MediaType.MULTIPART_FORM_DATA })
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
AppDefinitionUpdateResultRepresentation publishApp(
|
||||
@PathParam("modelId") Long appId,
|
||||
@FormDataParam("file") InputStream filedataStream,
|
||||
@FormDataParam("file") FormDataContentDisposition filedataDisposition);
|
||||
FileMultipartJersey file);
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,38 @@
|
||||
package com.inteligr8.alfresco.activiti.model;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
|
||||
import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
|
||||
import org.apache.cxf.jaxrs.ext.multipart.MultipartBody;
|
||||
|
||||
public class FileMultipartCxf extends MultipartBody {
|
||||
|
||||
public static FileMultipartCxf from(String filename, InputStream istream) throws IOException {
|
||||
return new FileMultipartCxf(Arrays.asList(toAttachment(filename, istream)));
|
||||
}
|
||||
|
||||
public FileMultipartCxf(List<Attachment> atts) throws IOException {
|
||||
super(atts);
|
||||
}
|
||||
|
||||
public FileMultipartCxf(List<Attachment> atts, boolean outbound) {
|
||||
super(atts, outbound);
|
||||
}
|
||||
|
||||
public Attachment getFileAttachment() {
|
||||
return this.getAttachment("file");
|
||||
}
|
||||
|
||||
private static Attachment toAttachment(String filename, InputStream istream) {
|
||||
if (filename == null) {
|
||||
return new Attachment("file", istream, new ContentDisposition("form-data; name=\"file\""));
|
||||
} else {
|
||||
return new Attachment("file", istream, new ContentDisposition("form-data; name=\"file\"; filename=\"" + filename + "\""));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
package com.inteligr8.alfresco.activiti.model;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.text.ParseException;
|
||||
|
||||
import org.glassfish.jersey.media.multipart.BodyPart;
|
||||
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
|
||||
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
|
||||
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
|
||||
|
||||
public class FileMultipartJersey extends FormDataMultiPart {
|
||||
|
||||
public static FileMultipartJersey from(String filename, InputStream istream) throws ParseException {
|
||||
FileMultipartJersey multipart = new FileMultipartJersey();
|
||||
multipart.bodyPart(toBodyPart(filename, istream));
|
||||
return multipart;
|
||||
}
|
||||
|
||||
private FileMultipartJersey() {
|
||||
}
|
||||
|
||||
public FormDataBodyPart getFileAttachment() {
|
||||
return this.getField("file");
|
||||
}
|
||||
|
||||
private static BodyPart toBodyPart(String filename, InputStream istream) throws ParseException {
|
||||
if (filename == null) {
|
||||
return new FormDataBodyPart()
|
||||
.contentDisposition(new FormDataContentDisposition("form-data; name=\"file\""))
|
||||
.entity(istream);
|
||||
} else {
|
||||
return new FormDataBodyPart()
|
||||
.contentDisposition(new FormDataContentDisposition("form-data; name=\"file\"; filename=\"" + filename + "\""))
|
||||
.entity(istream);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user