You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ch...@apache.org on 2008/08/02 11:56:04 UTC
svn commit: r681945 [9/9] - in /felix/trunk/org.osgi.compendium: ./ doc/
src/main/java/info/ src/main/java/info/dmtree/
src/main/java/info/dmtree/notification/
src/main/java/info/dmtree/notification/spi/
src/main/java/info/dmtree/registry/ src/main/jav...
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
+ * {@link 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 {@link 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 {@link #isSatisfied()} method needs to prompt the user, thus cannot
+ * give results instantly.
+ * This depends on the permission level given in
+ * {@link 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 {@link #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
+ * {@link 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 {@link 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 {@link 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.