[jboss-osgi-commits] JBoss-OSGI SVN: r93652 - in projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins: metadata and 1 other directories.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Thu Sep 17 12:13:53 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-09-17 12:13:51 -0400 (Thu, 17 Sep 2009)
New Revision: 93652
Modified:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/AbstractBundleState.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/metadata/AbstractOSGiMetaData.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleCapability.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleRequirement.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleResolver.java
Log:
Cache symbolicname and version
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/AbstractBundleState.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/AbstractBundleState.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/AbstractBundleState.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -96,6 +96,12 @@
/** The services in use */
protected Map<OSGiServiceState, Integer> servicesInUse = new ConcurrentHashMap<OSGiServiceState, Integer>();
+
+ /** The cached symbolic name */
+ private String symbolicName;
+
+ /** The cached */
+ private Version version;
/**
* Create a new BundleState for the system bundle.
@@ -125,15 +131,21 @@
public String getSymbolicName()
{
- String symbolicName = osgiMetaData.getBundleSymbolicName();
if (symbolicName == null)
- throw new IllegalStateException("Cannot obtain " + Constants.BUNDLE_SYMBOLICNAME);
+ {
+ symbolicName = osgiMetaData.getBundleSymbolicName();
+ if (symbolicName == null)
+ throw new IllegalStateException("Cannot obtain " + Constants.BUNDLE_SYMBOLICNAME);
+ }
return symbolicName;
}
public Version getVersion()
{
- return osgiMetaData.getBundleVersion();
+ if (version == null)
+ version = osgiMetaData.getBundleVersion();
+
+ return version;
}
public int getState()
@@ -210,6 +222,15 @@
}
/**
+ * Destroy this bundle state
+ */
+ void destroy()
+ {
+ lastModified = System.currentTimeMillis();
+ osgiMetaData = null;
+ }
+
+ /**
* Get the osgiMetaData.
*
* @return the osgiMetaData.
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -439,26 +439,15 @@
if (id == 0)
throw new IllegalArgumentException("Cannot uninstall system bundle");
- OSGiBundleState state = (OSGiBundleState)getBundleById(id);
- if (state == null)
+ OSGiBundleState bundleState = (OSGiBundleState)getBundleById(id);
+ if (bundleState == null)
throw new BundleException(bundle + " not installed");
- uninstall(state);
- }
-
- /**
- * Uninstall a bundle
- *
- * @param bundleState the bundle state
- * @throws BundleException for any error
- */
- public void uninstall(OSGiBundleState bundleState) throws BundleException
- {
DeploymentUnit unit = bundleState.getDeploymentUnit();
try
{
deployerClient.undeploy(unit.getName());
- bundleState.modified();
+ bundleState.destroy();
}
catch (DeploymentException e)
{
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -386,4 +386,11 @@
if (rethrow != null)
throw rethrow;
}
+
+ @Override
+ void destroy()
+ {
+ super.destroy();
+ unit = null;
+ }
}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/metadata/AbstractOSGiMetaData.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/metadata/AbstractOSGiMetaData.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/metadata/AbstractOSGiMetaData.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -196,7 +196,7 @@
public Version getBundleVersion()
{
- return get(BUNDLE_VERSION, VERSION_VC , new Version("0.0.0"));
+ return get(BUNDLE_VERSION, VERSION_VC , Version.emptyVersion);
}
public List<PackageAttribute> getDynamicImports()
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleCapability.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleCapability.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleCapability.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -87,4 +87,11 @@
OSGiPackageRequirement osgiPackageRequirement = (OSGiPackageRequirement)bundleRequirement.getPackageRequirement();
return osgiPackageCapability.match(osgiPackageRequirement);
}
+
+ @Override
+ public String toString()
+ {
+ String name = packageCapability.getName();
+ return "BundleCapability[" + name + "," + bundle + "]";
+ }
}
\ No newline at end of file
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleRequirement.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleRequirement.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleRequirement.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -63,4 +63,11 @@
{
return packageRequirement;
}
+
+ @Override
+ public String toString()
+ {
+ String name = packageRequirement.getName();
+ return "BundleRequirement[" + name + "," + bundle + "]";
+ }
}
\ No newline at end of file
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleResolver.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleResolver.java 2009-09-17 15:04:01 UTC (rev 93651)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/resolver/BundleResolver.java 2009-09-17 16:13:51 UTC (rev 93652)
@@ -139,6 +139,8 @@
public void removeBundle(Bundle bundle)
{
+ System.out.println("removeBundle: " + bundle);
+
OSGiBundleState bundleState = assertBundleState(bundle);
Iterator<BundleCapability> it = allCapabilities.iterator();
while (it.hasNext())
@@ -149,6 +151,10 @@
}
bundleCapabilitiesMap.remove(bundleState);
bundleRequirementsMap.remove(bundleState);
+
+ System.out.println("allCapabilities: " + allCapabilities.size());
+ System.out.println("bundleCapabilitiesMap: " + bundleCapabilitiesMap.size());
+ System.out.println("bundleRequirementsMap: " + bundleRequirementsMap.size());
}
public BundleCapability getMatchingCapability(Module module, PackageRequirement packageRequirement)
More information about the jboss-osgi-commits
mailing list