Added: felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/mobile/UserPromptCondition.java URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/mobile/UserPromptCondition.java?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/mobile/UserPromptCondition.java (added) +++ felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/mobile/UserPromptCondition.java Sat Aug 2 02:56:01 2008 @@ -0,0 +1,256 @@ +/* + * $Header: /cvshome/build/org.osgi.util.mobile/src/org/osgi/util/mobile/UserPromptCondition.java,v 1.26 2006/07/10 08:18:30 pnagy Exp $ + * + * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved. + * + * 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.osgi.util.mobile; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Dictionary; + +import org.osgi.framework.Bundle; +import org.osgi.service.condpermadmin.Condition; +import org.osgi.service.condpermadmin.ConditionInfo; + +/** + * Class representing a user prompt condition. Instances of this class hold two + * values: a prompt string that is to be displayed to the user and the + * permission level string according to MIDP2.0 (oneshot, session, blanket). + * + */ +public class UserPromptCondition implements Condition { + + /* + * NOTE: An implementor may also choose to replace this class in + * their distribution with a class that directly interfaces with the + * policy implementation. This replacement class MUST NOT alter the + * public/protected signature of this class. + */ + // this will need to be set by the implementation class + static Method factory = null; + Condition realUserPromptCondition; + + private final Bundle bundle; + private final String levels; + private final String defaultLevel; + private final String catalogName; + private final String message; + + /** + * Returns a UserPromptCondition object with the given prompt string and permission + * level. The user should be given choice as to what level of permission is + * given. Thus, the lifetime of the permission is controlled by the user. + * + * @param bundle the bundle to ask about. + * @param conditionInfo the conditionInfo containing the construction information. Its + * [EMAIL PROTECTED] ConditionInfo#getArgs()} method should return a String array with 4 + * strings in it: + * <ol start="0"> + * <li>the possible permission levels. This is a comma-separated list that can contain + * following strings: ONESHOT SESSION BLANKET. The order is not important. This + * parameter is case-insensitive. + * </li> + * <li>the default permission level, one chosen from the possible permission levels. If + * it is an empty string, then there is no default. This parameter + * is case-insensitive.</li> + * <li>the message catalog base name. It will be loaded by a [EMAIL PROTECTED] java.util.ResourceBundle}, + * or equivalent + * from an exporting OSGi Bundle. Thus, if the catalogName is "com.provider.messages.userprompt", + * then there should be an OSGi Bundle exporting the "com.provider.messages" package, and inside + * it files like "userprompt_en_US.properties".</li> + * <li>textual description of the condition, to be displayed to the user. If + * it starts with a '%' sign, then the message is looked up from the catalog specified previously. + * The key is the rest of the string after the '%' sign.</li> + * </ol> + * @return The requested UserPromptCondition. + * @throws IllegalArgumentException if the parameters are malformed. + * @throws NullPointerException if one of the parameters is <code>null</code>. + */ + public static Condition getCondition(Bundle bundle,ConditionInfo conditionInfo) + { + String[] args = conditionInfo.getArgs(); + if (args==null) throw new NullPointerException("args"); + if (args.length!=4) throw new IllegalArgumentException("args.length=="+args.length+" (should be 4)"); + if (bundle==null) throw new NullPointerException("bundle"); + String levels = args[0]; + String defaultLevel = args[1]; + String catalogName = args[2]; + String message = args[3]; + if (levels==null) throw new NullPointerException("levels"); + if (defaultLevel==null) throw new NullPointerException("defaultLevel"); + if (catalogName==null) throw new NullPointerException("catalogName"); + if (message==null) throw new NullPointerException("message"); + + if (factory==null) { + // the bundle implementing the UserPromptCondition has not started yet. + // Do wrapping magick. + return new UserPromptCondition(bundle,levels,defaultLevel,catalogName,message); + } else { + // there is already a factory, no need to do any wrapping magic + try { + return (Condition) factory.invoke(null,new Object[]{bundle,levels,defaultLevel,catalogName,message}); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + Throwable original = e.getTargetException(); + if (original instanceof NullPointerException) throw (NullPointerException) original; + if (original instanceof IllegalArgumentException) throw (IllegalArgumentException) original; + e.printStackTrace(); + } + // the factory method is not working, fallback behavior: + factory = null; + return new UserPromptCondition(bundle,levels,defaultLevel,catalogName,message); + } + } + + /** + * Instances of the UserPromptCondition are simply store the construction parameters + * until a "real" UserPromptCondition is registered in setFactory(). At that point, it + * will delegate all calls there. + * @param unused this parameter is here so that ConditionalPermissionAdmin would not + * use this as the constructor instead of the getInstance + * @param bundle + * @param levels + * @param defaultLevel + * @param catalogName + * @param message + */ + private UserPromptCondition(Bundle bundle,String levels,String defaultLevel,String catalogName,String message) { + this.bundle=bundle; + this.levels=levels; + this.defaultLevel=defaultLevel; + this.catalogName=catalogName; + this.message=message; + } + + /** + * Check if a factory is registered, and if yes, create userprompt to delegate calls to. + */ + private void lookForImplementation() { + if ((realUserPromptCondition==null)&&(factory!=null)) { + try { + realUserPromptCondition = (Condition) factory.invoke(null,new Object[]{bundle,levels,defaultLevel,catalogName,message}); + return; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + // only if the factory call fails with some invocation exception + factory = null; + } + } + + /** + * Checks if the [EMAIL PROTECTED] #isSatisfied()} method needs to prompt the user, thus cannot + * give results instantly. + * This depends on the permission level given in + * [EMAIL PROTECTED] UserPromptCondition#getCondition(Bundle, ConditionInfo)}. + * <ul> + * <li>ONESHOT - isPostponed always returns true. The user is prompted for question every time.</li> + * <li>SESSION - isPostponed returns true until the user decides either yes or no for the current session.</li> + * <li>BLANKET - isPostponed returns true until the user decides either always or never.</li> + * </ul> + * Regardless of the session level, the user is always given the option to reject the prompt + * permanently, as if BLANKET/never was chosen. In this case, the question is not postponed + * anymore, and [EMAIL PROTECTED] #isSatisfied()} returns false.<br/> + * If the system supports an separately accessible permission management GUI, + * that may reset the condition + * to its initial state. + * + * @return True, if user interaction is needed. + */ + public boolean isPostponed() { + lookForImplementation(); + if (realUserPromptCondition!=null) { + return realUserPromptCondition.isPostponed(); + } else { + return true; + } + } + + /** + * Checks whether the condition may change during the lifetime of the UserPromptCondition object. + * This depends on the permission level given in + * [EMAIL PROTECTED] UserPromptCondition#getCondition(Bundle, ConditionInfo)}. + * <ul> + * <li>ONESHOT - true</li> + * <li>SESSION - true, if the application model's session lifetime is + * shorter than the UserPromptCondition object lifetime</li> + * <li>BLANKET - false</li> + * </ul> + * If the system supports separately accessible permission management GUI, + * then this function may also return true for SESSION and BLANKET. + * + * @return True, if the condition can change. + */ + public boolean isMutable() { + lookForImplementation(); + if (realUserPromptCondition!=null) { + return realUserPromptCondition.isMutable(); + } else { + // since we don't know what the actual status is, we cannot say + // "the condition cannot change anymore" + return true; + } + } + + /** + * Displays the prompt string to + * the user and returns true if the user accepts. Depending on the + * amount of levels the condition is assigned to, the prompt may have + * multiple accept buttons and one of them can be selected by default (see + * default level parameter at [EMAIL PROTECTED] UserPromptCondition#getCondition(Bundle, ConditionInfo)}). + * It must always be possible for the user + * to stop further prompting of this question, even with ONESHOT and SESSION levels. + * In case of BLANKET + * and SESSION levels, it is possible that the user has already answered the question, + * in this case there will be no prompting, but immediate return with the previous answer. + * + * @return True if the user accepts the prompt (or accepts any prompt in + * case there are multiple permission levels). + */ + public boolean isSatisfied() { + lookForImplementation(); + if (realUserPromptCondition!=null) { + return realUserPromptCondition.isSatisfied(); + } else { + // paranoid security option + return false; + } + } + + /** + * Checks an array of UserPrompt conditions. + * + * @param conds The array containing the UserPrompt conditions to evaluate. + * @param context Storage area for evaluation. The [EMAIL PROTECTED] org.osgi.service.condpermadmin.ConditionalPermissionAdmin} + * may evaluate a condition several times for one permission check, so this context + * will be used to store results of ONESHOT questions. This way asking the same question + * twice in a row can be avoided. If context is null, temporary results will not be stored. + * @return True, if all conditions are satisfied. + * @throws NullPointerException if conds is null. + */ + public boolean isSatisfied(Condition[] conds, Dictionary context) { + lookForImplementation(); + if (realUserPromptCondition!=null) { + return realUserPromptCondition.isSatisfied(conds,context); + } else { + // paranoid security option + return false; + } + } +}
Modified: felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java?rev=681945&r1=681944&r2=681945&view=diff ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java (original) +++ felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java Sat Aug 2 02:56:01 2008 @@ -1,7 +1,7 @@ /* - * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTracker.java,v 1.21 2006/07/12 21:05:17 hargrave Exp $ + * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTracker.java,v 1.29 2007/02/19 19:04:33 hargrave Exp $ * - * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved. + * Copyright (c) OSGi Alliance (2000, 2007). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,14 +40,21 @@ * references to the services being tracked. The <code>getService</code> and * <code>getServices</code> methods can be called to get the service objects * for the tracked service. + * <p> + * The <code>ServiceTracker</code> class is thread-safe. It does not call a + * <code>ServiceTrackerCustomizer</code> object while holding any locks. + * <code>ServiceTrackerCustomizer</code> implementations must also be + * thread-safe. * - * @version $Revision: 1.21 $ + * @ThreadSafe + * @version $Revision: 1.29 $ */ public class ServiceTracker implements ServiceTrackerCustomizer { /* set this to true to compile in debug messages */ static final boolean DEBUG = false; /** - * Bundle context against which this <code>ServiceTracker</code> object is tracking. + * Bundle context against which this <code>ServiceTracker</code> object is + * tracking. */ protected final BundleContext context; /** @@ -80,7 +87,7 @@ * Tracked services: <code>ServiceReference</code> object -> customized * Object and <code>ServiceListener</code> object */ - private Tracked tracked; + private volatile Tracked tracked; /** * Modification count. This field is initialized to zero by open, set to -1 * by close and incremented by modified. @@ -700,16 +707,17 @@ * * The tracking count is initialized to 0 when this * <code>ServiceTracker</code> object is opened. Every time a service is - * added or removed from this <code>ServiceTracker</code> object the - * tracking count is incremented. + * added, modified or removed from this <code>ServiceTracker</code> object + * the tracking count is incremented. * * <p> * The tracking count can be used to determine if this - * <code>ServiceTracker</code> object has added or removed a service by - * comparing a tracking count value previously collected with the current - * tracking count value. If the value has not changed, then no service has - * been added or removed from this <code>ServiceTracker</code> object - * since the previous tracking count was collected. + * <code>ServiceTracker</code> object has added, modified or removed a + * service by comparing a tracking count value previously collected with the + * current tracking count value. If the value has not changed, then no + * service has been added, modified or removed from this + * <code>ServiceTracker</code> object since the previous tracking count + * was collected. * * @since 1.2 * @return The tracking count for this <code>ServiceTracker</code> object @@ -722,6 +730,8 @@ /** * Called by the Tracked object whenever the set of tracked services is * modified. Increments the tracking count and clears the cache. + * + * @GuardedBy tracked */ /* * This method must not be synchronized since it is called by Tracked while @@ -738,13 +748,6 @@ } /** - * Finalize. This method no longer performs any function but it kept to - * maintain binary compatibility with prior versions of this class. - */ - protected void finalize() throws Throwable { - } - - /** * Inner class to track services. If a <code>ServiceTracker</code> object * is reused (closed then reopened), then a new Tracked object is used. This * class is a hashtable mapping <code>ServiceReference</code> object -> @@ -753,6 +756,7 @@ * tracked services. This is not a public class. It is only for use by the * implementation of the <code>ServiceTracker</code> class. * + * @ThreadSafe */ class Tracked extends Hashtable implements ServiceListener { static final long serialVersionUID = -7420065199791006079L; @@ -767,9 +771,11 @@ * * Since the ArrayList implementation is not synchronized, all access to * this list must be protected by the same synchronized object for - * thread safety. + * thread-safety. + * + * @GuardedBy this */ - private ArrayList adding; + private final ArrayList adding; /** * true if the tracked object is closed. @@ -793,9 +799,11 @@ * * Since the LinkedList implementation is not synchronized, all access * to this list must be protected by the same synchronized object for - * thread safety. + * thread-safety. + * + * @GuardedBy this */ - private LinkedList initial; + private final LinkedList initial; /** * Tracked constructor. @@ -816,6 +824,7 @@ * addServiceListener call. * * @param references The initial list of services to be tracked. + * @GuardedBy this */ protected void setInitialServices(ServiceReference[] references) { if (references == null) { @@ -920,7 +929,7 @@ case ServiceEvent.REGISTERED : case ServiceEvent.MODIFIED : if (listenerFilter != null) { // constructor supplied - // filter + // filter track(reference); /* * If the customizer throws an unchecked exception, it @@ -959,7 +968,7 @@ * * @param reference Reference to a service to be tracked. */ - protected void track(ServiceReference reference) { + private void track(ServiceReference reference) { Object object; synchronized (this) { object = this.get(reference); @@ -1127,6 +1136,7 @@ * This class is used by the ServiceTracker if open is called with true. * * @since 1.3 + * @ThreadSafe */ class AllTracked extends Tracked implements AllServiceListener { static final long serialVersionUID = 4050764875305137716L; Modified: felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java?rev=681945&r1=681944&r2=681945&view=diff ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java (original) +++ felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java Sat Aug 2 02:56:01 2008 @@ -1,7 +1,7 @@ /* - * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java,v 1.10 2006/06/16 16:31:13 hargrave Exp $ + * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java,v 1.13 2007/02/19 19:04:33 hargrave Exp $ * - * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved. + * Copyright (c) OSGi Alliance (2000, 2007). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,25 +22,32 @@ /** * The <code>ServiceTrackerCustomizer</code> interface allows a - * <code>ServiceTracker</code> object to customize the service objects that are - * tracked. The <code>ServiceTrackerCustomizer</code> object is called when a - * service is being added to the <code>ServiceTracker</code> object. The - * <code>ServiceTrackerCustomizer</code> can then return an object for the tracked - * service. The <code>ServiceTrackerCustomizer</code> object is also called when a - * tracked service is modified or has been removed from the + * <code>ServiceTracker</code> object to customize the service objects that + * are tracked. The <code>ServiceTrackerCustomizer</code> object is called + * when a service is being added to the <code>ServiceTracker</code> object. + * The <code>ServiceTrackerCustomizer</code> can then return an object for the + * tracked service. The <code>ServiceTrackerCustomizer</code> object is also + * called when a tracked service is modified or has been removed from the * <code>ServiceTracker</code> object. * * <p> * The methods in this interface may be called as the result of a - * <code>ServiceEvent</code> being received by a <code>ServiceTracker</code> object. - * Since <code>ServiceEvent</code> s are synchronously delivered by the Framework, - * it is highly recommended that implementations of these methods do not - * register (<code>BundleContext.registerService</code>), modify ( + * <code>ServiceEvent</code> being received by a <code>ServiceTracker</code> + * object. Since <code>ServiceEvent</code> s are synchronously delivered by + * the Framework, it is highly recommended that implementations of these methods + * do not register (<code>BundleContext.registerService</code>), modify ( * <code>ServiceRegistration.setProperties</code>) or unregister ( * <code>ServiceRegistration.unregister</code>) a service while being * synchronized on any object. * - * @version $Revision: 1.10 $ + * <p> + * The <code>ServiceTracker</code> class is thread-safe. It does not call a + * <code>ServiceTrackerCustomizer</code> object while holding any locks. + * <code>ServiceTrackerCustomizer</code> implementations must also be + * thread-safe. + * + * @ThreadSafe + * @version $Revision: 1.13 $ */ public interface ServiceTrackerCustomizer { /** @@ -48,17 +55,17 @@ * * <p> * This method is called before a service which matched the search - * parameters of the <code>ServiceTracker</code> object is added to it. This - * method should return the service object to be tracked for this - * <code>ServiceReference</code> object. The returned service object is stored - * in the <code>ServiceTracker</code> object and is available from the - * <code>getService</code> and <code>getServices</code> methods. + * parameters of the <code>ServiceTracker</code> object is added to it. + * This method should return the service object to be tracked for this + * <code>ServiceReference</code> object. The returned service object is + * stored in the <code>ServiceTracker</code> object and is available from + * the <code>getService</code> and <code>getServices</code> methods. * * @param reference Reference to service being added to the * <code>ServiceTracker</code> object. * @return The service object to be tracked for the - * <code>ServiceReference</code> object or <code>null</code> if the - * <code>ServiceReference</code> object should not be tracked. + * <code>ServiceReference</code> object or <code>null</code> if + * the <code>ServiceReference</code> object should not be tracked. */ public Object addingService(ServiceReference reference); @@ -73,8 +80,7 @@ * @param reference Reference to service that has been modified. * @param service The service object for the modified service. */ - public void modifiedService(ServiceReference reference, - Object service); + public void modifiedService(ServiceReference reference, Object service); /** * A service tracked by the <code>ServiceTracker</code> object has been @@ -87,6 +93,5 @@ * @param reference Reference to service that has been removed. * @param service The service object for the removed service. */ - public void removedService(ServiceReference reference, - Object service); + public void removedService(ServiceReference reference, Object service); } Modified: felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java?rev=681945&r1=681944&r2=681945&view=diff ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java (original) +++ felix/trunk/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java Sat Aug 2 02:56:01 2008 @@ -1,5 +1,5 @@ /* - * $Header: /cvshome/build/org.osgi.util.xml/src/org/osgi/util/xml/XMLParserActivator.java,v 1.10 2006/06/21 17:41:20 hargrave Exp $ + * $Header: /cvshome/build/org.osgi.util.xml/src/org/osgi/util/xml/XMLParserActivator.java,v 1.11 2006/10/27 18:17:06 hargrave Exp $ * * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved. * @@ -137,7 +137,6 @@ * bundle is marked as stopped and the Framework will remove this * bundle's listeners, unregister all services registered by this * bundle, and release all services used by this bundle. - * @see Bundle#start */ public void start(BundleContext context) throws Exception { this.context = context; @@ -159,7 +158,6 @@ } /** - * <p> * This method has nothing to do as all active service registrations will * automatically get unregistered when the bundle stops. * @@ -168,7 +166,6 @@ * bundle is still marked as stopped, and the Framework will remove * the bundle's listeners, unregister all services registered by the * bundle, and release all services used by the bundle. - * @see Bundle#stop */ public void stop(BundleContext context) throws Exception { } Modified: felix/trunk/org.osgi.compendium/src/main/resources/about.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/about.html?rev=681945&r1=681944&r2=681945&view=diff ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/about.html (original) +++ felix/trunk/org.osgi.compendium/src/main/resources/about.html Sat Aug 2 02:56:01 2008 @@ -1,9 +1,9 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<!-- $Header: /cvshome/build/osgi/about.html,v 1.3 2006/03/14 01:21:34 hargrave Exp $ --> +<!-- $Header: /cvshome/build/osgi/about.html,v 1.4 2006/10/30 18:29:29 hargrave Exp $ --> <html> <head> <title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> +<meta http-equiv=Content-Type content="text/html; charset=UTF-8"> </head> <body lang="EN-US"> <h2>About This Content</h2> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,13 @@ +<!-- $Header: /cvshome/build/info.dmtree/src/info/dmtree/notification/package.html,v 1.2 2006/07/12 21:07:14 hargrave Exp $ --> +<BODY> +<p>Device Management Tree Notification Package Version 1.0. +This package contains the public API of the Notification service. This service +enables the sending of asynchronous notifications to management servers. +Permission classes are provided by the <code>info.dmtree.security</code> package. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: info.dmtree.notification;version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,15 @@ +<!-- $Header: /cvshome/build/info.dmtree/src/info/dmtree/notification/spi/package.html,v 1.2 2006/07/12 21:07:14 hargrave Exp $ --> +<BODY> +<p>Device Management Tree Notification SPI Package Version 1.0. +This package contains the SPI (Service Provider Interface) of the Notification +service. These interfaces are implemented by Protocol Adapters capable of +delivering notifications to management servers on a specific protocol. Users of +the <code>NotificationService</code> interface do not interact directly with this +package. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: info.dmtree.notification.spi;version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/notification/spi/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,16 @@ +<!-- $Header: /cvshome/build/info.dmtree/src/info/dmtree/package.html,v 1.2 2006/07/12 21:07:14 hargrave Exp $ --> +<BODY> +<p>Device Management Tree Package Version 1.0. +This package contains the public API for the Device Management Tree +manipulations. Permission classes are provided by the +<code>info.dmtree.security</code> package, and DMT plugin interfaces can be found in +the <code>info.dmtree.spi</code> package. Asynchronous notifications to remote +management servers can be sent using the interfaces in the +<code>info.dmtree.notification</code> package. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: info.dmtree;version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,15 @@ +<!-- $Header: /cvshome/build/info.dmtree/src/info/dmtree/registry/package.html,v 1.2 2006/07/12 21:07:14 hargrave Exp $ --> +<BODY> +<p>Device Management Tree Registry Package Version 1.0. +This package contains the factory class providing access to the different +Device Management services for non-OSGi applications. The +<code>DmtServiceFactory</code> class contained in this package provides methods +for retrieving <code>NotificationService</code> and <code>DmtAdmin</code> +service implementations. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: info.dmtree.registry;version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/registry/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,12 @@ +<!-- $Header: /cvshome/build/info.dmtree/src/info/dmtree/security/package.html,v 1.2 2006/07/12 21:07:14 hargrave Exp $ --> +<BODY> +<p>Device Management Tree Security Package Version 1.0. +This package contains the permission classes used by the Device +Management API in environments that support the Java 2 security model. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: info.dmtree.security;version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/security/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,13 @@ +<!-- $Header: /cvshome/build/info.dmtree/src/info/dmtree/spi/package.html,v 1.2 2006/07/12 21:07:14 hargrave Exp $ --> +<BODY> +<p>Device Management Tree SPI Package Version 1.0. +This package contains the interface classes that compose the Device Management +SPI (Service Provider Interface). These interfaces are implemented by DMT plugins; +users of the <code>DmtAdmin</code> interface do not interact directly with these. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: info.dmtree.spi;version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/info/dmtree/spi/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,10 @@ +<!-- $Header: /cvshome/build/org.osgi.application/src/org/osgi/application/package.html,v 1.2 2006/07/12 21:07:09 hargrave Exp $ --> +<BODY> +<p>Foreign Application Package Version 1.0. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: org.osgi.application; version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/application/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +<!-- $Header: /cvshome/build/org.osgi.service.application/src/org/osgi/service/application/package.html,v 1.5 2006/07/12 21:07:13 hargrave Exp $ --> <BODY> <p>Application Package Version 1.0. <p>Bundles wishing to use this package must list the package in the Import-Package header of the bundle's manifest. For example: <pre> Import-Package: org.osgi.service.application; version=1.0 </pre> </BODY> \ No newline at end of file Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/application/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,10 @@ +<!-- $Header: /cvshome/build/org.osgi.service.deploymentadmin/src/org/osgi/service/deploymentadmin/package.html,v 1.4 2006/07/12 21:07:12 hargrave Exp $ --> +<BODY> +<p>Deployment Admin Package Version 1.0. +<p>Bundles wishing to use this package must list the package +in the <TT>Import-Package</TT> header of the bundle's manifest. +For example: +<pre> +Import-Package: org.osgi.service.deploymentadmin; version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,12 @@ +<!-- $Header: /cvshome/build/org.osgi.service.deploymentadmin/src/org/osgi/service/deploymentadmin/spi/package.html,v 1.3 2006/07/12 21:07:12 hargrave Exp $ --> +<BODY> +<p>Deployment Admin SPI Package Version 1.0. +The SPI is used by Resource Processors. +<p>Bundles wishing to use this package must list the package +in the <TT>Import-Package</TT> header of the bundle's manifest. +For example: +<pre> +Import-Package: org.osgi.service.deploymentadmin.spi; version=1.0 +</pre> +</BODY> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/deploymentadmin/spi/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,10 @@ +<!-- $Header: /cvshome/build/org.osgi.service.monitor/src/org/osgi/service/monitor/package.html,v 1.4 2006/07/12 21:07:13 hargrave Exp $ --> +<BODY> +<p>Monitor Admin Package Version 1.0. +<p>Bundles wishing to use this package must list the package +in the <TT>Import-Package</TT> header of the bundle's manifest. +For example: +<pre> +Import-Package: org.osgi.service.monitor; version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/service/monitor/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,10 @@ +<!-- $Header: /cvshome/build/org.osgi.util.gsm/src/org/osgi/util/gsm/package.html,v 1.2 2006/07/12 21:06:54 hargrave Exp $ --> +<BODY> +<p>Mobile GSM Conditions Package Version 1.0. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: org.osgi.util.gsm; version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/gsm/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 \ No newline at end of file Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/package.html URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/package.html?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/package.html (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/package.html Sat Aug 2 02:56:01 2008 @@ -0,0 +1,10 @@ +<!-- $Header: /cvshome/build/org.osgi.util.mobile/src/org/osgi/util/mobile/package.html,v 1.2 2006/07/12 21:07:11 hargrave Exp $ --> +<BODY> +<p>Mobile Conditions Package Version 1.0. +<p>Bundles wishing to use this package must list the package +in the Import-Package header of the bundle's manifest. +For example: +<pre> +Import-Package: org.osgi.util.mobile; version=1.0 +</pre> +</BODY> Added: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/packageinfo?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/packageinfo (added) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/mobile/packageinfo Sat Aug 2 02:56:01 2008 @@ -0,0 +1 @@ +version 1.0 \ No newline at end of file Modified: felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/tracker/packageinfo URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/tracker/packageinfo?rev=681945&r1=681944&r2=681945&view=diff ============================================================================== --- felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/tracker/packageinfo (original) +++ felix/trunk/org.osgi.compendium/src/main/resources/org/osgi/util/tracker/packageinfo Sat Aug 2 02:56:01 2008 @@ -1 +1 @@ -version 1.3.2 +version 1.3.3 Added: felix/trunk/org.osgi.compendium/xmlns/app/app.xsd URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/app/app.xsd?rev=681945&view=auto ============================================================================== --- felix/trunk/org.osgi.compendium/xmlns/app/app.xsd (added) +++ felix/trunk/org.osgi.compendium/xmlns/app/app.xsd Sat Aug 2 02:56:01 2008 @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* + * $Header: /cvshome/build/xmlns/app/app.xsd,v 1.2 2006/03/29 15:40:11 hargrave Exp $ + * + * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved. + * + * 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. + */ +--> +<xs:schema + xmlns="http://www.osgi.org/xmlns/app/v1.0.0" + xmlns:app="http://www.osgi.org/xmlns/app/v1.0.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.osgi.org/xmlns/app/v1.0.0" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="1.0.0"> + + <xs:element name="descriptor" type="app:descriptorType"> + <xs:annotation> + <xs:documentation>descriptor element encloses the applicaiton descriptors provided in a document</xs:documentation> + </xs:annotation> + </xs:element> + + <xs:complexType name="descriptorType"> + <xs:sequence> + <xs:element name="application" type="app:applicationType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="applicationType"> + <xs:annotation> + <xs:documentation>describes the service dependecies of an application</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="reference" minOccurs="0" maxOccurs="unbounded" type="referenceType"/> + </xs:sequence> + <xs:attribute name="class" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="referenceType"> + <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> + <xs:attribute name="interface" type="xs:string" use="required"/> + <xs:attribute name="cardinality" default="1..1" use="optional" type="cardinalityType"/> + <xs:attribute name="policy" use="optional" default="static" type="policyType"/> + <xs:attribute name="target" type="xs:string" use="optional"/> + </xs:complexType> + + <xs:simpleType name="cardinalityType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="0..1"/> + <xs:enumeration value="0..n"/> + <xs:enumeration value="1..1"/> + <xs:enumeration value="1..n"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="policyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="static"/> + <xs:enumeration value="dynamic"/> + </xs:restriction> + </xs:simpleType> + + +</xs:schema> Modified: felix/trunk/org.osgi.compendium/xmlns/scr/scr.xsd URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/scr/scr.xsd?rev=681945&r1=681944&r2=681945&view=diff ============================================================================== --- felix/trunk/org.osgi.compendium/xmlns/scr/scr.xsd (original) +++ felix/trunk/org.osgi.compendium/xmlns/scr/scr.xsd Sat Aug 2 02:56:01 2008 @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- /* - * $Header: /cvshome/build/xmlns/scr/scr.xsd,v 1.11 2006/03/14 01:21:41 hargrave Exp $ + * $Header: /cvshome/build/xmlns/scr/scr.xsd,v 1.12 2006/07/11 13:27:46 hargrave Exp $ * - * Copyright (c) OSGi Alliance (2005). All Rights Reserved. + * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
