X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.osgi%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fosgi%2FOsgiRuntime.java;h=1cccf3934a1c058281e049ccac987f412e347188;hb=699640c58cc0578beebfc3edd00dac9eed65ee0b;hp=504f0cfa9e34446b8f9d40dad09890bf8337fd0c;hpb=5a7871454f57064cf5fb2be810dc1f26f744629e;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiRuntime.java b/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiRuntime.java index 504f0cfa9..1cccf3934 100644 --- a/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiRuntime.java +++ b/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiRuntime.java @@ -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 {