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:38 UTC
[16/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/ManagementMp/Shared Scripts/RestApi.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1
new file mode 100644
index 0000000..5e85905
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1
@@ -0,0 +1,61 @@
+## 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.
+
+$UserAgent = $("{0} (PowerShell {1}; .NET CLR {2}; {3})" -f "SCOM MP",
+ $(if ($Host.Version) { $Host.Version } else { "1.0" }),
+ [Environment]::Version,
+ [Environment]::OSVersion.ToString().Replace("Microsoft Windows ", "Win"))
+
+function InvokeRestAPI($uri, [string]$username, [string]$password, [string]$method = 'GET', [string]$requestBody = $null) {
+ # TODO: Remove prior to release!
+ #TraceTaskExecution "$method $uri $requestBody"
+ $request = [System.Net.HttpWebRequest]::Create($uri)
+ $request.Method = $method
+ $request.UserAgent = $UserAgent
+ $request.Timeout = 30000
+
+ $credentials = [Convert]::ToBase64String([Text.Encoding]::Default.GetBytes($username + ':' + $password));
+ $request.Headers.Add('Authorization', "Basic $credentials")
+
+ if ($requestBody) {
+ $requestData = [Text.Encoding]::UTF8.GetBytes($requestBody)
+ $request.ContentLength = $requestData.Length
+ $requestStream = $request.GetRequestStream()
+ $requestStream.Write($requestData, 0, $requestData.Length)
+ $requestStream.Close()
+ }
+
+ $response = $request.GetResponse()
+ if ([int]$response.StatusCode -lt 200 -or [int]$response.StatusCode -ge 300) {
+ throw "Ambari API response status is $($response.StatusCode) : $($response.StatusDescription)."
+ }
+ $reader = [IO.StreamReader] $response.GetResponseStream()
+ $jsonString = $reader.ReadToEnd()
+ $reader.Close()
+ $response.Close()
+
+ if ($jsonString) {
+ @{ StatusCode = [int]$response.StatusCode;
+ Body = ParseJsonString $jsonString }
+ } else {
+ @{ StatusCode = $response.StatusCode }
+ }
+}
+
+function JoinUri([string]$baseUri, [string]$segment) {
+ $baseUri.TrimEnd('/') + '/' + $segment.TrimStart('/')
+}
\ 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/ManagementMp/Tasks/ClusterService/StartClusterService.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx
new file mode 100644
index 0000000..890d241
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx
@@ -0,0 +1,45 @@
+<!--## 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">
+ <Monitoring>
+ <Tasks>
+ <Task ID="Ambari.SCOM.Management.Task.ClusterService.Start"
+ Target="HDLibrary!Ambari.SCOM.ClusterService"
+ Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+ <Category>Maintenance</Category>
+ <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeClusterServiceStateWriteAction">
+ <TimeoutSeconds>900</TimeoutSeconds>
+ <TargetState>STARTED</TargetState>
+ <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+ <OperationFriendlyName>Start $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+ </WriteAction>
+ </Task>
+ </Tasks>
+ </Monitoring>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Management.Task.ClusterService.Start">
+ <Name>Start Hadoop Cluster Service</Name>
+ <Description>Start all components participating in Cluster Service.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
\ 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/ManagementMp/Tasks/ClusterService/StopClusterService.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx
new file mode 100644
index 0000000..854e33c
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx
@@ -0,0 +1,45 @@
+<!--## 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">
+ <Monitoring>
+ <Tasks>
+ <Task ID="Ambari.SCOM.Management.Task.ClusterService.Stop"
+ Target="HDLibrary!Ambari.SCOM.ClusterService"
+ Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+ <Category>Maintenance</Category>
+ <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeClusterServiceStateWriteAction">
+ <TimeoutSeconds>900</TimeoutSeconds>
+ <TargetState>INSTALLED</TargetState>
+ <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+ <OperationFriendlyName>Stop $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+ </WriteAction>
+ </Task>
+ </Tasks>
+ </Monitoring>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Management.Task.ClusterService.Stop">
+ <Name>Stop Hadoop Cluster Service</Name>
+ <Description>Stop all components participating in Cluster Service.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
\ 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/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx
new file mode 100644
index 0000000..9d134a4
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx
@@ -0,0 +1,45 @@
+<!--## 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">
+ <Monitoring>
+ <Tasks>
+ <Task ID="Ambari.SCOM.Management.Task.HostComponent.Start"
+ Target="HDLibrary!Ambari.SCOM.ActiveHostComponent"
+ Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+ <Category>Maintenance</Category>
+ <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeHostComponentStateWriteAction">
+ <TimeoutSeconds>900</TimeoutSeconds>
+ <TargetState>STARTED</TargetState>
+ <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+ <OperationFriendlyName>Start $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+ </WriteAction>
+ </Task>
+ </Tasks>
+ </Monitoring>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Management.Task.HostComponent.Start">
+ <Name>Start Hadoop Host Component</Name>
+ <Description>Start component service on the Host.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
\ 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/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx
new file mode 100644
index 0000000..b2e5d77
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx
@@ -0,0 +1,45 @@
+<!--## 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">
+ <Monitoring>
+ <Tasks>
+ <Task ID="Ambari.SCOM.Management.Task.HostComponent.Stop"
+ Target="HDLibrary!Ambari.SCOM.ActiveHostComponent"
+ Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+ <Category>Maintenance</Category>
+ <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeHostComponentStateWriteAction">
+ <TimeoutSeconds>900</TimeoutSeconds>
+ <TargetState>INSTALLED</TargetState>
+ <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+ <OperationFriendlyName>Start $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+ </WriteAction>
+ </Task>
+ </Tasks>
+ </Monitoring>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Management.Task.HostComponent.Stop">
+ <Name>Stop Hadoop Host Component</Name>
+ <Description>Stop component service on the Host.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
\ 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/Modules/Modules.csproj
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj
new file mode 100644
index 0000000..42eb858
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--## 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.-->
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{AEAA0FB0-D274-491A-BEB5-5354584F1400}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Ambari.SCOM.Modules</RootNamespace>
+ <AssemblyName>Ambari.SCOM.Modules</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <SccProjectName>SAK</SccProjectName>
+ <SccLocalPath>SAK</SccLocalPath>
+ <SccAuxPath>SAK</SccAuxPath>
+ <SccProvider>SAK</SccProvider>
+ <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.EnterpriseManagement.HealthService">
+ <HintPath>..\Items\Libs\SCOM2012\Microsoft.EnterpriseManagement.HealthService.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Mom.Modules.DataTypes">
+ <HintPath>..\Items\Libs\SCOM2012\Microsoft.Mom.Modules.DataTypes.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="PropertyBagMultiplePerformanceDataMapperConfiguration.cs" />
+ <Compile Include="PropertyBagMultiplePerformanceDataMapper.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ 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/Modules/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..434edd6
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs
@@ -0,0 +1,53 @@
+// 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.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Modules")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Apache Ambari")]
+[assembly: AssemblyProduct("Modules")]
+[assembly: AssemblyCopyright("Copyright © Apache Ambari 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("82f64081-c600-4cf3-be87-80362636e15a")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs
new file mode 100644
index 0000000..2de73c5
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs
@@ -0,0 +1,134 @@
+// 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.Linq;
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Serialization;
+using Microsoft.EnterpriseManagement.HealthService;
+using Microsoft.EnterpriseManagement.Mom.Modules.DataItems;
+using Microsoft.EnterpriseManagement.Mom.Modules.DataItems.Performance;
+
+namespace Ambari.SCOM.Modules {
+ [MonitoringModule(ModuleType.Condition), ModuleOutput(true)]
+ public class PropertyBagMultiplePerformanceDataMapper : ModuleBase<MOMPerfDataItem> {
+ private readonly object shutdownLock;
+ private bool shutdown;
+
+ private PropertyBagMultiplePerformanceDataMapperConfiguration config;
+
+ public PropertyBagMultiplePerformanceDataMapper(ModuleHost<MOMPerfDataItem> moduleHost, XmlReader configuration, byte[] previousState)
+ : base(moduleHost) {
+ if (moduleHost == null)
+ throw new ArgumentNullException("moduleHost");
+
+ if (configuration == null)
+ throw new ArgumentNullException("configuration");
+
+ if (previousState != null) {
+ // Since this module never calls SaveState this value should be null.
+ throw new ArgumentOutOfRangeException("previousState");
+ }
+
+ shutdownLock = new object();
+
+ LoadConfiguration(configuration);
+ }
+
+ private void LoadConfiguration(XmlReader configuration) {
+ try {
+ config = (PropertyBagMultiplePerformanceDataMapperConfiguration)new XmlSerializer(typeof(PropertyBagMultiplePerformanceDataMapperConfiguration)).Deserialize(configuration);
+ } catch (InvalidOperationException xe) {
+ throw new ModuleException("Invalid module configuration.", xe);
+ }
+ }
+
+ [InputStream(0)]
+ public void OnNewDataItems(DataItemBase[] dataItems, bool logicalSet,
+ DataItemAcknowledgementCallback acknowledgedCallback, object acknowledgedState,
+ DataItemProcessingCompleteCallback completionCallback, object completionState) {
+ // Either both delegates are null or neither should be.
+ if ((acknowledgedCallback == null && completionCallback != null) ||
+ (acknowledgedCallback != null && completionCallback == null)) {
+ throw new ArgumentOutOfRangeException("acknowledgedCallback, completionCallback");
+ }
+
+ var ackNeeded = acknowledgedCallback != null;
+
+ lock (shutdownLock) {
+ if (shutdown) return;
+
+ var outputDataItems = new List<MOMPerfDataItem>();
+ var timeStamp = DateTime.UtcNow;
+ foreach (var dataItem in dataItems) {
+ var bag = dataItem is PropertyBagDataItem ? (PropertyBagDataItem)dataItem
+ : new PropertyBagDataItem(dataItem.GetItemXml());
+ foreach (var collection in bag.Collections) {
+ foreach (var record in collection.Value) {
+ double value;
+ if (record.Value == null ||
+ !double.TryParse(record.Value.ToString(), out value)) continue;
+
+ var mapping = config.Mappings.FirstOrDefault(m => m.PropertyName.Equals(record.Key, StringComparison.InvariantCultureIgnoreCase));
+ if (mapping == null) continue;
+
+ var perfDataItem = new MOMPerfDataItem(
+ timeStamp,
+ mapping.ObjectName, mapping.CounterName, mapping.InstanceName,
+ false, value,
+ config.ManagedEntityId, config.RuleId);
+
+ outputDataItems.Add(perfDataItem);
+ }
+ }
+ }
+
+ // Handle output
+ if (outputDataItems == null || outputDataItems.Count == 0) return;
+ if (ackNeeded) {
+ DataItemAcknowledgementCallback ackDelegate = delegate(object ackState) {
+ lock (shutdownLock) {
+ if (shutdown) return;
+ acknowledgedCallback(acknowledgedState);
+ completionCallback(completionState);
+ ModuleHost.RequestNextDataItem();
+ }
+ };
+
+ ModuleHost.PostOutputDataItems(outputDataItems.ToArray(), true/*logicalSet*/, ackDelegate, null);
+ } else {
+ ModuleHost.PostOutputDataItems(outputDataItems.ToArray(), true/*logicalSet*/);
+ ModuleHost.RequestNextDataItem();
+ }
+ }
+ }
+
+ public override void Shutdown() {
+ lock (shutdownLock) {
+ shutdown = true;
+ }
+ }
+
+ public override void Start() {
+ lock (shutdownLock) {
+ if (shutdown) return;
+ ModuleHost.RequestNextDataItem();
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs
new file mode 100644
index 0000000..618491d
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs
@@ -0,0 +1,38 @@
+// 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.Modules {
+ [Serializable, XmlRoot("Configuration")]
+ public class PropertyBagMultiplePerformanceDataMapperConfiguration {
+ [XmlArray("Mappings")]
+ [XmlArrayItem("Mapping")]
+ public MappingElement[] Mappings { get; set; }
+ public string RuleId { get; set; }
+ public string ManagedEntityId { get; set; }
+ }
+
+ [Serializable]
+ public class MappingElement {
+ public string PropertyName { get; set; }
+ public string ObjectName { get; set; }
+ public string CounterName { get; set; }
+ public string InstanceName { get; set; }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx
new file mode 100644
index 0000000..ae1be35
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx
@@ -0,0 +1,40 @@
+<!--## 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">
+ <Categories>
+ <Category ID="Ambari.SCOM.Presentation.Assembly.WidgetsWpf.Category"
+ Target="Ambari.SCOM.Presentation.Assembly.WidgetsWpf"
+ Value="Visualization!Microsoft.SystemCenter.Visualization.WpfComponentAssembly" />
+
+ <Category ID="Ambari.SCOM.Presentation.Assembly.WidgetsSilverlight.Category"
+ Target="Ambari.SCOM.Presentation.Assembly.WidgetsSilverlight"
+ Value="Visualization!Microsoft.SystemCenter.Visualization.SilverlightComponentAssembly" />
+ </Categories>
+
+ <Resources>
+ <Assembly ID="Ambari.SCOM.Presentation.Assembly.WidgetsWpf"
+ QualifiedName="Ambari.SCOM.Widgets.Wpf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
+ FileName="Ambari.SCOM.Widgets.Wpf.dll"
+ Accessibility="Internal" HasNullStream="false" />
+
+ <Assembly ID="Ambari.SCOM.Presentation.Assembly.WidgetsSilverlight"
+ QualifiedName="Ambari.SCOM.Widgets.Silverlight, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
+ FileName="Ambari.SCOM.Widgets.Silverlight.dll"
+ Accessibility="Internal" HasNullStream="false" />
+ </Resources>
+</ManagementPackFragment>
\ 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/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx
new file mode 100644
index 0000000..f659d7a
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx
@@ -0,0 +1,31 @@
+<!--## 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>
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.DataToForegroundDateTimeAxisConverterImplementation"
+ TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataToAxisConverter"
+ Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/ForegroundDateTimeAxis"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Charting.Axes.ForegroundDateTimeDataToAxisConverter</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx
new file mode 100644
index 0000000..ff075b6
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx
@@ -0,0 +1,31 @@
+<!--## 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>
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.DataToForegroundLinearAxisConverterImplementation"
+ TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataToAxisConverter"
+ Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/ForegroundLinearAxis"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Charting.Axes.ForegroundLinearDataToAxisConverter</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx
new file mode 100644
index 0000000..909b27e
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx
@@ -0,0 +1,140 @@
+<!--## 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">
+ <TypeDefinitions>
+ <SchemaTypes>
+ <SchemaType ID="Ambari.SCOM.Presentation.Schema.ChartDataTypes" Accessibility="Internal">
+ <!-- Copy-paste all base schema elements since they cannot be used from Visualization library -->
+ <xs:complexType name="SeriesConfiguration" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+ <xs:sequence minOccurs="0" maxOccurs="1">
+ <xs:element name="DataKey" type="xs:string" minOccurs="0" maxOccurs="1" />
+ <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1" />
+ <xs:element name="Color" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/Color" minOccurs="0" maxOccurs="1" />
+ <xs:element name="IsVisible" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+ <xs:element name="TooltipComponentTypeName" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="StackableSeriesConfiguration" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexContent>
+ <xs:extension base="SeriesConfiguration">
+ <xs:sequence minOccurs="0" maxOccurs="1">
+ <xs:element name="StackedSeriesType" type="xs:string" />
+ <xs:element name="Order" type="xs:int" />
+ <xs:element name="StackSize" type="xs:int" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="Series" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1" />
+ <xs:element name="Color" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/Color" minOccurs="0" maxOccurs="1" />
+ <xs:element name="IsVisible" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+ <xs:element name="TooltipComponentTypeName" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Series2D" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+ <xs:complexContent>
+ <xs:extension base="Series">
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="Data" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/Point2D" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- Series that can be stacked -->
+ <xs:complexType name="StackableSeries" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexContent>
+ <xs:extension base="Series2D" />
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- Series that contains stackable series -->
+ <xs:complexType name="StackedSeries" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+ <xs:complexContent>
+ <xs:extension base="Series">
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <!-- Use Data property because Chart control is hardcoded to use this one as data points for DataToSeriesConverter -->
+ <xs:element name="Data" type="StackableSeries" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="StackedAreaSeries" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexContent>
+ <xs:extension base="StackedSeries" />
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- Axes -->
+ <xs:complexType name="Axis" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:sequence minOccurs="0" maxOccurs="1">
+ <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1" />
+ <xs:element name="Orientation" type="xs:string" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="LinearAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexContent>
+ <xs:extension base="Axis">
+ <xs:sequence minOccurs="0" maxOccurs="1">
+ <xs:element name="Minimum" type="xs:integer" minOccurs="1" maxOccurs="1" />
+ <xs:element name="Maximum" type="xs:integer" minOccurs="1" maxOccurs="1" />
+ <xs:element name="Interval" type="xs:integer" minOccurs="1" maxOccurs="1" />
+ <xs:element name="AutoCalculate" type="xs:boolean" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xsd:complexType name="ForegroundLinearAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexContent>
+ <xs:extension base="LinearAxis" />
+ </xs:complexContent>
+ </xsd:complexType>
+
+ <xs:complexType name="DateTimeAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+ <xs:complexContent>
+ <xs:extension base="Axis">
+ <xs:sequence minOccurs="0" maxOccurs="1">
+ <xs:element name="Minimum" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+ <xs:element name="Maximum" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+ <xs:element name="Interval" type="xs:integer" minOccurs="1" maxOccurs="1" />
+ <xs:element name="DateTimeIntervalType" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/DateTimeIntervalType" minOccurs="1" maxOccurs="1" />
+ <xs:element name="AutoCalculate" type="xs:boolean" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xsd:complexType name="ForegroundDateTimeAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+ <xs:complexContent>
+ <xs:extension base="DateTimeAxis">
+ <xs:sequence minOccurs="0" maxOccurs="1">
+ <xs:element name="GridLinesHexColor" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xsd:complexType>
+ </SchemaType>
+ </SchemaTypes>
+ </TypeDefinitions>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx
new file mode 100644
index 0000000..dfca405
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx
@@ -0,0 +1,40 @@
+<!--## 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>
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.StackableSeriesFactoryImplementation"
+ TypeId="Visualization!Microsoft.SystemCenter.Visualization.SeriesFactory"
+ Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/StackableSeriesConfiguration"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Charting.SeriesFactories.StackableSeriesFactory</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.DataToStackedAreaSeriesConverterImplementation"
+ TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataToSeriesConverter"
+ Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/StackedAreaSeries"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Charting.DataSeriesConverters.StackedAreaDataToSeriesConverter</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx
new file mode 100644
index 0000000..a72b9a3
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx
@@ -0,0 +1,37 @@
+<!--## 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.Component.Charting.SeriesStacker" Accessibility="Internal">
+ <Property Name="Input" Type="BaseDataType[]" BindingDirection="In" />
+ <Property Name="Output" Type="BaseDataType[]" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.SeriesStackerImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.Charting.SeriesStacker"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Charting.SeriesStacker</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx
new file mode 100644
index 0000000..40dd555
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx
@@ -0,0 +1,38 @@
+<!--## 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.Component.CollectionElementAccessor" Accessibility="Internal">
+ <Property Name="Collection" Type="xsd://anyType[]" BindingDirection="In" />
+ <Property Name="ElementIndex" Type="xsd://int" BindingDirection="In" />
+ <Property Name="Element" Type="xsd://anyType" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.CollectionElementAccessorImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.CollectionElementAccessor"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Components.CollectionElementAccessor</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx
new file mode 100644
index 0000000..48a9510
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx
@@ -0,0 +1,38 @@
+<!--## 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.Component.EntitiesToInstancesWithRecursionLevelConverter" Accessibility="Internal">
+ <Property Name="Entities" Type="mpinstance://System.Library!System.Entity[]" BindingDirection="In" />
+ <Property Name="RecursionLevel" Type="xsd://int" BindingDirection="In" />
+ <Property Name="InstancesWithRecursionLevel" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataProvider/MPInstanceWithRecursionLevel[]" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.EntitiesToInstancesWithRecursionLevelConverterImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.EntitiesToInstancesWithRecursionLevelConverter"
+ Accessibility="Internal" Platform="Wpf, Silverlight">
+ <Unit>
+ <ContractFactory>Ambari.SCOM.Widgets.Components.EntitiesToInstancesWithRecursionLevelConverter</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx
new file mode 100644
index 0000000..773c62c
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx
@@ -0,0 +1,116 @@
+<!--## 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="GridLayout05CellWideTopConfig" Accessibility="Internal"
+ Base="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutConfigBase" />
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="GridLayout05CellWideTopConfigImplementation"
+ TypeId="GridLayout05CellWideTopConfig" Platform="All" Accessibility="Internal">
+ <Composite>
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutGenericConfig">
+ <Binding PropertyId="CellDefinitions">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ </ComplexValue>
+
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="3" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="3" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+ <Binding PropertyId="RowMinHeight">
+ <SimpleValue Type="xsd://int" Value="150" />
+ </Binding>
+ <Binding PropertyId="ColumnMinWidth">
+ <SimpleValue Type="xsd://int" Value="200" />
+ </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/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
new file mode 100644
index 0000000..64ed050
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
@@ -0,0 +1,116 @@
+<!--## 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="GridLayout05CellWideTopSmallTopLeftConfig" Accessibility="Internal"
+ Base="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutConfigBase" />
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="GridLayout05CellWideTopSmallTopLeftConfigImplementation"
+ TypeId="GridLayout05CellWideTopSmallTopLeftConfig" Platform="All" Accessibility="Internal">
+ <Composite>
+ <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutGenericConfig">
+ <Binding PropertyId="CellDefinitions">
+ <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition[]">
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ </ComplexValue>
+
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="3" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="0" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+ <Binding PropertyId="Row">
+ <SimpleValue Type="xsd://int" Value="3" />
+ </Binding>
+ <Binding PropertyId="RowSpan">
+ <SimpleValue Type="xsd://int" Value="2" />
+ </Binding>
+ <Binding PropertyId="Column">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ <Binding PropertyId="ColumnSpan">
+ <SimpleValue Type="xsd://int" Value="1" />
+ </Binding>
+ </ComplexValue>
+ </ComplexValueCollection>
+ </Binding>
+ <Binding PropertyId="RowMinHeight">
+ <SimpleValue Type="xsd://int" Value="150" />
+ </Binding>
+ <Binding PropertyId="ColumnMinWidth">
+ <SimpleValue Type="xsd://int" Value="200" />
+ </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/Components/Standard/CollectionDiplexer.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx
new file mode 100644
index 0000000..539b100
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx
@@ -0,0 +1,38 @@
+<!--## 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.Component.CollectionDiplexer" Accessibility="Internal">
+ <Property Name="Input1" Type="BaseDataType[]" BindingDirection="In" />
+ <Property Name="Input2" Type="BaseDataType[]" BindingDirection="In" />
+ <Property Name="Output" Type="BaseDataType[]" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Microsoft.SystemCenter.Visualization.CollectionDiplexerImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.CollectionDiplexer"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Microsoft.EnterpriseManagement.Presentation.Controls.CommonComponents.CollectionDiplexer</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx
new file mode 100644
index 0000000..1958b0b
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx
@@ -0,0 +1,51 @@
+<!--## 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.Component.ColumnsToQueryConfigurationMapper" Accessibility="Internal">
+ <Property Name="PropertyList" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/ColumnBase[]" BindingDirection="In" />
+ <Property Name="SortPropertyList" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" BindingDirection="In" />
+ <Property Name="PropertyCollections" Type="BaseDataType" BindingDirection="Out" />
+ <Property Name="SortPropertyCollections" Type="BaseDataType" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.ColumnsToQueryConfigurationMapperImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.ColumnsToQueryConfigurationMapper"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Microsoft.EnterpriseManagement.Monitoring.UnitComponents.Data.ColumnsToQueryConfigurationMapper</ContractFactory>
+ <Property Name="PropertyList" Direction="In">
+ <Reference>$Property/PropertyList$</Reference>
+ </Property>
+ <Property Name="SortPropertyList" Direction="In">
+ <Reference>$Property/SortPropertyList$</Reference>
+ </Property>
+ <Property Name="PropertyCollections" Direction="Out">
+ <Reference>$Property/PropertyCollections$</Reference>
+ </Property>
+ <Property Name="SortPropertyCollections" Direction="Out">
+ <Reference>$Property/SortPropertyCollections$</Reference>
+ </Property>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx
new file mode 100644
index 0000000..c1267b4
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx
@@ -0,0 +1,34 @@
+<!--## 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.Component.CommonDataSourceInterface" Accessibility="Internal">
+ <Property Name="Properties" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/ValueDefinition[]" BindingDirection="In" />
+ <Property Name="DataSourceIncludeProperties" Type="xsd://string" BindingDirection="In" />
+ <Property Name="Output" Type="BaseDataType[]" BindingDirection="Out" />
+ <Property Name="OutputItem" Type="BaseDataType" BindingDirection="Out" />
+ <Property Name="DisplayStrings" Type="BaseDataType" BindingDirection="Out" />
+ <Property Name="Refresh" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/RefreshAction" BindingDirection="In" />
+ <Property Name="ConnectionSessionTicket" Type="xsd://string" BindingDirection="In" />
+ <Property Name="IsBusy" Type="BaseDataType" BindingDirection="Out" />
+ <Property Name="LastError" Type="BaseDataType" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx
new file mode 100644
index 0000000..fcb8af8
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx
@@ -0,0 +1,38 @@
+<!--## 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.Component.DataGridSortColumnsToSortColumnBaseCollection" Accessibility="Internal">
+ <Property Name="GroupedColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" BindingDirection="In" />
+ <Property Name="SortedColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" BindingDirection="In" />
+ <Property Name="SortColumnBaseCollection" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/SortColumnBase[]" BindingDirection="Out" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.DataGridSortColumnsToSortColumnBaseCollectionImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.DataGridSortColumnsToSortColumnBaseCollection"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Microsoft.EnterpriseManagement.Presentation.Controls.CommonComponents.DataGridSortColumnsToSortColumnBaseCollection</ContractFactory>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx
new file mode 100644
index 0000000..1b3b13b
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx
@@ -0,0 +1,87 @@
+<!--## 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.Component.GetManagedEntitiesDataSource"
+ Base="Ambari.SCOM.Presentation.Component.CommonDataSourceInterface" Accessibility="Internal">
+ <Property Name="CriteriaString" Type="xsd://string" BindingDirection="In" />
+ <Property Name="BaseTypeNames" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]" BindingDirection="In" />
+ <Property Name="MaxEntities" Type="xsd://int" BindingDirection="In" />
+ <Property Name="TargetEntities" Type="mpinstance://System.Library!System.Entity[]" BindingDirection="In" />
+ <Property Name="RecursionTypeNames" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]" BindingDirection="In" />
+ <Property Name="SortProperties" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/SortValueDefinition[]" BindingDirection="In" />
+ </ComponentType>
+ </ComponentTypes>
+
+ <ComponentImplementations>
+ <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.GetManagedEntitiesDataSourceImplementation"
+ TypeId="Ambari.SCOM.Presentation.Component.GetManagedEntitiesDataSource"
+ Platform="Wpf, Silverlight" Accessibility="Internal">
+ <Unit>
+ <ContractFactory>Microsoft.EnterpriseManagement.Monitoring.UnitComponents.Data.GetManagedEntitiesDataSource</ContractFactory>
+ <Property Name="ConnectionSessionTicket" Direction="In">
+ <Reference>$Service/ConnectionSessionTicket$</Reference>
+ </Property>
+ <Property Name="IsBusy" Direction="Out">
+ <Reference>$Service/IsBusy$</Reference>
+ </Property>
+ <Property Name="LastError" Direction="Out">
+ <Reference>$Service/LastError$</Reference>
+ </Property>
+ <Property Name="Refresh" Direction="In">
+ <Reference>$Property/Refresh$</Reference>
+ </Property>
+ <Property Name="Properties" Direction="In">
+ <Reference>$Property/Properties$</Reference>
+ </Property>
+ <Property Name="DataSourceIncludeProperties" Direction="In">
+ <Reference>$Property/DataSourceIncludeProperties$</Reference>
+ </Property>
+ <Property Name="Output" Direction="Out">
+ <Reference>$Property/Output$</Reference>
+ </Property>
+ <Property Name="OutputItem" Direction="Out">
+ <Reference>$Property/OutputItem$</Reference>
+ </Property>
+ <Property Name="DisplayStrings" Direction="Out">
+ <Reference>$Property/DisplayStrings$</Reference>
+ </Property>
+ <Property Name="CriteriaString" Direction="In">
+ <Reference>$Property/CriteriaString$</Reference>
+ </Property>
+ <Property Name="BaseTypeNames" Direction="In">
+ <Reference>$Property/BaseTypeNames$</Reference>
+ </Property>
+ <Property Name="MaxEntities" Direction="In">
+ <Reference>$Property/MaxEntities$</Reference>
+ </Property>
+ <Property Name="TargetEntities" Direction="In">
+ <Reference>$Property/TargetEntities$</Reference>
+ </Property>
+ <Property Name="RecursionTypeNames" Direction="In">
+ <Reference>$Property/RecursionTypeNames$</Reference>
+ </Property>
+ <Property Name="SortProperties" Direction="In">
+ <Reference>$Property/SortProperties$</Reference>
+ </Property>
+ </Unit>
+ </ComponentImplementation>
+ </ComponentImplementations>
+ </Presentation>
+</ManagementPackFragment>