]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiRuntime.java
Introduce module meta data
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.osgi / src / main / java / org / argeo / slc / osgi / OsgiRuntime.java
index 504f0cfa9e34446b8f9d40dad09890bf8337fd0c..1cccf3934a1c058281e049ccac987f412e347188 100644 (file)
@@ -1,14 +1,29 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.argeo.slc.osgi;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
+import org.argeo.slc.NameVersion;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.StreamReadable;
 import org.argeo.slc.UnsupportedException;
 import org.argeo.slc.build.Distribution;
-import org.argeo.slc.build.NameVersion;
 import org.argeo.slc.core.build.VersionedResourceDistribution;
 import org.argeo.slc.deploy.DeploymentData;
 import org.argeo.slc.deploy.DynamicRuntime;
@@ -61,6 +76,15 @@ public class OsgiRuntime implements BundleContextAware, ResourceLoaderAware,
                return new OsgiBundle(bundle);
        }
 
+       public void updateModule(NameVersion nameVersion) {
+               Bundle bundle = findBundle(nameVersion);
+               try {
+                       bundle.update();
+               } catch (BundleException e) {
+                       throw new SlcException("Cannot update " + bundle, e);
+               }
+       }
+
        public void uninstallModule(NameVersion nameVersion) {
                Bundle bundle = findBundle(nameVersion);
                try {