You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by li...@apache.org on 2010/04/09 21:02:34 UTC
svn commit: r932549 -
/incubator/aries/trunk/subsystem/subsystem-api/src/main/java/org/apache/aries/subsystem/SubsystemAdmin.java
Author: linsun
Date: Fri Apr 9 19:02:34 2010
New Revision: 932549
URL: http://svn.apache.org/viewvc?rev=932549&view=rev
Log:
clarify javadoc for install/update a bit
Modified:
incubator/aries/trunk/subsystem/subsystem-api/src/main/java/org/apache/aries/subsystem/SubsystemAdmin.java
Modified: incubator/aries/trunk/subsystem/subsystem-api/src/main/java/org/apache/aries/subsystem/SubsystemAdmin.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/subsystem/subsystem-api/src/main/java/org/apache/aries/subsystem/SubsystemAdmin.java?rev=932549&r1=932548&r2=932549&view=diff
==============================================================================
--- incubator/aries/trunk/subsystem/subsystem-api/src/main/java/org/apache/aries/subsystem/SubsystemAdmin.java (original)
+++ incubator/aries/trunk/subsystem/subsystem-api/src/main/java/org/apache/aries/subsystem/SubsystemAdmin.java Fri Apr 9 19:02:34 2010
@@ -63,7 +63,7 @@ public interface SubsystemAdmin {
/**
* Install a new subsystem from the specified location identifier.
*
- * This method performs the same function as calling <code>install(String, InputStream)</code> with the specified
+ * This method performs the same function as calling {@link #install(String, InputStream)} with the specified
* location identifier and a null InputStream.
*
* @param location
@@ -72,13 +72,22 @@ public interface SubsystemAdmin {
Subsystem install(String location) throws SubsystemException;
/**
- * Install a new subsystem from the specified InputStream object. If the specified InputStream is null,
- * the InputStream must be created from the specified location.
+ * Install a new subsystem from the specified <code>InputStream</code> object.
+ *
+ * If the specified <code>InputStream</code> is <code>null</code>,
+ * the <code>InputStream</code> must be created from the specified location.
*
* The specified location identifier will be used as the identity of the subsystem.
* Every installed subsystem is uniquely identified by its location identifier which is typically in the form of a URL.
*
- * If a subsystem containing the same location identifier is already installed, the Subsystem object for that subsystem is returned.
+ * The following steps are required to install a subsystem:
+ *
+ * 1. If a subsystem containing the same location identifier is already installed, the <code>Subsystem</code> object for that subsystem is returned.
+ * 2. The subsystem's content is read from the input stream. If this fails, a SubsystemException is thrown.
+ * 3. The subsystem's associated resources are located
+ * 4. The subsystem's state is set to <code>INSTALLED</code>
+ * 5. The subsystem event of type INSTALLED is fired.
+ * 6. The subsystem object for the newly installed subsystem is returned
*
* @param location
* @param content
@@ -89,16 +98,19 @@ public interface SubsystemAdmin {
/**
* Update the given subsystem.
*
- * The updated subsystem metadata will be loaded from
- * the subsystem location, or from the subsystem update location
- * if specified.
- *
+ * This method performs the same function as calling {@link #update(Subsystem, InputStream)}
+ * with the specified subsystem and a <code>null</code> InputStream.
+ *
* @param subsystem
*/
void update(Subsystem subsystem) throws SubsystemException;
/**
- * Update the given subsystem
+ * Update the given subsystem from an <code>InputStream</code>.
+ *
+ * If the specified <code>InputStream</code> is <code>null</code>, the InputStream must be created from
+ * the subsystem's {@link SubsystemConstants#SUBSYSTEM_UPDATELOCATION Subsystem-UpdateLocation} Manifest header
+ * if present, or this subsystem's original location.
*
* @param subsystem
* @param content