A Example of a Classification Plug-in Collection File
This appendix contains an example of a classification plug-in collection file for Oracle Information Rights Management (Oracle IRM). This example can be used as a basis for the file that is required to integrate Oracle IRM with Oracle Beehive, as described in Chapter 5, "Integrating Oracle Information Rights Management (Oracle IRM) with Oracle Beehive." Values that must be changed to match the settings of your deployment appear in bold.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2007, 2009, Oracle and/or its affiliates.
All rights reserved. -->
<core:ClassificationPluginCollection xmlns:core="http://xmlns.oracle.com/irm/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:system="http://xmlns.oracle.com/irm/system"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<classificationPlugin>
<!-- Define the classification system that this plugin is for -->
<system>
<uuid>2de4af00-3b14-11de-8a39-0800200c9a66</uuid>
</system>
<!-- Define a human readable label for the classification system
for diagnostic purposes -->
<label>
<locale>en</locale>
<name>Beehive</name>
<description>Beehive classification system</description>
</label>
<!-- Should this classification system be enabled? -->
<enabled>true</enabled>
<!-- The definition describes how the classification system is implemented -->
<definition>
<interfaceClass>
oracle.irm.engine.core.classification.ClassificationServices
</interfaceClass>
<resourcePath>/oracle/irm/engine/core/classification/aspects/classes/ClassificationServices.xml
</resourcePath>
<!-- The base class section pulls in standard classification system
functionality -->
<baseClass>
<interfaceClass>
oracle.irm.engine.core.classification.ClassificationServices
</interfaceClass>
<resourcePath>
/oracle/irm/engine/core/classification/aspects/classes/ClassificationServices.xml
</resourcePath>
</baseClass>
<!-- Here we pull in all classification system functionality required
by this system -->
<slices>
<!-- The ClassificationServicesResponse aspect allows us to
respond to calls on ClassificationServices with a hard coded
response -->
<implementationClass>
oracle.irm.engine.core.classification.aspects.response.ClassificationServicesResponse
</implementationClass>
<!-- The methods state which methods we wish to hard code the
response to -->
<methods>
<!-- Construct is required for initialization and should always
be included -->
<methodClass>
oracle.irm.engine.core.classification.ClassificationServicesSlice
</methodClass>
<name>construct</name>
</methods>
<methods>
<methodClass>
oracle.irm.engine.core.classification.ClassificationServicesSlice
</methodClass>
<name>listContentAttributes</name>
</methods>
<!-- InjectionData provides the configuration information
containing the hard coded response data -->
<injectionData>
<field>
<fieldClass>
oracle.irm.engine.core.classification.aspects.response.ClassificationServicesResponse
</fieldClass>
<name>responses</name>
</field>
<data xsi:type="system:MethodResponseCollection"
xmlns:system="http://xmlns.oracle.com/irm/system">
<!-- There should be a methodResponse for each hard coded response -->
<methodResponse>
<method>
<methodClass>
oracle.irm.engine.core.classification.ClassificationServices
</methodClass>
<name>listContentAttributes</name>
</method>
<!-- An empty response is equivalent to null -->
<response xsi:type="core:ClassificationServices_ListContentAttributesResponse"/>
</methodResponse>
</data>
</injectionData>
</slices>
<!-- The ClassificationServicesProxy aspect allows us to respond
to calls on ClassificationServices by calling out to web service -->
<slices>
<implementationClass>
oracle.irm.j2ee.jws.core.classification.ClassificationServicesProxy
</implementationClass>
<!-- By not specifying which methods we are implementing here we are
saying all methods. Anything not implemented by the response aspect
will go over the web service. -->
<!-- InjectionData provides the configuration information
containing the web service details -->
<injectionData>
<field>
<fieldClass>
oracle.irm.j2ee.jws.core.classification.ClassificationServicesProxy
</fieldClass>
<name>webServiceProxyContext</name>
</field>
<system:WebServiceProxyContext>
<!-- Web service endpoint URI -->
<endpointAddress>
http://beehive.yourcompany.com/bhirm/ClassificationServices
</endpointAddress>
<!-- Authentication to use with the endpoint -->
<authenticationType>NONE</authenticationType>
<!-- How long (in seconds) should we wait to connect/for a
response. -1 means infinite wait -->
<timeout>-1</timeout>
</system:WebServiceProxyContext>
</injectionData>
</slices>
</definition>
</classificationPlugin>
</core:ClassificationPluginCollection>