You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2013/10/18 02:25:32 UTC
[10/30] AMBARI-3266. Contribute Ambari-SCOM. (Tom Beerbower via
mahadev)
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/Standard/SingleRowSelectStateWidget.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/Standard/SingleRowSelectStateWidget.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/Standard/SingleRowSelectStateWidget.mpx
new file mode 100644
index 0000000..6423e0f
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/Standard/SingleRowSelectStateWidget.mpx
@@ -0,0 +1,336 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Presentation>
+ <ComponentTypes>
+ <ComponentType ID="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidget" Accessibility="Internal">
+ <Property Name="SelectedEntities" Type="mpinstance://System.Library!System.Entity[]" BindingDirection="Both" />
+ <Property Name="AutoRefreshTickInterval" Type="xsd://int" BindingDirection="In" />
+ <Property Name="Columns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn[]" BindingDirection="Both">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="HealthState" />
+ </Binding>
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.HealthState/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='HealthState']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="DisplayName" />
+ </Binding>
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.DisplayName/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='DisplayName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="Path" />
+ </Binding>
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.Path/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='Path']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Property>
+ <Property Name="GroupedColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]" BindingDirection="Both" />
+ <Property Name="SortedColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]" BindingDirection="Both">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="DisplayName" />
+ </Binding>
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.DisplayName/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortDirection">
+ <SimpleValue Type="xsd://string" Value="Ascending" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='DisplayName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Property>
+ <!--<Property Name="Criteria" Type="xsd://string" BindingDirection="In" />-->
+ <Property Name="TargetIds" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataProvider/MPInstanceWithRecursionLevel[]" BindingDirection="In" />
+ <Property Name="BaseManagementPackTypes" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]" BindingDirection="In" />
+ <Property Name="RecursionTypeNames" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]" BindingDirection="In">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType">
+ <Binding PropertyId="FullyQualifiedName">
+ <SimpleValue Type="xsd://string" Value="System.Library!System.Group" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Property>
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidgetImplementation"
+ TypeId="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidget"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Composite>
+ <Variable Id="AutoRefreshAction" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/AutoRefreshAction" />
+ <Variable Id="ConsolidatedRefreshAction" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/RefreshAction" />
+ <Variable Id="FilterCriteria" Type="BaseDataType" />
+ <Variable Id="ManagedEntities" Type="BaseDataType[]" />
+ <Variable Id="SelectedGridItem" Type="BaseDataType" />
+ <Variable Id="QueryCriteria" Type="xsd://string" />
+ <Variable Id="DataGridActions" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/Action" />
+ <Variable Id="SortColumnBaseCollection" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" />
+ <Variable Id="ProjectionColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/ValueDefinition[]" />
+ <Variable Id="SortProjectionColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/SortValueDefinition[]" />
+ <Variable Id="VisualizedDataCount" Type="xsd://int" />
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.ComponentContainer">
+ <Binding PropertyId="Visual">
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataGrid">
+ <Binding PropertyId="KeyPropertyName">
+ <SimpleValue Type="xsd://string" Value="Id" />
+ </Binding>
+ <Binding PropertyId="Data">
+ <Reference>$Variable/ManagedEntities$</Reference>
+ </Binding>
+ <Binding PropertyId="GroupedColumns">
+ <Reference>$Property/GroupedColumns$</Reference>
+ </Binding>
+ <Binding PropertyId="SortedColumns">
+ <Reference>$Property/SortedColumns$</Reference>
+ </Binding>
+ <Binding PropertyId="Columns">
+ <Reference>$Property/Columns$</Reference>
+ </Binding>
+ <Binding PropertyId="CellComponentType">
+ <SimpleValue Type="xsd://string" Value="Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataGridGenericCell" />
+ </Binding>
+ <Binding PropertyId="ColumnHeaderComponentType">
+ <SimpleValue Type="xsd://string" Value="Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataGridColumnHeaderCell" />
+ </Binding>
+ <Binding PropertyId="SelectionMode">
+ <SimpleValue Type="xsd://string" Value="SingleRowSelect" />
+ </Binding>
+ <Binding PropertyId="Action">
+ <Reference>$Variable/DataGridActions$</Reference>
+ </Binding>
+ <Binding PropertyId="SelectedRow">
+ <Reference>$Variable/SelectedGridItem$</Reference>
+ </Binding>
+ <Binding PropertyId="SelectedRows">
+ <Reference>$Property/SelectedEntities$</Reference>
+ </Binding>
+ <Binding PropertyId="ColumnHeaderVisible">
+ <SimpleValue Type="xsd://string" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanReorderColumns">
+ <SimpleValue Type="xsd://string" Value="True" />
+ </Binding>
+ <Binding PropertyId="ItemsCount">
+ <Reference>$Variable/VisualizedDataCount$</Reference>
+ </Binding>
+ <Binding PropertyId="AutoSelect">
+ <SimpleValue Type="xsd://boolean" Value="False" />
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Ambari.SCOM.Presentation.Component.TriggeredComponentHost">
+ <Binding PropertyId="ComponentType">
+ <SimpleValue Type="xsd://string" Value="Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ManagedEntityPropertyTask" />
+ </Binding>
+ <Binding PropertyId="ComponentTarget">
+ <Reference>$Variable/SelectedGridItem$</Reference>
+ </Binding>
+ <Binding PropertyId="TriggerInstance">
+ <Reference>$Variable/DataGridActions$</Reference>
+ </Binding>
+ <Binding PropertyId="TriggerTypes">
+ <SimpleValue Type="xsd://string" Value="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/ItemPropertiesAction" />
+ </Binding>
+ <Binding PropertyId="TriggerTypes">
+ <SimpleValue Type="xsd://string" Value="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/DoubleClickedAction" />
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.OneWaySync">
+ <Binding PropertyId="From">
+ <Reference>$Property/SelectedEntities$</Reference>
+ </Binding>
+ <Binding PropertyId="To">
+ <Reference>$Service/SelectedItems$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.OneWaySync">
+ <Binding PropertyId="From">
+ <Reference>$Variable/VisualizedDataCount$</Reference>
+ </Binding>
+ <Binding PropertyId="To">
+ <Reference>$Service/Subtitle$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Ambari.SCOM.Presentation.Component.DataGridSortColumnsToSortColumnBaseCollection">
+ <Binding PropertyId="SortedColumns">
+ <Reference>$Property/SortedColumns$</Reference>
+ </Binding>
+ <Binding PropertyId="GroupedColumns">
+ <Reference>$Property/GroupedColumns$</Reference>
+ </Binding>
+ <Binding PropertyId="SortColumnBaseCollection">
+ <Reference>$Variable/SortColumnBaseCollection$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Ambari.SCOM.Presentation.Component.ColumnsToQueryConfigurationMapper">
+ <Binding PropertyId="PropertyList">
+ <Reference>$Property/Columns$</Reference>
+ </Binding>
+ <Binding PropertyId="SortPropertyList">
+ <Reference>$Variable/SortColumnBaseCollection$</Reference>
+ </Binding>
+ <Binding PropertyId="PropertyCollections">
+ <Reference>$Variable/ProjectionColumns$</Reference>
+ </Binding>
+ <Binding PropertyId="SortPropertyCollections">
+ <Reference>$Variable/SortProjectionColumns$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.AutoRefreshTimer">
+ <Binding PropertyId="TickInterval">
+ <Reference>$Property/AutoRefreshTickInterval$</Reference>
+ </Binding>
+ <Binding PropertyId="AutoRefreshAction">
+ <Reference>$Variable/AutoRefreshAction$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ <Binding PropertyId="Objects">
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.Consolidator">
+ <Binding PropertyId="From1">
+ <Reference>$Variable/AutoRefreshAction$</Reference>
+ </Binding>
+ <Binding PropertyId="From2">
+ <Reference>$Service/RefreshAction$</Reference>
+ </Binding>
+ <Binding PropertyId="To">
+ <Reference>$Variable/ConsolidatedRefreshAction$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ <!--
+ <Binding PropertyId="Objects">
+ <Component TypeId="StateCriteriaXMLToQueryString">
+ <Binding PropertyId="ConfigurationXMLString">
+ <Reference>$Property/Criteria$</Reference>
+ </Binding>
+ <Binding PropertyId="QueryString">
+ <Reference>$Variable/QueryCriteria$</Reference>
+ </Binding>
+ </Component>
+ </Binding>-->
+ <Binding PropertyId="Objects">
+ <Component TypeId="Ambari.SCOM.Presentation.Component.GetManagedEntitiesDataSource">
+ <!--
+ <Binding PropertyId="CriteriaString">
+ <Reference>$Variable/QueryCriteria$</Reference>
+ </Binding>-->
+ <Binding PropertyId="Output">
+ <Reference>$Variable/ManagedEntities$</Reference>
+ </Binding>
+ <Binding PropertyId="TargetEntities">
+ <Reference>$Property/TargetIds$</Reference>
+ </Binding>
+ <Binding PropertyId="BaseTypeNames">
+ <Reference>$Property/BaseManagementPackTypes$</Reference>
+ </Binding>
+ <Binding PropertyId="RecursionTypeNames">
+ <Reference>$Property/RecursionTypeNames$</Reference>
+ </Binding>
+ <Binding PropertyId="Properties">
+ <Reference>$Variable/ProjectionColumns/ManagedEntity$</Reference>
+ </Binding>
+ <Binding PropertyId="SortProperties">
+ <Reference>$Variable/SortProjectionColumns/ManagedEntity$</Reference>
+ </Binding>
+ <Binding PropertyId="Refresh">
+ <Reference>$Variable/ConsolidatedRefreshAction$</Reference>
+ </Binding>
+ </Component>
+ </Binding>
+ </Component>
+ </Composite>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/HdfsServicesState.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/HdfsServicesState.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/HdfsServicesState.mpx
new file mode 100644
index 0000000..1741160
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/HdfsServicesState.mpx
@@ -0,0 +1,163 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.Presentation.StringResource.HdfsServicesState.ClusterName" />
+ </StringResources>
+
+ <ComponentTypes>
+ <ComponentType ID="Ambari.SCOM.Presentation.Widget.HdfsServicesState"
+ Base="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidget"
+ Accessibility="Internal" />
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Widget.HdfsServicesStateImplementation"
+ TypeId="Ambari.SCOM.Presentation.Widget.HdfsServicesState"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Composite>
+ <Base>
+ <Binding PropertyId="BaseManagementPackTypes">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType">
+ <Binding PropertyId="FullyQualifiedName">
+ <SimpleValue Type="xsd://string" Value="Ambari.SCOM.Monitoring!Ambari.SCOM.ClusterService.Hdfs" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="Columns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.HealthState/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="HealthState" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='HealthState']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.StringResource.HdfsServicesState.ClusterName/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.InMaintenanceMode/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="InMaintenanceMode" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='InMaintenanceMode']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="SortedColumns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+ </Base>
+ </Composite>
+ </ComponentImplementation>
+ </ComponentImplementations>
+
+ <ComponentBehaviors>
+ <ComponentBehavior ID="Ambari.SCOM.Presentation.Widget.HdfsServicesStatePersonalizeBehavior"
+ BehaviorTypeId="Visualization!Microsoft.SystemCenter.Visualization.PersonalizeBehavior"
+ ComponentTypeId="Ambari.SCOM.Presentation.Widget.HdfsServicesState"
+ Accessibility="Internal">
+ <Bindings />
+ </ComponentBehavior>
+ </ComponentBehaviors>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Presentation.Widget.HdfsServicesState">
+ <Name>Hadoop HDFS Cluster Services</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.Presentation.StringResource.HdfsServicesState.ClusterName">
+ <Name>Parent Cluster Name</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/JobTrackersState.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/JobTrackersState.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/JobTrackersState.mpx
new file mode 100644
index 0000000..2ef64be
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/JobTrackersState.mpx
@@ -0,0 +1,163 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.Presentation.StringResource.JobTrackersState.ClusterName" />
+ </StringResources>
+
+ <ComponentTypes>
+ <ComponentType ID="Ambari.SCOM.Presentation.Widget.JobTrackersState"
+ Base="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidget"
+ Accessibility="Internal" />
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Widget.JobTrackersStateImplementation"
+ TypeId="Ambari.SCOM.Presentation.Widget.JobTrackersState"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Composite>
+ <Base>
+ <Binding PropertyId="BaseManagementPackTypes">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType">
+ <Binding PropertyId="FullyQualifiedName">
+ <SimpleValue Type="xsd://string" Value="Ambari.SCOM.Monitoring!Ambari.SCOM.HostComponent.JobTracker" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="Columns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.HealthState/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="HealthState" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='HealthState']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.StringResource.HdfsServicesState.ClusterName/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.InMaintenanceMode/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="InMaintenanceMode" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='InMaintenanceMode']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="SortedColumns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+ </Base>
+ </Composite>
+ </ComponentImplementation>
+ </ComponentImplementations>
+
+ <ComponentBehaviors>
+ <ComponentBehavior ID="Ambari.SCOM.Presentation.Widget.JobTrackersStatePersonalizeBehavior"
+ BehaviorTypeId="Visualization!Microsoft.SystemCenter.Visualization.PersonalizeBehavior"
+ ComponentTypeId="Ambari.SCOM.Presentation.Widget.JobTrackersState"
+ Accessibility="Internal">
+ <Bindings />
+ </ComponentBehavior>
+ </ComponentBehaviors>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Presentation.Widget.JobTrackersState">
+ <Name>Hadoop JobTracker Host Components</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.Presentation.StringResource.JobTrackersState.ClusterName">
+ <Name>Parent Cluster Name</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/MapReduceServicesState.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/MapReduceServicesState.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/MapReduceServicesState.mpx
new file mode 100644
index 0000000..12d9b95
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/MapReduceServicesState.mpx
@@ -0,0 +1,163 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.Presentation.StringResource.MapReduceServicesState.ClusterName" />
+ </StringResources>
+
+ <ComponentTypes>
+ <ComponentType ID="Ambari.SCOM.Presentation.Widget.MapReduceServicesState"
+ Base="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidget"
+ Accessibility="Internal" />
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Widget.MapReduceServicesStateImplementation"
+ TypeId="Ambari.SCOM.Presentation.Widget.MapReduceServicesState"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Composite>
+ <Base>
+ <Binding PropertyId="BaseManagementPackTypes">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType">
+ <Binding PropertyId="FullyQualifiedName">
+ <SimpleValue Type="xsd://string" Value="Ambari.SCOM.Monitoring!Ambari.SCOM.ClusterService.MapReduce" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="Columns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.HealthState/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="HealthState" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='HealthState']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.StringResource.HdfsServicesState.ClusterName/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.InMaintenanceMode/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="InMaintenanceMode" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='InMaintenanceMode']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="SortedColumns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+ </Base>
+ </Composite>
+ </ComponentImplementation>
+ </ComponentImplementations>
+
+ <ComponentBehaviors>
+ <ComponentBehavior ID="Ambari.SCOM.Presentation.Widget.MapReduceServicesStatePersonalizeBehavior"
+ BehaviorTypeId="Visualization!Microsoft.SystemCenter.Visualization.PersonalizeBehavior"
+ ComponentTypeId="Ambari.SCOM.Presentation.Widget.MapReduceServicesState"
+ Accessibility="Internal">
+ <Bindings />
+ </ComponentBehavior>
+ </ComponentBehaviors>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Presentation.Widget.MapReduceServicesState">
+ <Name>Hadoop MapReduce Cluster Services</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.Presentation.StringResource.MapReduceServicesState.ClusterName">
+ <Name>Parent Cluster Name</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
new file mode 100644
index 0000000..d49b3eb
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
@@ -0,0 +1,163 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.Presentation.StringResource.NameNodesState.ClusterName" />
+ </StringResources>
+
+ <ComponentTypes>
+ <ComponentType ID="Ambari.SCOM.Presentation.Widget.NameNodesState"
+ Base="Ambari.SCOM.Presentation.Widget.SingleRowSelectStateWidget"
+ Accessibility="Internal" />
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Widget.NameNodesStateImplementation"
+ TypeId="Ambari.SCOM.Presentation.Widget.NameNodesState"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Composite>
+ <Base>
+ <Binding PropertyId="BaseManagementPackTypes">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType">
+ <Binding PropertyId="FullyQualifiedName">
+ <SimpleValue Type="xsd://string" Value="Ambari.SCOM.Monitoring!Ambari.SCOM.HostComponent.NameNode" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="Columns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.HealthState/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="HealthState" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='HealthState']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.StringResource.HdfsServicesState.ClusterName/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="HeaderDisplayObject">
+ <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.InMaintenanceMode/DisplayName$" />
+ </Binding>
+ <Binding PropertyId="SortableGroupable">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="CanResize">
+ <SimpleValue Type="xsd://boolean" Value="True" />
+ </Binding>
+ <Binding PropertyId="Width">
+ <SimpleValue Type="xsd://string" Value="Auto" />
+ </Binding>
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="InMaintenanceMode" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/Property[Name='InMaintenanceMode']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+
+ <Binding PropertyId="SortedColumns">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataCollectionViewColumn[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+ <Binding PropertyId="PropertyName">
+ <SimpleValue Type="xsd://string" Value="ClusterName" />
+ </Binding>
+ <Binding PropertyId="XPath">
+ <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ClusterName']$" />
+ </Binding>
+ <Binding PropertyId="SourceType">
+ <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+ </Base>
+ </Composite>
+ </ComponentImplementation>
+ </ComponentImplementations>
+
+ <ComponentBehaviors>
+ <ComponentBehavior ID="Ambari.SCOM.Presentation.Widget.NameNodesStatePersonalizeBehavior"
+ BehaviorTypeId="Visualization!Microsoft.SystemCenter.Visualization.PersonalizeBehavior"
+ ComponentTypeId="Ambari.SCOM.Presentation.Widget.NameNodesState"
+ Accessibility="Internal">
+ <Bindings />
+ </ComponentBehavior>
+ </ComponentBehaviors>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Presentation.Widget.NameNodesState">
+ <Name>Hadoop NameNode Host Components</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.Presentation.StringResource.NameNodesState.ClusterName">
+ <Name>Parent Cluster Name</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.Designer.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.Designer.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.Designer.cs
new file mode 100644
index 0000000..1ca1ed0
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.Designer.cs
@@ -0,0 +1,147 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+namespace Ambari.SCOM.ScomPages.DiscoveryTemplate
+{
+ partial class AmbariDetailsPage {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing) {
+ if (disposing && (components != null)) {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent() {
+ this.lblDescription = new System.Windows.Forms.Label();
+ this.lblTitle = new Microsoft.EnterpriseManagement.Mom.Internal.UI.Controls.PageSectionLabel();
+ this.cbRunAsAccount = new System.Windows.Forms.ComboBox();
+ this.lblRunAsAccount = new System.Windows.Forms.Label();
+ this.txtAmbariUri = new System.Windows.Forms.TextBox();
+ this.lblAmbariUri = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // lblDescription
+ //
+ this.lblDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.lblDescription.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+ this.lblDescription.Location = new System.Drawing.Point(0, 39);
+ this.lblDescription.Name = "lblDescription";
+ this.lblDescription.Size = new System.Drawing.Size(436, 88);
+ this.lblDescription.TabIndex = 12;
+ this.lblDescription.Text = "Provide details about the Hadoop subscriptions you want to monitor.\r" +
+ "\n";
+ //
+ // lblTitle
+ //
+ this.lblTitle.BackColor = System.Drawing.Color.Transparent;
+ this.lblTitle.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold);
+ this.lblTitle.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+ this.lblTitle.Location = new System.Drawing.Point(0, 10);
+ this.lblTitle.MinimumSize = new System.Drawing.Size(244, 0);
+ this.lblTitle.Name = "lblTitle";
+ this.lblTitle.Size = new System.Drawing.Size(270, 18);
+ this.lblTitle.TabIndex = 7;
+ this.lblTitle.Text = "Hadoop Details";
+ //
+ // cbRunAsAccount
+ //
+ this.cbRunAsAccount.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.cbRunAsAccount.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cbRunAsAccount.FormattingEnabled = true;
+ this.cbRunAsAccount.Location = new System.Drawing.Point(3, 210);
+ this.cbRunAsAccount.Name = "cbRunAsAccount";
+ this.cbRunAsAccount.Size = new System.Drawing.Size(433, 21);
+ this.cbRunAsAccount.TabIndex = 10;
+ this.cbRunAsAccount.SelectedIndexChanged += new System.EventHandler(this.ValidatePageConfigurationEventHandler);
+ //
+ // lblRunAsAccount
+ //
+ this.lblRunAsAccount.AutoSize = true;
+ this.lblRunAsAccount.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+ this.lblRunAsAccount.Location = new System.Drawing.Point(0, 194);
+ this.lblRunAsAccount.Name = "lblRunAsAccount";
+ this.lblRunAsAccount.Size = new System.Drawing.Size(143, 13);
+ this.lblRunAsAccount.TabIndex = 11;
+ this.lblRunAsAccount.Text = "Credentials Run As Account:";
+ //
+ // txtAmbariUri
+ //
+ this.txtAmbariUri.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtAmbariUri.Location = new System.Drawing.Point(3, 158);
+ this.txtAmbariUri.Name = "txtAmbariUri";
+ this.txtAmbariUri.Size = new System.Drawing.Size(433, 20);
+ this.txtAmbariUri.TabIndex = 9;
+ this.txtAmbariUri.TextChanged += new System.EventHandler(this.ValidatePageConfigurationEventHandler);
+ //
+ // lblAmbariUri
+ //
+ this.lblAmbariUri.AutoSize = true;
+ this.lblAmbariUri.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+ this.lblAmbariUri.Location = new System.Drawing.Point(0, 142);
+ this.lblAmbariUri.Name = "lblAmbariUri";
+ this.lblAmbariUri.Size = new System.Drawing.Size(64, 13);
+ this.lblAmbariUri.TabIndex = 8;
+ this.lblAmbariUri.Text = "Ambari URI:";
+ //
+ // AmbariDetailsPage
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.lblDescription);
+ this.Controls.Add(this.lblTitle);
+ this.Controls.Add(this.cbRunAsAccount);
+ this.Controls.Add(this.lblRunAsAccount);
+ this.Controls.Add(this.txtAmbariUri);
+ this.Controls.Add(this.lblAmbariUri);
+ this.HeaderText = "Hadoop Details";
+ this.Name = "AmbariDetailsPage";
+ this.NavigationText = "Hadoop Details";
+ this.Size = new System.Drawing.Size(456, 400);
+ this.TabName = "Hadoop Details";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label lblDescription;
+ private Microsoft.EnterpriseManagement.Mom.Internal.UI.Controls.PageSectionLabel lblTitle;
+ private System.Windows.Forms.ComboBox cbRunAsAccount;
+ private System.Windows.Forms.Label lblRunAsAccount;
+ private System.Windows.Forms.TextBox txtAmbariUri;
+ private System.Windows.Forms.Label lblAmbariUri;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.cs
new file mode 100644
index 0000000..d96e407
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.cs
@@ -0,0 +1,119 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+using System;
+using System.Collections.Generic;
+using Microsoft.EnterpriseManagement.Mom.Internal.UI.Common;
+using Microsoft.EnterpriseManagement.Security;
+using Microsoft.EnterpriseManagement.UI;
+using System.Windows.Forms;
+
+namespace Ambari.SCOM.ScomPages.DiscoveryTemplate {
+ public partial class AmbariDetailsPage : UIPage {
+ public const string SharedUserDataAmbariUri = "AmbariDetails.AmbariUri";
+ public const string SharedUserDataRunAsId = "AmbariDetails.RunAsId";
+ public const string SharedUserDataRunAsName = "AmbariDetails.RunAsName";
+ public const string SharedUserDataRunAsSsid = "AmbariDetails.RunAsSsid";
+
+ private List<RunAsAccountWrapper> runAsAccountsList;
+
+ public AmbariDetailsPage() {
+ InitializeComponent();
+ }
+
+ public override void LoadPageConfig() {
+ if (!IsCreationMode) {
+ if (String.IsNullOrEmpty(InputConfigurationXml)) return;
+
+ try {
+ var pageConfig = (AmbariDetailsPageConfig)XmlHelper.Deserialize(InputConfigurationXml, typeof(AmbariDetailsPageConfig), true);
+ PopulateRunAsComboBox();
+
+ txtAmbariUri.Text = pageConfig.AmbariUri;
+
+ if (String.IsNullOrEmpty(pageConfig.RunAsAccount)) {
+ cbRunAsAccount.SelectedIndex = -1;
+ } else {
+ cbRunAsAccount.SelectedIndex = runAsAccountsList.FindIndex(a => a.AccountStorageIdString.Equals(pageConfig.RunAsAccount));
+ }
+
+ SetSharedUserData();
+ } catch (Exception) {
+ return;
+ }
+ }
+
+ IsConfigValid = ValidatePageConfiguration();
+ base.LoadPageConfig();
+ }
+
+ public override bool OnSetActive() {
+ PopulateRunAsComboBox();
+ return base.OnSetActive();
+ }
+
+
+ public override bool SavePageConfig() {
+ IsConfigValid = ValidatePageConfiguration();
+ if (!IsConfigValid) return false;
+
+ OutputConfigurationXml = XmlHelper.Serialize(
+ new AmbariDetailsPageConfig() {
+ AmbariUri = txtAmbariUri.Text.Trim().ToLowerInvariant(),
+ RunAsAccount = runAsAccountsList[cbRunAsAccount.SelectedIndex].AccountStorageIdString },
+ true);
+ SetSharedUserData();
+ return true;
+ }
+
+ private void PopulateRunAsComboBox() {
+ if (runAsAccountsList != null && runAsAccountsList.Count > 0) return;
+
+ var monitoringSecureData = ManagementGroup.Security.GetSecureData();
+
+ runAsAccountsList = new List<RunAsAccountWrapper>();
+ foreach (var data in monitoringSecureData) {
+ if (data.SecureDataType != SecureDataType.Simple &&
+ data.SecureDataType != SecureDataType.Basic) continue;
+ cbRunAsAccount.Items.Add(data.Name);
+ runAsAccountsList.Add(new RunAsAccountWrapper(data));
+ }
+ }
+
+ private void SetSharedUserData() {
+ SharedUserData[SharedUserDataAmbariUri] = txtAmbariUri.Text;
+
+ if (cbRunAsAccount.SelectedIndex < 0) return;
+ var account = runAsAccountsList[cbRunAsAccount.SelectedIndex];
+ SharedUserData[SharedUserDataRunAsId] = account.AccountStorageIdString;
+ SharedUserData[SharedUserDataRunAsName] = account.AccountName;
+ SharedUserData[SharedUserDataRunAsSsid] = account.AccountStorageIdByteArray;
+ }
+
+ private bool ValidatePageConfiguration() {
+ if (String.IsNullOrEmpty(txtAmbariUri.Text.Trim()) ||
+ cbRunAsAccount.SelectedIndex < 0)
+ return false;
+ SetSharedUserData();
+ return true;
+ }
+
+ private void ValidatePageConfigurationEventHandler(object sender, EventArgs e) {
+ IsConfigValid = ValidatePageConfiguration();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.resx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.resx b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.resx
new file mode 100644
index 0000000..525bd88
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPage.resx
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPageConfig.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPageConfig.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPageConfig.cs
new file mode 100644
index 0000000..ee4348c
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/AmbariDetailsPageConfig.cs
@@ -0,0 +1,27 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+using System;
+using System.Xml.Serialization;
+
+namespace Ambari.SCOM.ScomPages.DiscoveryTemplate {
+ [Serializable, XmlType(AnonymousType = true), XmlRoot(Namespace = "", IsNullable = false)]
+ public class AmbariDetailsPageConfig {
+ public string AmbariUri { get; set; }
+ public string RunAsAccount { get; set; }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/InputParser.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/InputParser.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/InputParser.cs
new file mode 100644
index 0000000..692b723
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ScomPages/DiscoveryTemplate/InputParser.cs
@@ -0,0 +1,94 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+using System;
+using System.ComponentModel;
+using System.Text.RegularExpressions;
+using Microsoft.EnterpriseManagement.Common;
+using Microsoft.EnterpriseManagement.Configuration;
+using Microsoft.EnterpriseManagement.Internal.UI.Authoring.Extensibility;
+using Microsoft.EnterpriseManagement.Mom.Internal.UI.Common;
+using Microsoft.EnterpriseManagement.UI;
+
+namespace Ambari.SCOM.ScomPages.DiscoveryTemplate {
+ public class InputParser : Component, IInputConfigurationParser {
+ private const string ClassNamePrefix = "Ambari.SCOM.AmbariSeed.";
+ private const string SeedDiscoveryNamePrefix = "Ambari.SCOM.Discovery.AmbariSeed.";
+ private const string ClustersDiscoveryNamePrefix = "Ambari.SCOM.Discovery.Clusters.";
+ private const string AccountOverrideNamePrefix = "Ambari.SCOM.Profile.Ambari.";
+ private static Regex AmbariUriNodeRegex = new Regex("<AmbariUri>([^<]*)</AmbariUri>", RegexOptions.CultureInvariant | RegexOptions.Compiled);
+ private static Regex WatcherNodesListNodeRegex = new Regex("<WatcherNodesList>([^<]*)</WatcherNodesList>", RegexOptions.CultureInvariant | RegexOptions.Compiled);
+ private static Regex SeedComputerNameNodeRegex = new Regex("<ComputerName>([^<]*)</ComputerName>", RegexOptions.CultureInvariant | RegexOptions.Compiled);
+
+ public InputParser(IContainer parentContainer) {
+ if (parentContainer != null) {
+ parentContainer.Add(this);
+ }
+ }
+
+ private void GetDiscoveryConfig(ITemplateContext templateContext, TemplateInputConfig templateConfig) {
+ foreach (var discovery in SDKHelper.GetFolderItems<ManagementPackDiscovery>(this, templateContext.OutputFolder)) {
+ var discoveryConfig = discovery.DataSource.Configuration;
+
+ if (discovery.Name.StartsWith(ClustersDiscoveryNamePrefix, StringComparison.OrdinalIgnoreCase)) {
+ if (WatcherNodesListNodeRegex.IsMatch(discoveryConfig))
+ templateConfig.WatcherNodesList = WatcherNodesListNodeRegex.Match(discoveryConfig).Groups[1].Value;
+ } else if (discovery.Name.StartsWith(SeedDiscoveryNamePrefix, StringComparison.OrdinalIgnoreCase)) {
+ if (SeedComputerNameNodeRegex.IsMatch(discoveryConfig))
+ templateConfig.SeedComputerName = SeedComputerNameNodeRegex.Match(discoveryConfig).Groups[1].Value;
+ if (AmbariUriNodeRegex.IsMatch(discoveryConfig))
+ templateConfig.AmbariUri = AmbariUriNodeRegex.Match(discoveryConfig).Groups[1].Value;
+ }
+ }
+ }
+
+ private string GetRunAsAccounts(ITemplateContext templateContext) {
+ var folderItems = SDKHelper.GetFolderItems<ManagementPackSecureReferenceOverride>(this, templateContext.OutputFolder);
+ foreach (var @override in folderItems) {
+ if (@override.Name.StartsWith(AccountOverrideNamePrefix, StringComparison.OrdinalIgnoreCase)) {
+ return @override.Value;
+ }
+ }
+ return String.Empty;
+ }
+
+ private string GetTemplateIdString(ITemplateContext templateContext) {
+ foreach (var mpClass in SDKHelper.GetFolderItems<ManagementPackClass>(this, templateContext.OutputFolder)) {
+ if (mpClass.Name.StartsWith(ClassNamePrefix, StringComparison.OrdinalIgnoreCase)) {
+ return mpClass.Name.Remove(0, ClassNamePrefix.Length);
+ }
+ }
+ throw new ObjectNotFoundException("No Hadoop Cluster class found in the template. Template instance may be corrupted. Try to remove and recreate the template.");
+ }
+
+ public bool LoadConfigurationXml(IPageContext pageContext) {
+ var templateContext = pageContext as ITemplateContext;
+ if (templateContext == null)
+ throw new InvalidOperationException("No template context provided for Input Parser. Configuration could not be loaded.");
+
+ var templateConfig = new TemplateInputConfig {
+ Name = templateContext.OutputFolder.DisplayName,
+ Description = templateContext.OutputFolder.Description,
+ RunAsAccount = GetRunAsAccounts(templateContext),
+ TemplateIdString = GetTemplateIdString(templateContext)
+ };
+ GetDiscoveryConfig(templateContext, templateConfig);
+ pageContext.ConfigurationXml = XmlHelper.Serialize(templateConfig, false);
+ return true;
+ }
+ }
+}