[jbpm-commits] JBoss JBPM SVN: r6333 - in jbpm4/trunk/modules: pvm/src/main/java/org/jbpm/pvm/internal/cmd and 5 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed May 12 07:21:11 EDT 2010
Author: alex.guizar at jboss.com
Date: 2010-05-12 07:21:09 -0400 (Wed, 12 May 2010)
New Revision: 6333
Modified:
jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/UpdateDeploymentResourceCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/IoUtil.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/mail/AttachmentTest.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/DeploymentResourceTest.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionStartFormTest.java
Log:
JBPM-2703: close input streams
Modified: jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java
===================================================================
--- jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -75,6 +75,9 @@
catch (IOException e) {
throw new JbpmException("could not read resource: " + resource, e);
}
+ finally {
+ IoUtil.close(stream);
+ }
}
public static List<String> extractCommands(String fileContents) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/UpdateDeploymentResourceCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/UpdateDeploymentResourceCmd.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/UpdateDeploymentResourceCmd.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -51,6 +51,9 @@
catch (IOException e) {
throw new JbpmException("could not read resource: " + resourceName, e);
}
+ finally {
+ IoUtil.close(inputStream);
+ }
}
public Void execute(Environment environment) throws Exception {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/repository/DeploymentImpl.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -115,6 +115,9 @@
catch (IOException e) {
throw new JbpmException("couldn't read zip archive", e);
}
+ finally {
+ IoUtil.close(zipInputStream);
+ }
return this;
}
@@ -137,21 +140,22 @@
if (resources == null) {
resources = new HashMap<String, Lob>();
}
- byte[] bytes = null;
+ InputStream inputStream = streamInput.openStream();
try {
- InputStream inputStream = streamInput.openStream();
- bytes = IoUtil.readBytes(inputStream);
- inputStream.close();
+ byte[] bytes = IoUtil.readBytes(inputStream);
+
+ // Since this method is probably called outside an environment block, we
+ // need to generate the dbid of the Lob later (during the actual deployment).
+ Lob lob = new Lob(bytes, false);
+ resources.put(name, lob);
}
catch (IOException e) {
throw new JbpmException("couldn't read from " + name, e);
}
+ finally {
+ IoUtil.close(inputStream);
+ }
- // Since this method is probably called outside an environment block, we
- // need to generate the dbid of the Lob later (during the actual deployment).
- Lob lob = new Lob(bytes, false);
- resources.put(name, lob);
-
return this;
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/IoUtil.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/IoUtil.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/IoUtil.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -22,27 +22,37 @@
package org.jbpm.pvm.internal.util;
import java.io.ByteArrayOutputStream;
+import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import org.jbpm.internal.log.Log;
+
public class IoUtil {
public static final int BUFFERSIZE = 4096;
+ private static final Log log = Log.getLog(IoUtil.class.getName());
private IoUtil() {
// prevent instantiation
}
- public static byte[] readBytes(InputStream inputStream) throws IOException {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- try {
- transfer(inputStream, outputStream);
+ public static byte[] readBytes(InputStream in) throws IOException {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ transfer(in, out);
+ return out.toByteArray();
+ }
+
+ public static void close(Closeable closeable) {
+ if (closeable != null) {
+ try {
+ closeable.close();
+ }
+ catch (IOException e) {
+ if (log.isDebugEnabled()) log.debug("failed to close stream", e);
+ }
}
- finally {
- inputStream.close();
- }
- return outputStream.toByteArray();
}
public static long transfer(InputStream in, OutputStream out) throws IOException {
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/mail/AttachmentTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/mail/AttachmentTest.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/mail/AttachmentTest.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -77,14 +77,21 @@
+ " <end name='end'/>"
+ "</process>");
- byte[] strip = IoUtil.readBytes(getClass().getResourceAsStream("strip.gif"));
+ InputStream resourceStream = getClass().getResourceAsStream("strip.gif");
+ try {
+ byte[] strip = IoUtil.readBytes(resourceStream);
- // start process instance
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("varattachment", Collections.singletonMap("strip", strip));
- assertProcessInstanceEnded(processInstance);
+ // start process instance
+ ProcessInstance processInstance = executionService
+ .startProcessInstanceByKey("varattachment", Collections.singletonMap("strip", strip));
+ assertProcessInstanceEnded(processInstance);
- // examine produced messages
- examineMessages(wiser.getMessages());
+ // examine produced messages
+ examineMessages(wiser.getMessages());
+ }
+ finally {
+ IoUtil.close(resourceStream);
+ }
}
public void testFileAttachment() throws MessagingException, IOException, URISyntaxException {
@@ -110,7 +117,8 @@
+ "</process>");
// start process instance
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("fileattachment");
+ ProcessInstance processInstance = executionService
+ .startProcessInstanceByKey("fileattachment");
assertProcessInstanceEnded(processInstance);
// examine produced messages
@@ -140,7 +148,8 @@
+ "</process>");
// start process instance
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("urlattachment");
+ ProcessInstance processInstance = executionService
+ .startProcessInstanceByKey("urlattachment");
assertProcessInstanceEnded(processInstance);
// examine produced messages
@@ -166,7 +175,8 @@
+ "</process>");
// start process instance
- ProcessInstance processInstance = executionService.startProcessInstanceByKey("resattachment");
+ ProcessInstance processInstance = executionService
+ .startProcessInstanceByKey("resattachment");
assertProcessInstanceEnded(processInstance);
// examine produced messages
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/DeploymentResourceTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/DeploymentResourceTest.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/DeploymentResourceTest.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -24,7 +24,6 @@
*/
package org.jbpm.test.deploy;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipInputStream;
@@ -33,43 +32,32 @@
import org.jbpm.api.ProcessDefinition;
import org.jbpm.test.JbpmTestCase;
-
/**
- * Test case for the various ways of setting a process, image, etc as input
- * of a deployment.
+ * Test case for the various ways of setting a process, image, etc as input of a deployment.
*
* @author Joram Barrez
*/
public class DeploymentResourceTest extends JbpmTestCase {
-
- public void testZippedResourceDeployment() {
- InputStream inputStream = null;
+ public void testZippedResourceDeployment() throws IOException {
+ InputStream inputStream = getClass().getResourceAsStream("process.zip");
+ ZipInputStream zipInputStream = new ZipInputStream(inputStream);
try {
- inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jbpm/test/deploy/process.zip");
- ZipInputStream zipInputStream = new ZipInputStream(inputStream);
-
NewDeployment newDeployment = repositoryService.createDeployment();
newDeployment.addResourcesFromZipInputStream(zipInputStream);
String deployId = newDeployment.deploy();
-
- ProcessDefinition procDef = repositoryService.createProcessDefinitionQuery()
- .deploymentId(deployId)
- .uniqueResult();
+
+ ProcessDefinition procDef = repositoryService
+ .createProcessDefinitionQuery()
+ .deploymentId(deployId)
+ .uniqueResult();
assertNotNull(procDef);
assertEquals("ImageTest", procDef.getName());
repositoryService.deleteDeploymentCascade(deployId);
-
- } finally {
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- fail(e.getMessage());
- }
- }
}
-
+ finally {
+ zipInputStream.close();
+ }
}
-
+
}
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/deploy/ImageTest.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -49,16 +49,26 @@
String imageResourceName = processDefinition.getImageResourceName();
assertEquals("org/jbpm/test/deploy/ImageTest.png", imageResourceName);
- InputStream inputStream = repositoryService.getResourceAsStream(processDefinition
- .getDeploymentId(), imageResourceName);
- byte[] imageBytes = IoUtil.readBytes(inputStream);
+ InputStream imageStream = repositoryService
+ .getResourceAsStream(deploymentId, imageResourceName);
+ try {
+ byte[] imageBytes = IoUtil.readBytes(imageStream);
- inputStream = Thread
- .currentThread()
- .getContextClassLoader()
- .getResourceAsStream("org/jbpm/test/deploy/ImageTest.png");
- byte[] expectedImageBytes = IoUtil.readBytes(inputStream);
- assertTrue(Arrays.equals(expectedImageBytes, imageBytes));
+ InputStream expectedImageStream = Thread
+ .currentThread()
+ .getContextClassLoader()
+ .getResourceAsStream("org/jbpm/test/deploy/ImageTest.png");
+ try {
+ byte[] expectedImageBytes = IoUtil.readBytes(expectedImageStream);
+ assertTrue(Arrays.equals(expectedImageBytes, imageBytes));
+ }
+ finally {
+ IoUtil.close(expectedImageStream);
+ }
+ }
+ finally {
+ IoUtil.close(imageStream);
+ }
repositoryService.deleteDeploymentCascade(deploymentId);
}
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionStartFormTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionStartFormTest.java 2010-05-12 10:54:01 UTC (rev 6332)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/process/ProcessDefinitionStartFormTest.java 2010-05-12 11:21:09 UTC (rev 6333)
@@ -61,9 +61,14 @@
.getStartFormResourceName(processDefinitionId, null);
assertEquals("org/jbpm/test/process/ProcessDefinitionStartForm.form", startFormResourceName);
- InputStream formInputStream = repositoryService.getResourceAsStream(processDefinition
+ InputStream formStream = repositoryService.getResourceAsStream(processDefinition
.getDeploymentId(), startFormResourceName);
- assertEquals("start task form", new String(IoUtil.readBytes(formInputStream)));
+ try {
+ assertEquals("start task form", new String(IoUtil.readBytes(formStream)));
+ }
+ finally {
+ IoUtil.close(formStream);
+ }
}
public void testFormInNamedStartActivity() throws IOException {
@@ -92,9 +97,13 @@
.getStartFormResourceName(processDefinitionId, "start");
assertEquals("org/jbpm/test/process/ProcessDefinitionStartForm.form", startFormResourceName);
- InputStream formInputStream = repositoryService.getResourceAsStream(processDefinition
+ InputStream formStream = repositoryService.getResourceAsStream(processDefinition
.getDeploymentId(), startFormResourceName);
- String formContents = new String(IoUtil.readBytes(formInputStream));
- assertEquals("start task form", formContents);
+ try {
+ assertEquals("start task form", new String(IoUtil.readBytes(formStream)));
+ }
+ finally {
+ IoUtil.close(formStream);
+ }
}
}
More information about the jbpm-commits
mailing list