From f93e201329c0e602991510fd49ed6956460a6375 Mon Sep 17 00:00:00 2001 From: Brian Long Date: Mon, 3 Oct 2022 09:57:08 -0400 Subject: [PATCH] added docs; maven central prep; removed CXF/Jersey --- pom.xml | 163 ++++++++++-------- .../alfresco/activiti/ApsPublicRestApi.java | 14 ++ .../activiti/ApsPublicRestCxfApi.java | 18 -- .../activiti/ApsPublicRestJerseyApi.java | 18 -- .../alfresco/activiti/api/AdminApi.java | 15 +- .../activiti/api/AppDefinitionsApi.java | 15 +- .../activiti/api/AppDefinitionsCxfApi.java | 51 ------ .../activiti/api/AppDefinitionsJerseyApi.java | 51 ------ .../alfresco/activiti/api/AppVersionApi.java | 15 +- .../alfresco/activiti/api/GroupsApi.java | 15 +- .../alfresco/activiti/api/ModelsApi.java | 15 +- .../activiti/api/ProcessInstancesApi.java | 15 +- .../alfresco/activiti/api/ProfileApi.java | 15 +- .../alfresco/activiti/api/ShareApi.java | 15 +- .../alfresco/activiti/api/TasksApi.java | 15 +- .../activiti/model/FileMultipartCxf.java | 38 ---- .../activiti/model/FileMultipartJersey.java | 38 ---- 17 files changed, 231 insertions(+), 295 deletions(-) delete mode 100644 src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestCxfApi.java delete mode 100644 src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestJerseyApi.java delete mode 100644 src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsCxfApi.java delete mode 100644 src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsJerseyApi.java delete mode 100644 src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartCxf.java delete mode 100644 src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartJersey.java diff --git a/pom.xml b/pom.xml index 3fafeef..158b185 100644 --- a/pom.xml +++ b/pom.xml @@ -2,21 +2,45 @@ 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"> 4.0.0 + com.inteligr8.alfresco aps-public-rest-api 2.0-SNAPSHOT + Alfresco Process Services ReST API for Java + An APS API library for building REST API clients that support both the CXF and Jersey frameworks + https://bitbucket.org/inteligr8/aps-public-rest-api + + + + GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007 + https://www.gnu.org/licenses/lgpl-3.0.txt + + + + + scm:git:https://bitbucket.org/inteligr8/aps-public-rest-api.git + scm:git:git@bitbucket.org:inteligr8/aps-public-rest-api.git + https://bitbucket.org/inteligr8/aps-public-rest-api + + + Inteligr8 + https://www.inteligr8.com + + + + brian.long + Brian Long + brian@inteligr8.com + https://twitter.com/brianmlong + + utf-8 8 8 lines,vars,source - - aps1 - - 2.35 - 3.4.7 @@ -30,44 +54,7 @@ jackson-module-jaxb-annotations 2.12.2 - - org.apache.cxf - cxf-rt-frontend-jaxrs - ${cxf.version} - true - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey.version} - true - - - - - - maven-jar-plugin - - ${aps.app.tag} - - - - maven-javadoc-plugin - 3.3.2 - - - javadoc - package - jar - - public - - - - - - @@ -199,42 +186,74 @@ + + ossrh-release + + true + + + + + maven-source-plugin + + + source + package + jar-no-fork + + + + + maven-javadoc-plugin + 3.3.2 + + + javadoc + package + jar + + public + -Xdoclint:none + + + + + + maven-gpg-plugin + + + sign + verify + sign + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + + ossrh + https://s01.oss.sonatype.org/ + true + + + + ossrh-deploy + deploy + deploy + + + + + + - - - inteligr8-releases - https://repos.inteligr8.com/nexus/repository/inteligr8-public - true - false - - - inteligr8-snapshots - https://repos.inteligr8.com/nexus/repository/inteligr8-snapshots - false - true - - - mulesoft-releases https://repository.mulesoft.org/releases - - inteligr8-public - https://repos.inteligr8.com/nexus/repository/inteligr8-public - - - - - inteligr8-releases - https://repos.inteligr8.com/nexus/repository/inteligr8-public - - - inteligr8-snapshots - https://repos.inteligr8.com/nexus/repository/inteligr8-snapshots - - diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java index 60e5b27..acc30d0 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java @@ -1,3 +1,17 @@ +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti; import com.inteligr8.alfresco.activiti.api.AdminApi; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestCxfApi.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestCxfApi.java deleted file mode 100644 index 0dea71d..0000000 --- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestCxfApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.inteligr8.alfresco.activiti; - -import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi; - -/** - * This interface appends Apache CXF implementation specific methods to the - * JAX-RS API of the APS Public ReST API. This is due to a lack of multi-part - * in the JAX-RS specification. - * - * @author brian@inteligr8.com - */ -public interface ApsPublicRestCxfApi extends ApsPublicRestApi { - - default AppDefinitionsCxfApi getAppDefinitionsCxfApi() { - return this.getApi(AppDefinitionsCxfApi.class); - } - -} diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestJerseyApi.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestJerseyApi.java deleted file mode 100644 index eb922ee..0000000 --- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestJerseyApi.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.inteligr8.alfresco.activiti; - -import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi; - -/** - * This interface appends Jersey implementation specific methods to the JAX-RS - * API of the APS Public ReST API. This is due to a lack of multi-part in the - * JAX-RS specification. - * - * @author brian@inteligr8.com - */ -public interface ApsPublicRestJerseyApi extends ApsPublicRestApi { - - default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() { - return this.getApi(AppDefinitionsJerseyApi.class); - } - -} diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java index 120f58e..0b38b3d 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import java.util.List; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsApi.java index ca2166c..7c5eceb 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import java.io.File; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsCxfApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsCxfApi.java deleted file mode 100644 index 0d20916..0000000 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsCxfApi.java +++ /dev/null @@ -1,51 +0,0 @@ - -package com.inteligr8.alfresco.activiti.api; - -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 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.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionRepresentation import_( - FileMultipartCxf body, - @QueryParam("renewIdmEntries") Boolean renewIdmEntries); - - @POST - @Path("{modelId}/import") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionRepresentation import_( - @PathParam("modelId") Long appId, - FileMultipartCxf body, - @QueryParam("renewIdmEntries") Boolean renewIdmEntries); - - @POST - @Path("publish-app") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionUpdateResultRepresentation publishApp( - FileMultipartCxf body); - - @POST - @Path("{modelId}/publish-app") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionUpdateResultRepresentation publishApp( - @PathParam("modelId") Long appId, - FileMultipartCxf body); - -} diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsJerseyApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsJerseyApi.java deleted file mode 100644 index 866ce7d..0000000 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/AppDefinitionsJerseyApi.java +++ /dev/null @@ -1,51 +0,0 @@ - -package com.inteligr8.alfresco.activiti.api; - -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 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.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionRepresentation importApp( - FileMultipartJersey file, - @QueryParam("renewIdmEntries") Boolean renewIdmEntries); - - @POST - @Path("{modelId}/import") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionRepresentation importApp( - @PathParam("modelId") Long appId, - FileMultipartJersey file, - @QueryParam("renewIdmEntries") Boolean renewIdmEntries); - - @POST - @Path("publish-app") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionUpdateResultRepresentation publishApp( - FileMultipartJersey file); - - @POST - @Path("{modelId}/publish-app") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - @Produces({ MediaType.APPLICATION_JSON }) - AppDefinitionUpdateResultRepresentation publishApp( - @PathParam("modelId") Long appId, - FileMultipartJersey file); - -} diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/AppVersionApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/AppVersionApi.java index 50556fb..89b6fec 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/AppVersionApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/AppVersionApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import javax.ws.rs.GET; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java index 2f0a5a9..41cffe7 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import javax.ws.rs.GET; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ModelsApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ModelsApi.java index e5d09c9..1819cb6 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/ModelsApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ModelsApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import javax.ws.rs.GET; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java index 49678d9..8708579 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import java.util.List; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ProfileApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ProfileApi.java index fca46e9..37da91a 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/ProfileApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ProfileApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import javax.ws.rs.GET; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java index e30d436..21ed9b0 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import javax.ws.rs.Consumes; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java index 33a373d..86f8844 100644 --- a/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java +++ b/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java @@ -1,4 +1,17 @@ - +/* + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ package com.inteligr8.alfresco.activiti.api; import java.util.List; diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartCxf.java b/src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartCxf.java deleted file mode 100644 index ce84a6d..0000000 --- a/src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartCxf.java +++ /dev/null @@ -1,38 +0,0 @@ -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 atts) throws IOException { - super(atts); - } - - public FileMultipartCxf(List 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 + "\"")); - } - } - -} diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartJersey.java b/src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartJersey.java deleted file mode 100644 index 99160c5..0000000 --- a/src/main/java/com/inteligr8/alfresco/activiti/model/FileMultipartJersey.java +++ /dev/null @@ -1,38 +0,0 @@ -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); - } - } - -}