Usage | Use this when the layout of a plug-in needs to be localized. |
Attributes | point="com.softwareag.cis.plugin.i18n" id class project (name of the plug-in directory) prefix (as used by messages) file (name of the property file to be used) |
Interface | I18NHandler |
Standard class | Common18NHandler |
Processing | Class I18NManager inside PluggableUI handles this extension point. If an I18Message or a text ID in a layout definition (as created using the Application Designer) refers to a source ID that starts with the given prefix, the I18Manager attempts to resolve this reference using the given property file. In the case of a text ID, the corresponding layout must be part of the plug-in whose directory is indicated by the project attribute. |
Provided by | PluggableUI |
Example | <extension point="com.softwareag.cis.plugin.i18n" id="CentraSiteControl" class="com.softwareag.cis.plugin.ext.Common18NHandler" project="CentraSiteControl" prefix="INMCS" file="com.centrasite.control.adapters.util.INMMessages"> </extension> |
Usage | Use this to get parameters for a plug-in. |
Attributes | point="com.softwareag.cis.plugin.parameter" id value |
Interface | No interface to be implemented. |
Processing | Use the plug-in call ApplicationContext.getParameter() to obtain value. |
Provided by | PluggableUI |
Example | <extension point="com.softwareag.cis.plugin.parameter" id="welcomePageDefault" value="true"> </extension> |
Usage | Use at the start or end of a session of CentraSite Control. |
Attributes | point="com.softwareag.cis.plugin.connectionHandler" id value |
Interface | ConnectionHandler void init (CommonAdapter ca) void connect (Credentials c, CommonAdapter ca) throws Exception void notifyConnected (CommonAdapter ca) boolean isConnected() void prepareDisconnect (CommonAdapter ca) throws Exception void disconnect (CommonAdapter ca); |
Processing | Logon: Obtain credentials from the login screen Call connect(credentials) for each extension If an exception occurs: Show a popup with the exception Disconnect each extension which is already connected Restart If all successful: start the workplace Logoff: Call prepareDisconnect() for each extension If an exception occurs: Show a popup with the exception Done Disconnect each extension which is already connected by calling the disconnect() method |
Provided by | PluggableUI |
Example | <extension point= "com.softwareag.cis.plugin.connectionHandler" id="login" class="com.centrasite.control.ext. CentraSiteConnectionHandler"> </extension> |
Usage | Each plug-in may contribute a perspective to contain its own topics or the topics of other plug-ins |
Attributes | point="com.softwareag.cis.plugin.perspective" id class |
Interface | Perspective String getTitle() (used in dynamically generated Select Perspective dialog) String getImageURL() (used to represent a perspective by an icon in the Select Perspective dialog) Toolbar: ICONLISTInfo getToolbar() Logo String getLogoImageURL () (used for header frame) Handling of the View listbox: String getViewLabel() String[] getViewValues() String getView() (returns the currently selected view) void setView(String view) (called when the user changes the view selection) Default layout used for perspective background String getWorkplaceDefaultLayout(); (used for background of workplace if no activity is opened) |
Abstract base class | AbstractPerspective |
Provided by | PluggableUI |
Example | (CentraSite Control/plugin.xml) <extension point="com.softwareag.cis.plugin.perspective" id="controlPerspective" <---+ class="com.centrasite.control.ext.ControlPerspective"> | </extension> | <extension point="com.softwareag.cis.plugin.topic" | id="registry" | perspective="com.centrasite.control.controlPerspective" ---+ class="com.centrasite.control.ext.ImportantTypesTopic"> </extension> |
Usage | Add a topic in the navigation view. |
Attributes | point="com.softwareag.cis.plugin.topic" id perspective class |
Interface | Topic String getImageURL() boolean isVisible() (used when switching views) |
Abstract base class | AbstractTopic |
Processing | When starting the user interface, a topic is added to the active perspective for each known extension that refers to the perspective. The first topic is selected. When switching to a different topic, replace the content of the HEADER frame according to the data provided by the corresponding perspective. |
Provided by | PluggableUI |
Example | <extension point="com.softwareag.cis.plugin.topic" id="registry" perspective="com.centrasite.control.perspective" class="com.centrasite.control.ext.ImportantTypesTopic"> </extension> |
Usage | Add a command to a menu. |
Attributes | point="com.centrasite.control.itemCommand" id (default: name of implementing class) class |
Interface | ExtensionCommand boolean appliesTo (Item) String getName() String getImageURL() int getCategory() (used for grouping of commands) abstract void execute(ActionContext actionContext) |
Abstract base class | AbstractExtensionCommand |
Processing | When a list of commands for a menu item is retrieved (for example, for context menu or toolbar), the following steps are performed for each known extension: Create an instance of class and invoke appliesTo(Item). If true is returned, the command is added to the list. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.itemCommand" id="test" class="com.centrasite.control.extpt.junit. DisplayRegObjKeyCommand"> </extension> |
Usage | Add a command to a menu in which bulk actions are permitted. |
Attributes | point="com.centrasite.control.itemBulkCommand" id (default: name of implementing class) class |
Interface | ExtensionCommand boolean appliesTo (Item) String getName() String getImageURL() int getCategory() (used for grouping of commands) abstract void execute(ActionContext actionContext) |
Abstract base class | AbstractExtensionCommand |
Processing | When a list of commands for a menu item is retrieved (for example, for context menu or toolbar), the following steps are performed for each known extension: Create an instance of class and invoke appliesTo(Item). If true is returned, the command is added to the list. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.itemBulkCommand" id="test" class="com.centrasite.control.extpt.junit. DisplayRegObjKeyCommand"> </extension> |
Usage | Add a property to a registry object. |
Attributes | point="com.centrasite.control.registryObjectProperty" id class (boolean) visible by default |
Interface | ExtensionPropertyAccessor boolean appliesTo (String objectTypeQName, Connector con) String getDisplayName(Locale locale) String getDescription(Locale locale) String getInternalName() boolean getVisibleByDefault() String getValue(Item item) throws Exception void setValue(Item item, String value) throws Exception |
Abstract base class | AbstractPropertyAccessor (must be explicitly implemented) |
Processing | When opening a report, all extensions are checked whether they want to contribute. The corresponding accessors are added to the report. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.registryObjectProperty" id="test" class="com.centrasite.control.extpt.junit. LastModifiedPropertyAccessor"> </extension> |
Usage | Add a tab in the detail view of an object. |
Attributes | point="com.centrasite.control.detailViewTab" id class |
Interface | DetailViewTab String getTitle() String getImageURL() String getLayout() void initAdapterFor (Item, DetailViewTabAdapter) protected String getAdapterClass(); boolean appliesTo (Item) (If this is returned, the tab will be displayed for the corresponding Item if isVisible() returns true as well, otherwise the tab will not be displayed) void setDetailsTabContext (DetailTabContext) boolean isVisible(Item) |
Abstract base class | AbstractDetailViewTab |
Processing | If the detail view for an Item is opened, it is checked for each known extension. Create an instance of class and invoke appliesTo(Item). If true is returned, getLayout() is invoked and the layout is added as a tab. The respective adapter is created implicitly by the Application Designer when processing the layout. The title of the tab is set with the result from calling getTitle(). Currently, items on tabs are not supported. Hence, the result from getImageURL() is ignored. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.detailViewTab" id="lifecycle" class="com.centrasite.control.lifecycle.LifeCycleDetails"> </extension> |
Usage | Add a source of a notification. |
Attributes | point="com.centrasite.control.addRowToMyNotifications" id (default: name of implementing class) class |
Interface | ReportExtensionItemsProvider Collection getItems() throws Exception; void setConnector(Connector connector); boolean isContributedItem(Item item); String getChangedImageURL (Item item); |
Abstract base class | AbstractReportExtensionItemsProvider |
Processing | The extension is initialized using the setConnector() method. Obtain all items to be added to the list of items with pending notification using the getItems() method. isContributedItem() can be used to check whether this extension has contributed the given item through getItems(). getChangedImageURL() is used to control the icon representing the reason for the notification. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.addRowToMyNotifications" id="MyNotificationsApprovalItemsProvider" class="com.softwareag.centrasite.control.lms.ext. MyNotificationsApprovalItemsProvider"> </extension> |
Usage | Change the visual representation of registry objects |
Attributes | point="com.centrasite.control.assocNavigatorNodeDecorator" id (default: name of implementing class) class |
Interface | NodeDecorator String getImageURL(Item) |
Abstract base class | (none) |
Processing | If the item is to be rendered in Impact Analysis, check all known extensions to determine whether they contribute to the item's visualization. If getImageURL(item) returns null: check for the next extension. Else, use the URL being returned for secondary icon within visualization of node in graphical impact analysis. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.assocNavigatorNodeDecorator" id="ExternalLinkNodeDecorator" class="com.centrasite.control.ext.ExternalLinkNodeDecorator"> </extension> |
Usage | Append a root node to an existing topic. |
Attributes | point="com.centrasite.control.topicItems" id class |
Interface | TopicItems boolean appliesTo (Topic) Collection getItems() |
Abstract base class | AbstractTopicItems |
Processing | For each topic whose implementation class is derived from a class named BaseTopic (true for all topics contributed by CentraSite Control) it is checked whether there are any extension for the topicItems extension point. Each extension whose appliesTo() method returns true, the collection of Item objects returned by getItems() is appended to the set of root nodes for the corresponding topic. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.topicItems" id="filesystem" topic="com.centrasite.control.administration" class="com.centrasite.control.ext.junit. FileSystemTopicItems"> </extension> Note: Here, the FileSystemTopicItems extension is an extension of the base class AbstractTopicItems whose appliesTo() method returns true if the value of the topic attribute matches the ID of the topic being passed. |
Usage | Add an editor that can be configured per object type, even per object instance. |
Attributes | point="com.centrasite.control.itemEditor" id (default: name of implementing class) class |
Interface | ItemEditor public boolean appliesTo (Item item, Connector connector); public String getLayout(); public String getTitle(Item item); public String getAdapterClass(); (must return a class implementing the ItemEditorAdapter interface) |
Abstract base class | AbstractItemEditor |
Processing | If appliesTo() returns true, the editor is used when opening the detail for the item being passed: The given adapter class will be instantiated and initialized. The given layout (=pageURL) is opened in the CONTENT frame on the right-hand side. The title returned by getTitle() is used as the label for the activity. |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.itemEditor" id="DataType" class="com.softwareag.centrasite.ext.DataTypeEditor"> </extension> |
Usage | Extend the search dialog by additional conditions, for example, you can add specific search predicates for your own object types. |
Attributes | point="com.centrasite.control.searchPredicate" id class |
Interface | PredicateEditor Predicate getPredicate() (Get predicate to be added by this editor) String getLayout() (Get URL of layout to be rendered) String getAdapterClass() (Get name of adapter class to be used for rendering, must be a subclass of AbstractPredicateAdapter) String getPredicateClass() (Get name of predicate class to be used for rendering, must be a subclass of AbstractPredicate) |
The interface Predicate (many implementing classes are already available in CentraSiteUtils.jar) with its abstract subclass AbstractPredicate has the following methods: boolean appliesTo(String objectTypeValue, CentraSiteQueryManager qm) (Check whether this predicate applies to objects of given object type) String getInternalType () (Get unique internal string representation of type of predicate; not to be localized. You may use a namespace-like notation for your own.) String getDisplayType () (Get human readable localized representation of type of predicate; CentraSite Control will display it on the left hand side in the Add Condition dialog) void validate() throws InvalidPredicateException (Validate parameters set for this predicate. The InvalidPredicateException should contain a localized message text) String getDisplayString () throws Exception (Get human readable localized string representation of predicate including values predicate; CentraSite Control displays it in the condition table in the header section of the Search Registry dialog) boolean requiresEnterpriseLicense() (Check whether this predicate requires an Enterprise license) void addTo (BusinessQuery bq) throws JAXRException (Add contribution of predicate to given BusinessQuery. This is the worker method applying the predicate to the search result.) | |
AbstractPredicate also provides implementations for the following methods: Used for I18N support Locale getLocale() Void setLocale(Locale) used for persisting predicates as part of queries. String toXML (); void setFromDom(Element predicateEement, Connection connection) used to initialize the search dialog with read only predicates or conditions, which can not be modified or removed: void setReadOnly(boolean readOnly); boolean isReadOnly(); | |
Abstract base class | AbstractPredicateEditor |
Processing | When you click the appropriate button, this invokes the user-defined Adapter (layout) screen for entering custom search related settings. Create an instance of the class Execute |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.searchPredicate" id="ObjectTypePredicateEditor" class="com.centrasite.control...ObjectTypePredicateEditor"> </extension> |
Usage | Change the text string displayed in the context menu for downloading an asset. |
Attributes | com.centrasite.control.downloadDocumentCommand id (default: name of implementing class) class |
Interface | See the sample code. |
Abstract base class | AbstractExtensionCommand |
Provided by | CentraSite Control |
Example | See the sample code. |
Usage | Use this to define a custom layout of the documents while attaching to an asset through the Attach Document dialog. |
Attributes | com.centrasite.control.attachDocumentCommand id (default: name of implementing class) class |
Interface | See the sample code. |
Abstract base class | AbstractExtensionCommand |
Processing | When you click the appropriate button, this invokes the user-defined Adapter (layout) screen displaying all documents that are available for attaching to an asset. Create an instance of the class Execute |
Provided by | CentraSite Control |
Example | <extension point="com.centrasite.control.attachDocumentCommand" id="AttachDocumentCustomCommand" class="com.centrasite.control. extpt.AttachDocumentCustomCommand" /> |