| 
OSGi™ Service Platform Release 4  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Service for managing the initial provisioning information.
Initial provisioning of an OSGi device is a multi step process that culminates with the installation and execution of the initial management agent. At each step of the process, information is collected for the next step. Multiple bundles may be involved and this service provides a means for these bundles to exchange information. It also provides a means for the initial Management Bundle to get its initial configuration information.
 The provisioning information is collected in a Dictionary object,
 called the Provisioning Dictionary. Any bundle that can access the service
 can get a reference to this object and read and update provisioning
 information. The key of the dictionary is a String object and the
 value is a String or byte[] object. The single
 exception is the PROVISIONING_UPDATE_COUNT value which is an Integer. The
 provisioning prefix is reserved for keys defined by OSGi, other
 key names may be used for implementation dependent provisioning systems.
 
Any changes to the provisioning information will be reflected immediately in all the dictionary objects obtained from the Provisioning Service.
Because of the specific application of the Provisioning Service, there should be only one Provisioning Service registered. This restriction will not be enforced by the Framework. Gateway operators or manufactures should ensure that a Provisioning Service bundle is not installed on a device that already has a bundle providing the Provisioning Service.
 The provisioning information has the potential to contain sensitive
 information. Also, the ability to modify provisioning information can have
 drastic consequences. Thus, only trusted bundles should be allowed to
 register and get the Provisioning Service. The ServicePermission
 is used to limit the bundles that can gain access to the Provisioning
 Service. There is no check of Permission objects to read or modify
 the provisioning information, so care must be taken not to leak the
 Provisioning Dictionary received from getInformation method.
| Field Summary | |
static java.lang.String | 
MIME_BUNDLE
MIME type to be stored in the extra field of a ZipEntry object
 for an installable bundle file. | 
static java.lang.String | 
MIME_BUNDLE_URL
MIME type to be stored in the extra field of a ZipEntry for a String that represents a URL for a bundle.  | 
static java.lang.String | 
MIME_BYTE_ARRAY
MIME type to be stored in the extra field of a ZipEntry object
 for byte[] data. | 
static java.lang.String | 
MIME_STRING
MIME type to be stored in the extra field of a ZipEntry object
 for String data. | 
static java.lang.String | 
PROVISIONING_AGENT_CONFIG
The key to the provisioning information that contains the initial configuration information of the initial Management Agent.  | 
static java.lang.String | 
PROVISIONING_REFERENCE
The key to the provisioning information that contains the location of the provision data provider.  | 
static java.lang.String | 
PROVISIONING_ROOTX509
The key to the provisioning information that contains the root X509 certificate used to esatblish trust with operator when using HTTPS.  | 
static java.lang.String | 
PROVISIONING_RSH_SECRET
The key to the provisioning information that contains the shared secret used in conjunction with the RSH protocol.  | 
static java.lang.String | 
PROVISIONING_SPID
The key to the provisioning information that uniquely identifies the Service Platform.  | 
static java.lang.String | 
PROVISIONING_START_BUNDLE
The key to the provisioning information that contains the location of the bundle to start with AllPermission. | 
static java.lang.String | 
PROVISIONING_UPDATE_COUNT
The key to the provisioning information that contains the update count of the info data.  | 
| Method Summary | |
 void | 
addInformation(java.util.Dictionary info)
Adds the key/value pairs contained in info to the Provisioning
 Information dictionary. | 
 void | 
addInformation(java.util.zip.ZipInputStream zis)
Processes the ZipInputStream and extracts information to add
 to the Provisioning Information dictionary, as well as, install/update
 and start bundles. | 
 java.util.Dictionary | 
getInformation()
Returns a reference to the Provisioning Dictionary.  | 
 void | 
setInformation(java.util.Dictionary info)
Replaces the Provisioning Information dictionary with the key/value pairs contained in info. | 
| Field Detail | 
public static final java.lang.String PROVISIONING_SPID
String.
public static final java.lang.String PROVISIONING_REFERENCE
String.
public static final java.lang.String PROVISIONING_AGENT_CONFIG
byte[].
public static final java.lang.String PROVISIONING_UPDATE_COUNT
Integer. This key/value pair is also reflected in the
 properties of the ProvisioningService in the service registry.
public static final java.lang.String PROVISIONING_START_BUNDLE
AllPermission. The bundle must have be
 previously installed for this entry to have any effect.
public static final java.lang.String PROVISIONING_ROOTX509
public static final java.lang.String PROVISIONING_RSH_SECRET
public static final java.lang.String MIME_STRING
ZipEntry object
 for String data.
public static final java.lang.String MIME_BYTE_ARRAY
ZipEntry object
 for byte[] data.
public static final java.lang.String MIME_BUNDLE
ZipEntry object
 for an installable bundle file. Zip entries of this type will be
 installed in the framework, but not started. The entry will also not be
 put into the information dictionary.
public static final java.lang.String MIME_BUNDLE_URL
| Method Detail | 
public java.util.Dictionary getInformation()
UnsupportedOperationException to be thrown. Changes must be
 done using the setInformation and addInformation
 methods of this service.
public void setInformation(java.util.Dictionary info)
info. Any key/value pairs not in info
 will be removed from the Provisioning Information dictionary. This method
 causes the PROVISIONING_UPDATE_COUNT to be incremented.
info - the new set of Provisioning Information key/value pairs. Any
        keys are values that are of an invalid type will be silently
        ignored.public void addInformation(java.util.Dictionary info)
info to the Provisioning
 Information dictionary. This method causes the
 PROVISIONING_UPDATE_COUNT to be incremented.
info - the set of Provisioning Information key/value pairs to add to
        the Provisioning Information dictionary. Any keys are values that
        are of an invalid type will be silently ignored.
public void addInformation(java.util.zip.ZipInputStream zis)
                    throws java.io.IOException
ZipInputStream and extracts information to add
 to the Provisioning Information dictionary, as well as, install/update
 and start bundles. This method causes the
 PROVISIONING_UPDATE_COUNT to be incremented.
zis - the ZipInputStream that will be used to add
        key/value pairs to the Provisioning Information dictionary and
        install and start bundles. If a ZipEntry does not have
        an Extra field that corresponds to one of the four
        defined MIME types (MIME_STRING,
        MIME_BYTE_ARRAY,MIME_BUNDLE, and
        MIME_BUNDLE_URL) in will be silently ignored.
java.io.IOException - if an error occurs while processing the
            ZipInputStream. No additions will be made to the Provisioning
            Information dictionary and no bundles must be started or
            installed.
  | 
OSGi™ Service Platform Release 4  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||