You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/02/05 22:05:30 UTC
[09/51] [partial] incubator-reef git commit: [REEF-131] Towards the
new .Net project structure This is to change .Net project structure for Tang,
Wake, REEF utilities, Common and Driver:
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Protobuf/injection_plan.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Protobuf/injection_plan.cs b/lang/cs/Source/TANG/Tang/Protobuf/injection_plan.cs
deleted file mode 100644
index d7a30dc..0000000
--- a/lang/cs/Source/TANG/Tang/Protobuf/injection_plan.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * 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.
- */
-
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-// Generated from: injection_plan.proto
-namespace InjectionPlanProto
-{
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name = @"InjectionPlan")]
- public partial class InjectionPlan : global::ProtoBuf.IExtensible
- {
- public InjectionPlan() { }
-
- private string _name;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name = @"name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string name
- {
- get { return _name; }
- set { _name = value; }
- }
- private Constructor _constructor = null;
- [global::ProtoBuf.ProtoMember(2, IsRequired = false, Name = @"constructor", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue(null)]
- public Constructor constructor
- {
- get { return _constructor; }
- set { _constructor = value; }
- }
- private Instance _instance = null;
- [global::ProtoBuf.ProtoMember(3, IsRequired = false, Name = @"instance", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue(null)]
- public Instance instance
- {
- get { return _instance; }
- set { _instance = value; }
- }
- private Subplan _subplan = null;
- [global::ProtoBuf.ProtoMember(4, IsRequired = false, Name = @"subplan", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue(null)]
- public Subplan subplan
- {
- get { return _subplan; }
- set { _subplan = value; }
- }
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name = @"Subplan")]
- public partial class Subplan : global::ProtoBuf.IExtensible
- {
- public Subplan() { }
-
- private int _selected_plan = default(int);
- [global::ProtoBuf.ProtoMember(1, IsRequired = false, Name = @"selected_plan", DataFormat = global::ProtoBuf.DataFormat.ZigZag)]
- [global::System.ComponentModel.DefaultValue(default(int))]
- public int selected_plan
- {
- get { return _selected_plan; }
- set { _selected_plan = value; }
- }
- private readonly global::System.Collections.Generic.List<InjectionPlan> _plans = new global::System.Collections.Generic.List<InjectionPlan>();
- [global::ProtoBuf.ProtoMember(2, Name = @"plans", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<InjectionPlan> plans
- {
- get { return _plans; }
- }
-
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name = @"Constructor")]
- public partial class Constructor : global::ProtoBuf.IExtensible
- {
- public Constructor() { }
-
- private readonly global::System.Collections.Generic.List<InjectionPlan> _args = new global::System.Collections.Generic.List<InjectionPlan>();
- [global::ProtoBuf.ProtoMember(1, Name = @"args", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<InjectionPlan> args
- {
- get { return _args; }
- }
-
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name = @"Instance")]
- public partial class Instance : global::ProtoBuf.IExtensible
- {
- public Instance() { }
-
- private string _value;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name = @"value", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string value
- {
- get { return _value; }
- set { _value = value; }
- }
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Tang.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Tang.csproj b/lang/cs/Source/TANG/Tang/Tang.csproj
deleted file mode 100644
index bc63f18..0000000
--- a/lang/cs/Source/TANG/Tang/Tang.csproj
+++ /dev/null
@@ -1,195 +0,0 @@
-<?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="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{97DBB573-3994-417A-9F69-FFA25F00D2A6}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>Org.Apache.Reef.Tang</RootNamespace>
- <AssemblyName>Org.Apache.Reef.Tang</AssemblyName>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <RestorePackages>true</RestorePackages>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..</SolutionDir>
- </PropertyGroup>
- <Import Project="$(SolutionDir)\Source\build.props" />
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Microsoft.Hadoop.Avro">
- <HintPath>$(PackagesDir)\Microsoft.Hadoop.Avro.$(AvroVersion)\lib\net40\Microsoft.Hadoop.Avro.dll</HintPath>
- </Reference>
- <Reference Include="Newtonsoft.Json">
- <HintPath>$(PackagesDir)\Newtonsoft.Json.$(NewtonsoftJsonVersion)\lib\net45\Newtonsoft.Json.dll</HintPath>
- </Reference>
- <Reference Include="protobuf-net">
- <HintPath>$(PackagesDir)\protobuf-net.$(ProtobufVersion)\lib\net40\protobuf-net.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Runtime.Serialization" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Annotations\DefaultImplementation.cs" />
- <Compile Include="Annotations\Inject.cs" />
- <Compile Include="Annotations\Name.cs" />
- <Compile Include="Annotations\NamedParameter.cs" />
- <Compile Include="Annotations\Parameter.cs" />
- <Compile Include="Annotations\Unit.cs" />
- <Compile Include="Exceptions\BindException.cs" />
- <Compile Include="Exceptions\ClassHierarchyException.cs" />
- <Compile Include="Exceptions\IllegalStateException.cs" />
- <Compile Include="Exceptions\InjectionException.cs" />
- <Compile Include="Exceptions\NameResolutionException.cs" />
- <Compile Include="Exceptions\ParseException.cs" />
- <Compile Include="Formats\AvroConfigurationDataContract\AvroConfiguration.cs" />
- <Compile Include="Formats\AvroConfigurationDataContract\ConfigurationEntry.cs" />
- <Compile Include="Formats\AvroConfigurationSerializer.cs" />
- <Compile Include="Formats\ConfigurationFile.cs" />
- <Compile Include="Formats\ConfigurationModule.cs" />
- <Compile Include="Formats\ConfigurationModuleBuilder.cs" />
- <Compile Include="Formats\IConfigurationSerializer.cs" />
- <Compile Include="Formats\IImpl.cs" />
- <Compile Include="Formats\IParam.cs" />
- <Compile Include="Formats\OptionalImpl.cs" />
- <Compile Include="Formats\OptionalParameter.cs" />
- <Compile Include="Formats\Provides.cs" />
- <Compile Include="Formats\RequiredImpl.cs" />
- <Compile Include="Formats\RequiredParameter.cs" />
- <Compile Include="Implementations\ClassHierarchy\AbstractNode.cs" />
- <Compile Include="Implementations\ClassHierarchy\ClassHierarchyImpl.cs" />
- <Compile Include="Implementations\ClassHierarchy\ClassNodeImpl.cs" />
- <Compile Include="Implementations\ClassHierarchy\ConstructorArgImpl.cs" />
- <Compile Include="Implementations\ClassHierarchy\ConstructorDefImpl.cs" />
- <Compile Include="Implementations\ClassHierarchy\NamedParameterNodeImpl.cs" />
- <Compile Include="Implementations\ClassHierarchy\NodeFactory.cs" />
- <Compile Include="Implementations\ClassHierarchy\PackageNodeImpl.cs" />
- <Compile Include="Implementations\ClassHierarchy\ParameterParser.cs" />
- <Compile Include="Implementations\Configuration\ConfigurationBuilderImpl.cs" />
- <Compile Include="Implementations\Configuration\ConfigurationImpl.cs" />
- <Compile Include="Implementations\Configuration\Configurations.cs" />
- <Compile Include="Implementations\Configuration\CsConfigurationBuilderImpl.cs" />
- <Compile Include="Implementations\Configuration\CsConfigurationImpl.cs" />
- <Compile Include="Implementations\InjectionPlan\Constructor.cs" />
- <Compile Include="Implementations\InjectionPlan\CsInstance.cs" />
- <Compile Include="Implementations\InjectionPlan\InjectionFuture.cs" />
- <Compile Include="Implementations\InjectionPlan\InjectionFuturePlan.cs" />
- <Compile Include="Implementations\InjectionPlan\InjectionPlan.cs" />
- <Compile Include="Implementations\InjectionPlan\InjectorImpl.cs" />
- <Compile Include="Implementations\InjectionPlan\ListInjectionPlan.cs" />
- <Compile Include="Implementations\InjectionPlan\SetInjectionPlan.cs" />
- <Compile Include="Implementations\InjectionPlan\Subplan.cs" />
- <Compile Include="Implementations\Tang\TangFactory.cs" />
- <Compile Include="Implementations\Tang\TangImpl.cs" />
- <Compile Include="Interface\IAspect.cs" />
- <Compile Include="Interface\IClassHierarchy.cs" />
- <Compile Include="Interface\IConfiguration.cs" />
- <Compile Include="Interface\IConfigurationBuilder.cs" />
- <Compile Include="Interface\ICsClassHierarchy.cs" />
- <Compile Include="Interface\ICsConfigurationBuilder.cs" />
- <Compile Include="Interface\ICsInternalConfigurationBuilder.cs" />
- <Compile Include="Interface\IExternalConstructor.cs" />
- <Compile Include="Interface\IInjector.cs" />
- <Compile Include="Interface\ITang.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Protobuf\class_hierarchy.cs" />
- <Compile Include="Protobuf\injection_plan.cs" />
- <Compile Include="Protobuf\ProtocolBufferClassHierarchy.cs" />
- <Compile Include="Protobuf\ProtocolBufferInjectionPlan.cs" />
- <Compile Include="Types\IClassNode.cs" />
- <Compile Include="Types\IConstructorArg.cs" />
- <Compile Include="Types\IConstructorDef.cs" />
- <Compile Include="Types\INamedParameterNode.cs" />
- <Compile Include="Types\INode.cs" />
- <Compile Include="Types\IPackageNode.cs" />
- <Compile Include="Types\ITraversable.cs" />
- <Compile Include="Util\AbstractMonotonicMultiMap.cs" />
- <Compile Include="Util\AssemblyLoader.cs" />
- <Compile Include="Util\GenericType.cs" />
- <Compile Include="Util\MonotonicHashMap.cs" />
- <Compile Include="Util\MonotonicHashSet.cs" />
- <Compile Include="Util\MonotonicMultiHashMap.cs" />
- <Compile Include="Util\MonotonicMultiMap.cs" />
- <Compile Include="Util\MonotonicSet.cs" />
- <Compile Include="Util\MonotonicTreeMap.cs" />
- <Compile Include="Util\ReflectionUtilities.cs" />
- <Compile Include="Util\SetValuedKey.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="packages.config" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="$(SourceDir)\Utilities\Utilities.csproj">
- <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
- <Name>Utilities</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.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>
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/IClassNode.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/IClassNode.cs b/lang/cs/Source/TANG/Tang/Types/IClassNode.cs
deleted file mode 100644
index 080bc2d..0000000
--- a/lang/cs/Source/TANG/Tang/Types/IClassNode.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * 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.Collections.Generic;
-
-namespace Org.Apache.Reef.Tang.Types
-{
- public interface IClassNode : INode
- {
- IList<IConstructorDef> GetInjectableConstructors();
- IConstructorDef GetConstructorDef(IList<IClassNode> args);
- IList<IConstructorDef> GetAllConstructors();
-
- void PutImpl(IClassNode impl);
- ISet<IClassNode> GetKnownImplementations();
- string GetDefaultImplementation();
- bool IsUnit();
- bool IsInjectionCandidate();
- bool IsExternalConstructor();
- bool IsImplementationOf(IClassNode inter);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/IConstructorArg.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/IConstructorArg.cs b/lang/cs/Source/TANG/Tang/Types/IConstructorArg.cs
deleted file mode 100644
index a754b0a..0000000
--- a/lang/cs/Source/TANG/Tang/Types/IConstructorArg.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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 Org.Apache.Reef.Tang.Types
-{
- public interface IConstructorArg
- {
- string GetName();
-
- string Gettype();
-
- bool IsInjectionFuture();
-
- string GetNamedParameterName();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/IConstructorDef.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/IConstructorDef.cs b/lang/cs/Source/TANG/Tang/Types/IConstructorDef.cs
deleted file mode 100644
index b5074a2..0000000
--- a/lang/cs/Source/TANG/Tang/Types/IConstructorDef.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * 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;
-
-namespace Org.Apache.Reef.Tang.Types
-{
- public interface IConstructorDef : IComparable
- {
- string GetClassName();
-
- IList<IConstructorArg> GetArgs();
-
- bool IsMoreSpecificThan(IConstructorDef def);
-
- bool TakesParameters(IList<IClassNode> paramTypes);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/INamedParameterNode.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/INamedParameterNode.cs b/lang/cs/Source/TANG/Tang/Types/INamedParameterNode.cs
deleted file mode 100644
index a92ded6..0000000
--- a/lang/cs/Source/TANG/Tang/Types/INamedParameterNode.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * 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 Org.Apache.Reef.Tang.Types
-{
- public interface INamedParameterNode : INode
- {
- string GetDocumentation();
-
- string GetShortName();
-
- string[] GetDefaultInstanceAsStrings();
-
- string GetSimpleArgName();
-
- string GetFullArgName();
-
- bool IsSet();
-
- bool IsList();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/INode.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/INode.cs b/lang/cs/Source/TANG/Tang/Types/INode.cs
deleted file mode 100644
index dc8b55c..0000000
--- a/lang/cs/Source/TANG/Tang/Types/INode.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * 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;
-
-namespace Org.Apache.Reef.Tang.Types
-{
- public interface INode : IComparable<INode>, ITraversable<INode>
- {
- string GetName();
-
- string GetFullName();
-
- bool Contains(string key);
-
- INode Get(string key);
-
- INode GetParent();
-
- void Add(INode node);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/IPackageNode.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/IPackageNode.cs b/lang/cs/Source/TANG/Tang/Types/IPackageNode.cs
deleted file mode 100644
index 9c4e0e4..0000000
--- a/lang/cs/Source/TANG/Tang/Types/IPackageNode.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * 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 Org.Apache.Reef.Tang.Types
-{
- public interface IPackageNode : INode
- {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Types/ITraversable.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Types/ITraversable.cs b/lang/cs/Source/TANG/Tang/Types/ITraversable.cs
deleted file mode 100644
index cd7c3c8..0000000
--- a/lang/cs/Source/TANG/Tang/Types/ITraversable.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 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.Collections.Generic;
-
-namespace Org.Apache.Reef.Tang.Types
-{
- public interface ITraversable<T> where T : ITraversable<T>
- {
- ICollection<T> GetChildren();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/AbstractMonotonicMultiMap.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/AbstractMonotonicMultiMap.cs b/lang/cs/Source/TANG/Tang/Util/AbstractMonotonicMultiMap.cs
deleted file mode 100644
index 3019d93..0000000
--- a/lang/cs/Source/TANG/Tang/Util/AbstractMonotonicMultiMap.cs
+++ /dev/null
@@ -1,263 +0,0 @@
-/**
- * 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 System.Linq;
-using System.Threading;
-using Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public abstract class AbstractMonotonicMultiMap<K, V> : ICollection<KeyValuePair<K, V>>
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(AbstractMonotonicMultiMap<K, V>));
-
- private readonly ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
-
- private IDictionary<K, ISet<V>> map;
-
- private int size = 0;
-
- public AbstractMonotonicMultiMap(IDictionary<K, ISet<V>> map)
- {
- this.map = map;
- }
-
- public ICollection<K> Keys
- {
- get { return map.Keys; }
- }
-
- public int Count
- {
- get { return size; }
- }
-
- public bool IsReadOnly
- {
- get { throw new NotImplementedException(); }
- }
-
- public void Add(K key, V val)
- {
- _lock.EnterWriteLock();
- try
- {
- ISet<V> vals;
- map.TryGetValue(key, out vals);
-
- if (vals == null)
- {
- vals = new MonotonicHashSet<V>();
- map.Add(key, vals);
- }
- vals.Add(val);
- size++;
- }
- finally
- {
- if (_lock.IsWriteLockHeld)
- {
- _lock.ExitWriteLock();
- }
- }
- }
-
- public ISet<V> GetValuesForKey(K key)
- {
- _lock.EnterReadLock();
- try
- {
- ISet<V> ret;
- map.TryGetValue(key, out ret);
- if (ret == null)
- {
- return new MonotonicHashSet<V>();
- }
- return ret;
- }
- finally
- {
- if (_lock.IsReadLockHeld)
- {
- _lock.ExitReadLock();
- }
- }
- }
-
- public bool Contains(K key, V val)
- {
- _lock.EnterReadLock();
- try
- {
- ISet<V> vals;
- map.TryGetValue(key, out vals);
-
- if (vals != null)
- {
- return vals.Contains(val);
- }
- return false;
- }
- finally
- {
- if (_lock.IsReadLockHeld)
- {
- _lock.ExitReadLock();
- }
- }
- }
-
- public bool Add(KeyValuePair<K, V> e)
- {
- Add(e.Key, e.Value);
- return true;
- }
-
- public bool AddAll(ICollection<KeyValuePair<K, V>> c) // where T : KeyValuePair<K, V>
- {
- bool ret = false;
- foreach (KeyValuePair<K, V> e in c)
- {
- Add(e);
- ret = true;
- }
- return ret;
- }
-
- public void Clear()
- {
- throw new NotSupportedException("MonotonicMultiMap cannot be cleared!");
- }
-
- public bool Contains(object o)
- {
- KeyValuePair<K, V> e = (KeyValuePair<K, V>)o;
- return Contains((K)e.Key, (V)e.Value);
- }
-
- public bool ContainsAll<T>(ICollection<T> c)
- {
- foreach (object o in c)
- {
- if (!Contains(o))
- {
- return false;
- }
- }
- return true;
- }
-
- public bool IsEmpty()
- {
- return size == 0;
- }
-
- public ISet<V> Values()
- {
- _lock.EnterReadLock();
-
- try
- {
- ISet<V> s = new HashSet<V>();
- foreach (KeyValuePair<K, V> e in this)
- {
- s.Add(e.Value);
- }
- return s;
- }
- finally
- {
- if (_lock.IsReadLockHeld)
- {
- _lock.ExitReadLock();
- }
- }
- }
-
- public int Size()
- {
- return size;
- }
-
- public bool ContainsKey(K k)
- {
- _lock.EnterReadLock();
-
- try
- {
- if (map.ContainsKey(k))
- {
- return (GetValuesForKey(k).Count != 0);
- }
- return false;
- }
- finally
- {
- if (_lock.IsReadLockHeld)
- {
- _lock.ExitReadLock();
- }
- }
- }
-
- void ICollection<KeyValuePair<K, V>>.Add(KeyValuePair<K, V> item)
- {
- throw new NotImplementedException();
- }
-
- public void CopyTo(KeyValuePair<K, V>[] array, int arrayIndex)
- {
- throw new NotImplementedException();
- }
-
- public bool Remove(KeyValuePair<K, V> item)
- {
- throw new NotImplementedException();
- }
-
- public bool Contains(KeyValuePair<K, V> item)
- {
- throw new NotImplementedException();
- }
-
- public IEnumerator<KeyValuePair<K, V>> GetEnumerator()
- {
- _lock.EnterReadLock();
-
- try
- {
- return map.SelectMany(kvp => kvp.Value, (kvp, v) => new KeyValuePair<K, V>(kvp.Key, v)).GetEnumerator();
- }
- finally
- {
- if (_lock.IsReadLockHeld)
- {
- _lock.ExitReadLock();
- }
- }
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- throw new NotImplementedException();
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/AssemblyLoader.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/AssemblyLoader.cs b/lang/cs/Source/TANG/Tang/Util/AssemblyLoader.cs
deleted file mode 100644
index 8f9175c..0000000
--- a/lang/cs/Source/TANG/Tang/Util/AssemblyLoader.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * 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 System.Reflection;
-using Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class AssemblyLoader
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(AssemblyLoader));
-
- public IList<Assembly> Assemblies { get; set; }
-
- public AssemblyLoader(string[] files)
- {
- Assemblies = new List<Assembly>();
- foreach (var a in files)
- {
- Assemblies.Add(Assembly.Load(a));
- }
- }
-
- public Type GetType(string name)
- {
- Type t = Type.GetType(name);
- if (t == null)
- {
- foreach (var a in Assemblies)
- {
- t = a.GetType(name);
- if (t != null)
- {
- return t;
- }
- }
-
- foreach (var a in AppDomain.CurrentDomain.GetAssemblies())
- {
- t = a.GetType(name);
- if (t != null)
- break;
- }
- }
-
- if (t == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ApplicationException("Not able to get Type from the name provided: " + name), LOGGER);
- }
- return t;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/GenericType.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/GenericType.cs b/lang/cs/Source/TANG/Tang/Util/GenericType.cs
deleted file mode 100644
index d6a4ea0..0000000
--- a/lang/cs/Source/TANG/Tang/Util/GenericType.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * 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;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class GenericType<T>
- {
- public static readonly GenericType<T> Class = null;
-
- public Type TypeT
- {
- get { return typeof(T); }
- }
-
- public override bool Equals(object obj)
- {
- GenericType<T> other = obj as GenericType<T>;
- if (other == null)
- {
- return false;
- }
-
- return TypeT == other.TypeT;
- }
-
- public override int GetHashCode()
- {
- return TypeT.GetHashCode();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/MonotonicHashMap.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/MonotonicHashMap.cs b/lang/cs/Source/TANG/Tang/Util/MonotonicHashMap.cs
deleted file mode 100644
index 0d1deb5..0000000
--- a/lang/cs/Source/TANG/Tang/Util/MonotonicHashMap.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * 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 Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class MonotonicHashMap<T, U> : Dictionary<T, U>
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(MonotonicHashMap<T, U>));
-
- public new void Add(T key, U value)
- {
- U old;
- TryGetValue(key, out old);
- if (old != null)
- {
- var ex = new ArgumentException("Attempt to re-add: [" + key + "] old value: " + old + " new value " + value);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- base.Add(key, value);
- }
-
- public void AddAll(IDictionary<T, U> m)
- {
- foreach (T t in m.Keys)
- {
- if (ContainsKey(t))
- {
- U old;
- m.TryGetValue(t, out old);
- Add(t, old); // guaranteed to throw.
- }
- }
- foreach (T t in m.Keys)
- {
- U old;
- m.TryGetValue(t, out old);
- Add(t, old);
- }
- }
-
- public bool IsEmpty()
- {
- return Count == 0;
- }
-
- public U Get(T key)
- {
- U val;
- TryGetValue(key, out val);
- return val;
- }
-
- public new void Clear()
- {
- throw new NotSupportedException();
- }
-
- public new bool Remove(T key)
- {
- throw new NotSupportedException();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/MonotonicHashSet.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/MonotonicHashSet.cs b/lang/cs/Source/TANG/Tang/Util/MonotonicHashSet.cs
deleted file mode 100644
index 20706ef..0000000
--- a/lang/cs/Source/TANG/Tang/Util/MonotonicHashSet.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * 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 System.Linq;
-using System.Threading;
-using Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class MonotonicHashSet<T> : HashSet<T>
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(MonotonicHashSet<T>));
- private readonly ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
-
- public MonotonicHashSet()
- {
- }
-
- public MonotonicHashSet(IEnumerable<T> collection)
- : base(collection)
- {
- }
-
- public MonotonicHashSet(T[] collection)
- : base(collection.ToList())
- {
- }
-
- public new bool Add(T e)
- {
- _lock.EnterWriteLock();
-
- try
- {
- if (Contains(e))
- {
- var ex = new ArgumentException("Attempt to re-add " + e
- + " to MonotonicSet!");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- return base.Add(e);
- }
- finally
- {
- if (_lock.IsWriteLockHeld)
- {
- _lock.ExitWriteLock();
- }
- }
- }
-
- public bool AddAll(ICollection<T> c)
- {
- _lock.EnterWriteLock();
- try
- {
- foreach (T t in c)
- {
- if (Contains(t))
- {
- var ex = new ArgumentException("Attempt to re-add " + t
- + " to MonotonicSet!");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- base.Add(t);
- }
- }
- finally
- {
- if (_lock.IsWriteLockHeld)
- {
- _lock.ExitWriteLock();
- }
- }
- return c.Count != 0;
- }
-
- public bool ContainsAll(ICollection<T> c)
- {
- _lock.EnterReadLock();
-
- try
- {
- foreach (T t in c)
- {
- if (!Contains(t))
- {
- return false;
- }
- }
- }
- finally
- {
- if (_lock.IsReadLockHeld)
- {
- _lock.ExitReadLock();
- }
- }
- return true;
- }
-
- public new void Clear()
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException("Attempt to clear MonotonicSet!"), LOGGER);
- }
-
- public bool Remove(object o)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException("Attempt to remove " + o + " from MonotonicSet!"), LOGGER);
- return false;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/MonotonicMultiHashMap.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/MonotonicMultiHashMap.cs b/lang/cs/Source/TANG/Tang/Util/MonotonicMultiHashMap.cs
deleted file mode 100644
index cc039aa..0000000
--- a/lang/cs/Source/TANG/Tang/Util/MonotonicMultiHashMap.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * 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.Collections.Generic;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class MonotonicMultiHashMap<K, V> : AbstractMonotonicMultiMap<K, V>
- {
- public MonotonicMultiHashMap() : base(new MonotonicHashMap<K, ISet<V>>())
- {
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/MonotonicMultiMap.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/MonotonicMultiMap.cs b/lang/cs/Source/TANG/Tang/Util/MonotonicMultiMap.cs
deleted file mode 100644
index 50d4c6a..0000000
--- a/lang/cs/Source/TANG/Tang/Util/MonotonicMultiMap.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * 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.Collections.Generic;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class MonotonicMultiMap<K, V> : AbstractMonotonicMultiMap<K, V>
- {
- public MonotonicMultiMap() : base(new MonotonicTreeMap<K, ISet<V>>())
- {
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/MonotonicSet.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/MonotonicSet.cs b/lang/cs/Source/TANG/Tang/Util/MonotonicSet.cs
deleted file mode 100644
index 2d52d0f..0000000
--- a/lang/cs/Source/TANG/Tang/Util/MonotonicSet.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * 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 Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class MonotonicSet<T> : SortedSet<T>
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(MonotonicSet<T>));
-
- //private static readonly long serialVersionUID = 1L;
- public MonotonicSet() : base()
- {
- }
-
- //public MonotonicSet(SortedSet<T> c) : base(c.Comparer)
- //{
- // AddAll(c);
- //}
-
- public MonotonicSet(ICollection<T> c)
- : base(c)
- {
- }
-
- public MonotonicSet(IComparer<T> c)
- : base(c)
- {
- }
-
- public new bool Add(T e) //TODO
- {
- if (this.Contains(e))
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException("Attempt to re-add " + e
- + " to MonotonicSet!"), LOGGER);
- }
- return base.Add(e);
- }
-
- public bool AddAll(ICollection<T> c)
- {
- foreach (T t in c)
- {
- this.Add(t);
- }
- return c.Count != 0;
- }
-
- public bool ContainsAll(ICollection<T> c)
- {
- foreach (T t in c)
- {
- if (!this.Contains(t))
- {
- return false;
- }
- }
- return true;
- }
-
- public bool AddAllIgnoreDuplicates(ICollection<T> c)
- {
- bool ret = false;
- foreach (T t in c)
- {
- if (!Contains(t))
- {
- Add(t);
- ret = true;
- }
- }
- return ret;
- }
-
- public override void Clear()
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException("Attempt to clear MonotonicSet!"), LOGGER);
- }
-
- public bool Remove(Object o)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException("Attempt to remove " + o
- + " from MonotonicSet!"), LOGGER);
- return false;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/MonotonicTreeMap.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/MonotonicTreeMap.cs b/lang/cs/Source/TANG/Tang/Util/MonotonicTreeMap.cs
deleted file mode 100644
index 623f249..0000000
--- a/lang/cs/Source/TANG/Tang/Util/MonotonicTreeMap.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * 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 System.Threading;
-using Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class MonotonicTreeMap<TKey, TVal> : SortedDictionary<TKey, TVal>
- {
- private readonly ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
-
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(MonotonicTreeMap<TKey, TVal>));
-
- public new void Add(TKey key, TVal value)
- {
- _lock.EnterWriteLock();
- try
- {
- TVal val;
- if (base.TryGetValue(key, out val))
- {
- var ex = new ArgumentException("Attempt to re-add: [" + key
- + "]\n old value: " + val + " new value " + value);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- else
- {
- base.Add(key, value);
- }
- }
- finally
- {
- if (_lock.IsWriteLockHeld)
- {
- _lock.ExitWriteLock();
- }
- }
- }
-
- public new void Clear() //TODO
- {
- throw new NotSupportedException();
- }
-
- public new void Remove(TKey key) //TODO
- {
- throw new NotSupportedException();
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/ReflectionUtilities.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/ReflectionUtilities.cs b/lang/cs/Source/TANG/Tang/Util/ReflectionUtilities.cs
deleted file mode 100644
index fec364d..0000000
--- a/lang/cs/Source/TANG/Tang/Util/ReflectionUtilities.cs
+++ /dev/null
@@ -1,594 +0,0 @@
-/**
- * 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 System.Globalization;
-using System.Linq;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Annotations;
-using Org.Apache.Reef.Tang.Exceptions;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- public class ReflectionUtilities
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(ReflectionUtilities));
-
- public static readonly string Regexp = "[\\.\\+]";
-
- /// <summary>
- /// Gets the AssemblyQualifiedName from the Type. This name is used in ClassHierarchy
- /// as a key when add a node as a child to parent. THe name is used as FullName in a Node
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns></returns>
- /// <exception cref="System.ArgumentException">null is passed in FullName() in ReflectionUtilities</exception>
- public static string GetAssemblyQualifiedName(Type name)
- {
- if (name == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException("null is passed in FullName() in ReflectionUtilities"), LOGGER);
- }
-
- Type t = EnsureInterfaceType(name);
-
- if (t.AssemblyQualifiedName == null && t.Name == null && t.FullName == null)
- {
- LOGGER.Log(Level.Warning, "The type's name is null: " + t.ToString());
- }
-
- if (t.AssemblyQualifiedName == null && t.Name != null)
- {
- return t.Name;
- }
-
- return t.AssemblyQualifiedName;
- }
-
- /// <summary>
- /// It returns Type.FullName. This name is used as Name in a Node.
- /// It is not unique for a generic type with different type of arguments.
- /// It is used for toString or debug info as AssemblyQualifiedName is really long
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns></returns>
- public static string GetName(Type name)
- {
- if (name.FullName != null)
- {
- return name.FullName;
- }
-
- //The following lines should be not reached by C# syntax definition. However, it happens for some generic type such as AbstractObserver<T>
- //It results in name as null. When null name in the class node gets deserialzed, as name is required filed in class hierarchy proto buffer schame,
- //it causes exception during deserialization. The code below is to use first portion of AssemblyQualifiedName for the name of the node node in case type.name is null.
- string[] parts = GetAssemblyQualifiedName(name).Split(',');
- return parts[0];
- }
-
- /// <summary>
- /// Gets the interface target.
- // Foo<T> , given Foo<T> and Foo return T
- // example class Foo : Bar<U>, Bas<T>
- // iface: Bar, type: Foo, return U
- // iface: Bas, type: Foo, return T
- // class ACons implements IExternalConstructor<A>
- // iface: IExternalConstructor<>, type: ACons return A
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="type">The type.</param>
- /// <returns></returns>
- public static Type GetInterfaceTarget(Type iface, Type type)
- {
- foreach (Type t in ReflectionUtilities.ClassAndAncestors(type))
- {
- if (IsGenericTypeof(iface, t))
- {
- return t.GetGenericArguments()[0]; //verify it
- }
- }
- return null;
- }
-
- public static Type GetInterfaceTargetForType(Type iface, Type type)
- {
- if (IsGenericTypeof(iface, type))
- {
- return type.GetGenericArguments()[0]; //verify it
- }
- return null;
- }
-
- /// <summary>
- /// Determines whether [is generic typeof] [the specified iface].
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="type">The type.</param>
- /// <returns>
- /// <c>true</c> if [is generic typeof] [the specified iface]; otherwise, <c>false</c>.
- /// </returns>
- /// <exception cref="System.ApplicationException"></exception>
- public static bool IsGenericTypeof(Type iface, Type type)
- {
- if (iface == null || type == null)
- {
- var ex = new ApplicationException(string.Format(CultureInfo.CurrentCulture,
- "The type passed in IsGenericTypeof is null: iface : {0} type: {1}. ",
- iface, type));
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- if (type.IsGenericType)
- {
- if (GetAssemblyQualifiedName(iface).Equals(GetAssemblyQualifiedNameForGeneric(type)))
- {
- return true;
- }
- }
- return false;
- }
-
- /// <summary>
- /// Classes the and ancestors.
- /// </summary>
- /// <param name="c">The c.</param>
- /// <returns></returns>
- public static IEnumerable<Type> ClassAndAncestors(Type c)
- {
- List<Type> workQueue = new List<Type>();
- workQueue.Add(c); //including itself
-
- foreach (Type t in c.GetInterfaces())
- {
- workQueue.Add(t);
- }
-
- Type b = c.BaseType;
- while (b != null)
- {
- workQueue.Add(b);
- b = b.BaseType;
- }
-
- if (c.IsInterface)
- {
- workQueue.Add(typeof (object));
- }
-
- return workQueue;
- }
-
- public static IEnumerable<Type> ClassAndAncestorsExcludeSelf(Type c)
- {
- List<Type> workQueue = new List<Type>();
- //workQueue.Add(c); //including itself
-
- foreach (Type t in c.GetInterfaces())
- {
- workQueue.Add(t);
- }
-
- Type b = c.BaseType;
- while (b != null)
- {
- workQueue.Add(b);
- b = b.BaseType;
- }
-
- if (c.IsInterface)
- {
- workQueue.Add(typeof(object));
- }
-
- return workQueue;
- }
-
- /// <summary>
- /// Boxes the class.
- /// </summary>
- /// <param name="c">The c.</param>
- /// <returns></returns>
- /// <exception cref="System.NotSupportedException">Encountered unknown primitive type!</exception>
- public static Type BoxClass(Type c)
- {
- if (c.IsPrimitive && c != typeof (Type))
- {
- if (c == typeof (bool))
- {
- return typeof (Boolean);
- }
- else if (c == typeof (byte))
- {
- return typeof (Byte);
- }
- else if (c == typeof (char))
- {
- return typeof (Char);
- }
- else if (c == typeof (short))
- {
- return typeof (Int16);
- }
- else if (c == typeof (int))
- {
- return typeof (Int32);
- }
- else if (c == typeof (long))
- {
- return typeof (Int64);
- }
- else if (c == typeof (float))
- {
- return typeof (Single);
- }
- else if (c == typeof (double))
- {
- return typeof (Double);
- }
- else
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException(
- "Encountered unknown primitive type!"), LOGGER);
- return c;
- }
- }
- else
- {
- return c;
- }
- }
-
- /// <summary>
- /// Determines whether the specified to is coercable.
- // public static boolean isCoercable(Class<?> to, Class<?> from) castable from to both are numbers and from has a few bits or subclass relationship
- /// </summary>
- /// <param name="to">To.</param>
- /// <param name="from">From.</param>
- /// <returns>
- /// <c>true</c> if the specified to is coercable; otherwise, <c>false</c>.
- /// </returns>
- public static bool IsCoercable(Type to, Type from)
- {
- to = BoxClass(to);
- from = BoxClass(from);
- //TODO
- //if (Number.class.isAssignableFrom(to)
- // && Number.class.isAssignableFrom(from)) {
- //return sizeof.get(from) <= sizeof.get(to);
- return to.IsAssignableFrom(from);
- //return IsAssignableFromIgnoreGeneric(to, from);
- }
-
- /// <summary>
- /// Determines whether [is assignable from ignore generic] [the specified to].
- /// </summary>
- /// <param name="to">To.</param>
- /// <param name="from">From.</param>
- /// <returns>
- /// <c>true</c> if [is assignable from ignore generic] [the specified to]; otherwise, <c>false</c>.
- /// </returns>
- public static bool IsAssignableFromIgnoreGeneric(Type to, Type from)
- {
- var f = ClassAndAncestors(from);
- foreach (Type t in f)
- {
- if (GetAssemblyQualifiedName(to).Equals(GetAssemblyQualifiedNameForGeneric(t)))
- {
- return true;
- }
- }
- return false;
- }
-
- /// <summary>
- /// Ensures the type of the interface. For generic types, full name could be null. In this case, we need to
- /// get GetGenericTypeDefinition for the type so that to rerain all teh type information
- /// </summary>
- /// <param name="interf">The interf.</param>
- /// <returns></returns>
- public static Type EnsureInterfaceType(Type interf)
- {
- if (interf != null && interf.IsGenericType && null == interf.FullName)
- {
- return interf.GetGenericTypeDefinition(); //this is to test if this line is ever reached
- }
- return interf;
- }
-
- /// <summary>
- /// Gets the assembly qualified name for generic.
- /// </summary>
- /// <param name="t">The t.</param>
- /// <returns></returns>
- public static string GetAssemblyQualifiedNameForGeneric(Type t)
- {
- Type t1 = t;
- if (t.IsGenericType)
- {
- t1 = t.GetGenericTypeDefinition();
- }
- return t1.AssemblyQualifiedName;
- }
-
- /// <summary>
- /// Determines whether [is instance of generic] [the specified p].
- /// </summary>
- /// <param name="p">The p.</param>
- /// <param name="t">The t.</param>
- /// <returns>
- /// <c>true</c> if [is instance of generic] [the specified p]; otherwise, <c>false</c>.
- /// </returns>
- public static bool IsInstanceOfGeneric(object p, Type t)
- {
- foreach (var g in ReflectionUtilities.ClassAndAncestors(p.GetType()))
- {
- if (GetAssemblyQualifiedNameForGeneric(t).Equals(GetAssemblyQualifiedNameForGeneric(g)))
- {
- return true;
- }
- }
- return false;
- }
-
- /// <summary>
- /// Gets the name of the type by.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns></returns>
- /// <exception cref="System.ApplicationException">Not able to get Type from the name provided: + name</exception>
- public static Type GetTypeByName(string name)
- {
- Type t = null;
-
- t = Type.GetType(name);
-
- if (t == null)
- {
- foreach (var a in AppDomain.CurrentDomain.GetAssemblies())
- {
- t = a.GetType(name);
- if (t != null)
- break;
- }
- }
- if (t == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ApplicationException("Not able to get Type from the name provided: " + name), LOGGER);
- }
-
- return t;
- }
-
- /// <summary>
- /// Gets the enclosing classes.
- /// </summary>
- /// <param name="t">The t.</param>
- /// <returns></returns>
- public static Type[] GetEnclosingClasses(Type t)
- {
- IList<Type> l = new List<Type>();
- l.Add(t);
- Type current = t.DeclaringType;
- while (current != null)
- {
- l.Add(current);
- current = current.DeclaringType;
- }
- return l.Reverse().ToArray();
- }
-
- /// <summary>
- /// Gets the enclosing class names.
- /// </summary>
- /// <param name="t">The t.</param>
- /// <returns></returns>
- /// <exception cref="System.ApplicationException">The Type passed to GetEnclosingClassShortNames is null</exception>
- public static string[] GetEnclosingClassNames(Type t)
- {
- if (t == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ApplicationException("The Type passed to GetEnclosingClassShortNames is null"), LOGGER);
- }
- Type[] ts = GetEnclosingClasses(t);
- string[] result = new string[ts.Length];
- for (int i = 0; i < ts.Length; i++)
- {
- result[i] = GetAssemblyQualifiedName(ts[i]);
- }
-
- return result;
- }
-
- /// <summary>
- /// Gets the enclosing class names.
- /// </summary>
- /// <param name="fullName">The full name.</param>
- /// <returns></returns>
- /// <exception cref="System.ApplicationException">The name passed to GetEnclosingClassShortNames is null</exception>
- public static string[] GetEnclosingClassNames(string fullName)
- {
- if (fullName == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ApplicationException("The name passed to GetEnclosingClassShortNames is null"), LOGGER);
- }
- Type t = ReflectionUtilities.GetTypeByName(fullName);
- return GetEnclosingClassNames(t);
- }
-
- /// <summary>
- /// Gets the named parameter target or null.
- /// </summary>
- /// <param name="type">The type.</param>
- /// <returns></returns>
- /// <exception cref="ClassHierarchyException">Named parameter + GetName(type) + implements
- /// + multiple interfaces. It is only allowed to implement Name</exception>
- public static Type GetNamedParameterTargetOrNull(Type type)
- {
- var npAnnotation = type.GetCustomAttribute<NamedParameterAttribute>();
- if (npAnnotation != null)
- {
- Type[] intfs = type.GetInterfaces();
- if (intfs.Length > 1)
- {
- var ex = new ClassHierarchyException("Named parameter " + GetName(type) + " implements "
- + "multiple interfaces. It is only allowed to implement Name<T>");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
-
- }
- else if (intfs.Length == 0 || !IsName(intfs[0]))
- {
- var ex = new ClassHierarchyException("Found illegal [NamedParameter " + GetName(type)
- + " does not implement Name<T>");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- Type[] args = intfs[0].GetGenericArguments();
- if (args.Length > 1)
- {
- var ex = new ClassHierarchyException("Found illegal [NamedParameter " + GetName(type)
- + " that has more than one arguments");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- if (args.Length == 0)
- {
- var ex = new ClassHierarchyException("Found illegal [NamedParameter " + GetName(type)
- + " that has no argument");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- if (HasConstructor(type) || HasInjectableConstructor(type))
- {
- var ex = new ClassHierarchyException("Named parameter " + GetName(type) + " has "
- + (HasInjectableConstructor(type) ? "an injectable" : "a") + " constructor. "
- + " Named parameters must not declare any constructors.");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
-
- return args[0];
- }
-
- if (ImplementName(type)) //Implement Name<> but no [NamedParameter] attribute
- {
- var ex = new ClassHierarchyException("Named parameter " + GetName(type)
- + " is missing its [NamedParameter] attribute.");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- return null;
- }
-
- public static IEnumerable<Type> GetInterfaces(Type type, bool includeInherited)
- {
- if (includeInherited || type.BaseType == null)
- return type.GetInterfaces();
- else
- return type.GetInterfaces().Except(type.BaseType.GetInterfaces());
- }
-
- // Here is a more elaborate hack to test for annonymous type:
- // http://stackoverflow.com/questions/2483023/how-to-test-if-a-type-is-anonymous
- // compiler generated classes are always recreatable and need not additional references to check for.
- public static bool IsAnnonymousType(Type type)
- {
- if (type != null)
- {
- // HACK: The only way to detect anonymous types right now.
- return Attribute.IsDefined(type, typeof(CompilerGeneratedAttribute), false)
- && type.IsGenericType && type.Name.Contains("AnonymousType")
- && (type.Name.StartsWith("<>", true, CultureInfo.CurrentCulture) || type.Name.StartsWith("VB$", true, CultureInfo.CurrentCulture))
- && (type.Attributes & TypeAttributes.NotPublic) == TypeAttributes.NotPublic;
- }
- return false;
- }
-
- private static bool ImplementName(Type type)
- {
- foreach (Type t in type.GetInterfaces())
- {
- if (IsName(t))
- {
- return true;
- }
- }
- return false;
- }
-
- private static bool IsName(Type t)
- {
- if (t.IsGenericType)
- {
- return t.GetGenericTypeDefinition().AssemblyQualifiedName.Equals(typeof (Name<>).AssemblyQualifiedName);
- }
- return false;
- }
-
- private static bool HasConstructor(Type type)
- {
- bool hasConstructor = false;
-
- ConstructorInfo[] constructors =
- type.GetConstructors(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
-
- if (constructors.Length > 1)
- {
- hasConstructor = true;
- }
-
- if (constructors.Length == 1)
- {
- ConstructorInfo c = constructors[0];
- ParameterInfo[] p = c.GetParameters();
- if (p.Length > 1)
- {
- // Multiple args. Definitely not implicit.
- hasConstructor = true;
- }
- else if (p.Length == 1)
- {
- // One arg. Could be an inner class, in which case the compiler
- // included an implicit one parameter constructor that takes the
- // enclosing type.
- if (p[0].ParameterType != type.DeclaringType)
- {
- hasConstructor = true;
- }
- }
- }
- return hasConstructor;
- }
-
- private static bool HasInjectableConstructor(Type type)
- {
- bool isInjectable = false;
-
- ConstructorInfo[] constructors =
- type.GetConstructors(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
-
- foreach (ConstructorInfo c in constructors)
- {
- foreach (Attribute a in c.GetCustomAttributes())
- {
- if (a is InjectAttribute)
- {
- isInjectable = true;
- }
- }
- }
- return isInjectable;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Util/SetValuedKey.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Util/SetValuedKey.cs b/lang/cs/Source/TANG/Tang/Util/SetValuedKey.cs
deleted file mode 100644
index 4c3090e..0000000
--- a/lang/cs/Source/TANG/Tang/Util/SetValuedKey.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * 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 System.Linq;
-
-namespace Org.Apache.Reef.Tang.Util
-{
- class SetValuedKey
- {
- public IList<object> key;
-
- public SetValuedKey(object[] ts, object[] us)
- {
- key = ts.ToList<object>();
- foreach (var o in us)
- {
- key.Add(o);
- }
- }
-
- public override int GetHashCode()
- {
- int i = 0;
- foreach (object t in key)
- {
- i += t.GetHashCode();
- }
- return i;
- }
-
- public override bool Equals(Object o)
- {
- SetValuedKey other = (SetValuedKey)o;
- if (other.key.Count != this.key.Count) { return false; }
- for (int i = 0; i < this.key.Count; i++)
- {
- if (this.key[i].Equals(other.key[i]))
- {
- return false;
- }
- }
- return true;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/packages.config
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/packages.config b/lang/cs/Source/TANG/Tang/packages.config
deleted file mode 100644
index 933b7e1..0000000
--- a/lang/cs/Source/TANG/Tang/packages.config
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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.
--->
-<packages>
- <package id="Microsoft.Hadoop.Avro" version="1.4.0.0" targetFramework="net45" />
- <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net45" />
- <package id="protobuf-net" version="2.0.0.668" targetFramework="net45" />
-</packages>
\ No newline at end of file