Hi _vladi_, Below is the code <!-- ****************** HOST extensions *********************** --> <!-- Controller object view template instance, which creates the object workspace ...
See more...
Hi _vladi_, Below is the code <!-- ****************** HOST extensions *********************** --> <!-- Controller object view template instance, which creates the object workspace (right hand side) for Controller objects. --> <templateInstance id="com.pmc.maxview.host.viewTemplateInstance"> <templateId>vsphere.core.inventory.objectViewTemplate</templateId> <variable name="namespace" value="com.pmc.maxview.host" /> <variable name="objectType" value="maxView:Host" /> </templateInstance> <!-- Getting started view. --> <extension id="com.pmc.maxview.host.SummaryView1"> <extendedPoint>com.pmc.maxview.host.views</extendedPoint> <precedingExtension>NULL</precedingExtension> <object> <name>Getting Started</name> <contentSpec> <url>/ui/maxViewVSphere/index.html?view=managed-system</url> </contentSpec> </object> </extension> <!-- Controller objects collection template, which creates the Controller collection node in the inventory under "maxView". Variables: - namespace: The namespace used in the extension points and extension ids, it must be different than the one in vsphere.core.inventory.objectViewTemplate! - title: resourceId of the title of the collection. - icon: resourceId of the icon to use in the inventory list. - objectType: the same object type as in objectViewTemplate above. - listViewId: extension id of the object list view created by objectViewTemplate - parentUid: extension id of the category node under which this belongs. --> <templateInstance id="com.pmc.maxview.host.lists.allHosts"> <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId> <variable name="namespace" value="com.pmc.maxview.hostCollection" /> <variable name="title" value="Host" /> <variable name="icon" value="#{hostIcon}" /> <variable name="objectType" value="maxView:Host" /> <variable name="listViewId" value="com.pmc.maxview.host.list" /> <variable name="parentUid" value="com.pmc.maxview.maxViewAppCategory" /> </templateInstance> <!-- Controller relations displayed in the Related Objects tab. The extension point vise.relateditems.specs takes an ObjectRelationSetSpec. Here we are showing relations with logicals, physicals, enclosures and hosts. --> <extension id="com.pmc.maxview.relateditems.specs.host"> <extendedPoint>vise.relateditems.specs</extendedPoint> <precedingExtension>NULL</precedingExtension> <object> <type>maxView:Host</type> <icon>#{hostIcon}</icon> <!-- relationsViewId references the "related items view" extension created by the objectViewTemplate --> <relationsViewId>com.pmc.maxview.host.related</relationsViewId> <relationSpecs> <com.vmware.ui.relateditems.model.RelationSpec> <id>controllerForHost</id> <icon>#{ctrlIcon}</icon> <label>#{controllerLabel}</label> <relation>controller</relation> <targetType>maxView:Controller</targetType> <!-- listViewId must be defined for the array device's Related Objects tab to show a list of related Controller --> <listViewId>com.pmc.maxview.controller.list</listViewId> </com.vmware.ui.relateditems.model.RelationSpec> </relationSpecs> </object> </extension> <!-- Controller columns, displayed in the Objects tab list or the Logical, Physical and Enclosure's Related Objects. The ColumnSetContainer object is defined in xml instead of using a separate Flex class for upward compatibility with future versions. --> <extension id="com.pmc.maxview.host.list.sampleColumns"> <!-- This extension point is created by objectViewTemplate above --> <extendedPoint>com.pmc.maxview.host.list.columns</extendedPoint> <precedingExtension>NULL</precedingExtension> <object> <!-- XML representation of com.vmware.ui.lists.ColumnSetContainer --> <items> <!-- Controller name column --> <com.vmware.ui.lists.ColumnContainer> <uid>com.pmc.maxview.host.column.name</uid> <dataInfo> <com.vmware.ui.lists.ColumnDataSourceInfo> <!-- Column header --> <headerText>#{name}</headerText> <!-- Object property whose text value will be displayed (array of 1 element) --> <requestedProperties> <String>name</String> </requestedProperties> <!-- Use sortProperty to allow column to be sorted with header click --> <sortProperty>name</sortProperty> <!-- Use exportProperty to allow column data to be exported --> <exportProperty>name</exportProperty> </com.vmware.ui.lists.ColumnDataSourceInfo> </dataInfo> </com.vmware.ui.lists.ColumnContainer> <!-- Controller Mode column --> <com.vmware.ui.lists.ColumnContainer> <uid>com.pmc.maxview.host.column.status</uid> <dataInfo> <com.vmware.ui.lists.ColumnDataSourceInfo> <headerText>Status</headerText> <requestedProperties> <String>status</String> </requestedProperties> <exportProperty>status</exportProperty> </com.vmware.ui.lists.ColumnDataSourceInfo> </dataInfo> </com.vmware.ui.lists.ColumnContainer> <!-- Controller Status column --> <com.vmware.ui.lists.ColumnContainer> <uid>com.pmc.maxview.host.column.ipAddress</uid> <dataInfo> <com.vmware.ui.lists.ColumnDataSourceInfo> <requestedProperties> <String>ipAddress</String> </requestedProperties> <exportProperty>ipAddress</exportProperty> <headerText>IP Address</headerText> </com.vmware.ui.lists.ColumnDataSourceInfo> </dataInfo> </com.vmware.ui.lists.ColumnContainer> </items> </object> </extension> <extension id="com.pmc.maxview.maxviewvsphere.host.iconLabelSpecCollection"> <extendedPoint>vise.inventory.representationspecs</extendedPoint> <precedingExtension>NULL</precedingExtension> <object> <objectType>maxView:Host</objectType> <specCollection> <com.vmware.ui.objectrepresentation.model.IconLabelSpec> <iconId>#{hostOKIcon}</iconId> <conditions> <com.vmware.data.query.PropertyConstraint> <propertyName>iconStatus</propertyName> <comparator>EQUALS</comparator> <comparableValue> <String>normal</String> </comparableValue> </com.vmware.data.query.PropertyConstraint> </conditions> </com.vmware.ui.objectrepresentation.model.IconLabelSpec> <com.vmware.ui.objectrepresentation.model.IconLabelSpec> <iconId>#{hostWarningIcon}</iconId> <conditions> <com.vmware.data.query.PropertyConstraint> <propertyName>iconStatus</propertyName> <comparator>EQUALS</comparator> <comparableValue> <String>warning</String> </comparableValue> </com.vmware.data.query.PropertyConstraint> </conditions> </com.vmware.ui.objectrepresentation.model.IconLabelSpec> <com.vmware.ui.objectrepresentation.model.IconLabelSpec> <iconId>#{hostErrorIcon}</iconId> <conditions> <com.vmware.data.query.PropertyConstraint> <propertyName>iconStatus</propertyName> <comparator>EQUALS</comparator> <comparableValue> <String>error</String> </comparableValue> </com.vmware.data.query.PropertyConstraint> </conditions> </com.vmware.ui.objectrepresentation.model.IconLabelSpec> <com.vmware.ui.objectrepresentation.model.IconLabelSpec> <iconId>#{hostIcon}</iconId> <conditions> <com.vmware.data.query.PropertyConstraint> <propertyName>iconStatus</propertyName> <comparator>EQUALS</comparator> <comparableValue> <String>default</String> </comparableValue> </com.vmware.data.query.PropertyConstraint> </conditions> </com.vmware.ui.objectrepresentation.model.IconLabelSpec> </specCollection> </object> </extension> <extension id="com.pmc.maxview.host.listActionSet"> <extendedPoint>vise.actions.sets</extendedPoint> <object> <actions> <!-- Create Chassis --> <com.vmware.actionsfw.ActionSpec> <uid>com.pmc.maxview.host.addHost</uid> <icon>#{hostAdd}</icon> <delegate> <className>com.vmware.vsphere.client.HtmlPluginModalAction</className> <object> <root> <!-- execute the action on client-side (html view in a modal dialog) --> <actionUrl>/ui/maxViewVSphere/index.html?view=add-system-modal</actionUrl> <dialogTitle>Add Host</dialogTitle> <dialogSize>500,250</dialogSize> <dialogIcon>#{hostAdd}</dialogIcon> </root> </object> </delegate> <!-- All context-less actions should be marked as private to prevent themfrom showing up in all menus.--> <privateAction>true</privateAction> </com.vmware.actionsfw.ActionSpec> </actions> </object> </extension> <extension id="com.pmc.maxview.host.actionSet"> <extendedPoint>vise.actions.sets</extendedPoint> <object> <actions> <!-- Delete Chassis --> <com.vmware.actionsfw.ActionSpec> <uid>com.pmc.maxview.host.deleteHost</uid> <icon>#{hostDelete}</icon> <delegate> <className>com.vmware.vsphere.client.HtmlPluginModalAction</className> <object> <root> <!-- execute the action on client-side (html view in a modal dialog) --> <actionUrl>/ui/maxViewVSphere/index.html?view=delete-system-modal</actionUrl> <dialogTitle>Delete Host</dialogTitle> <dialogSize>500,325</dialogSize> <dialogIcon>#{hostDelete}</dialogIcon> </root> </object> </delegate> <!-- All context-less actions should be marked as private to prevent themfrom showing up in all menus.--> <privateAction>true</privateAction> </com.vmware.actionsfw.ActionSpec> </actions> </object> <metadata> <!-- This filters the actions to be visible only on Chassis --> <objectType>maxView:Host</objectType> </metadata> </extension> <!-- UI info associated with the controller type owned by this plugin. This is mainly used in conjonction with prioritization extensions, to verify that only this plugin can modify prioritization settings on controller --> <extension id="com.pmc.maxview.host.objectType"> <extendedPoint>vsphere.core.objectTypes</extendedPoint> <precedingExtension>NULL</precedingExtension> <object> <types> <String>maxView:Host</String> </types> <label>Host</label> <labelPlural>Hosts</labelPlural> <icon>#{hostIcon}</icon> </object> </extension> <extension id="com.pmc.maxview.host.listAction"> <extendedPoint>vmware.prioritization.listActions</extendedPoint> <object> <prioritizedIds> <String>com.pmc.maxview.host.addHost</String> </prioritizedIds> <regionId>com.pmc.maxview.host.list</regionId> </object> </extension> <extension id="com.pmc.maxview.host.promotedActions"> <extendedPoint>vmware.prioritization.actions</extendedPoint> <object> <prioritizedIds> <String>com.pmc.maxview.host.deleteHost</String> </prioritizedIds> <regionId>com.pmc.maxview.host.list</regionId> <actionTargetTypes> <String>maxView:Host</String> </actionTargetTypes> </object> </extension>