You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by rw...@apache.org on 2011/04/06 10:38:35 UTC
svn commit: r1089352 - in /geronimo/server/trunk:
framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/eba/
framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/
plugins/...
Author: rwonly
Date: Wed Apr 6 08:38:35 2011
New Revision: 1089352
URL: http://svn.apache.org/viewvc?rev=1089352&view=rev
Log:
GERONIMO-5861 changes based on Jarek's comments, thanks
Modified:
geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/eba/EBADeploymentManager.java
geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ExtendedDeploymentManager.java
geronimo/server/trunk/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/ApplicationGBean.java
Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/eba/EBADeploymentManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/eba/EBADeploymentManager.java?rev=1089352&r1=1089351&r2=1089352&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/eba/EBADeploymentManager.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/eba/EBADeploymentManager.java Wed Apr 6 08:38:35 2011
@@ -33,7 +33,7 @@ public interface EBADeploymentManager {
public String getEBAContentBundleSymbolicName(AbstractName applicationGBeanName, long bundleId) throws GBeanNotFoundException, NoSuchOperationException, Exception;
- public void updateEBAContent(AbstractName applicationGBeanName, long bundleId, File newfile) throws GBeanNotFoundException, NoSuchOperationException, Exception;
+ public void updateEBAContent(AbstractName applicationGBeanName, long bundleId, File bundleFile) throws GBeanNotFoundException, NoSuchOperationException, Exception;
public AbstractName getApplicationGBeanName(Artifact configurationId);
Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ExtendedDeploymentManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ExtendedDeploymentManager.java?rev=1089352&r1=1089351&r2=1089352&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ExtendedDeploymentManager.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ExtendedDeploymentManager.java Wed Apr 6 08:38:35 2011
@@ -301,8 +301,8 @@ public abstract class ExtendedDeployment
/**
* Only support local bundle update
*/
- public void updateEBAContent(AbstractName applicationGBeanName, long bundleId, File newfile) throws GBeanNotFoundException, NoSuchOperationException, Exception{
- kernel.invoke(applicationGBeanName, "updateApplicationContent", new Object[]{bundleId, newfile.toURI()}, new String[]{long.class.getName(), newfile.toURI().getClass().getName()});
+ public void updateEBAContent(AbstractName applicationGBeanName, long bundleId, File bundleFile) throws GBeanNotFoundException, NoSuchOperationException, Exception{
+ kernel.invoke(applicationGBeanName, "updateApplicationContent", new Object[]{bundleId, bundleFile}, new String[]{long.class.getName(), bundleFile.getClass().getName()});
}
public AbstractName getApplicationGBeanName(Artifact configurationId) {
Modified: geronimo/server/trunk/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/ApplicationGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/ApplicationGBean.java?rev=1089352&r1=1089351&r2=1089352&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/ApplicationGBean.java (original)
+++ geronimo/server/trunk/plugins/aries/geronimo-aries/src/main/java/org/apache/geronimo/aries/ApplicationGBean.java Wed Apr 6 08:38:35 2011
@@ -18,9 +18,7 @@ package org.apache.geronimo.aries;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.net.URI;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -43,8 +41,8 @@ import org.apache.geronimo.gbean.annotat
import org.apache.geronimo.gbean.annotation.ParamSpecial;
import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
import org.apache.geronimo.kernel.Kernel;
-import org.apache.xbean.osgi.bundle.util.BundleUtils;
import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.xbean.osgi.bundle.util.BundleUtils;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
@@ -135,7 +133,7 @@ public class ApplicationGBean implements
return null;
}
- public void updateApplicationContent(long bundleId, URI uri) throws FileNotFoundException, BundleException{
+ public void updateApplicationContent(long bundleId, File bundleFile) throws IOException, BundleException{
Bundle targetBundle = null;
for (Bundle content : applicationBundles){
if (content.getBundleId()==bundleId){
@@ -146,18 +144,23 @@ public class ApplicationGBean implements
if (targetBundle!=null){
BundleContext context = bundle.getBundleContext();
- ServiceReference reference = context.getServiceReference(PackageAdmin.class.getName());
- FileInputStream fi;
+ ServiceReference reference = null;
+ FileInputStream fi = null;
try {
- // create file object from local uri
- fi = new FileInputStream(new File(uri));
+ fi = new FileInputStream(bundleFile);
// update bundle
targetBundle.update(fi);
// refresh bundle
+ reference = context.getServiceReference(PackageAdmin.class.getName());
PackageAdmin packageAdmin = (PackageAdmin) context.getService(reference);
packageAdmin.refreshPackages(new Bundle[]{targetBundle});
} finally{
- context.ungetService(reference);
+ if (reference!=null){
+ context.ungetService(reference);
+ }
+ if (fi!=null){
+ fi.close();
+ }
}
} else {
throw new IllegalArgumentException("Could not find the bundle with id: " + bundleId + "in the Application content");