Ejemplo n.º 1
0
 private IClassNode ParseDefaultImplementation(IClassNode cn)
 {
     if (cn.GetDefaultImplementation() != null)
     {
         try
         {
             return((IClassNode)this.classHierarchy.GetNode(cn.GetDefaultImplementation()));
         }
         catch (NameResolutionException e)
         {
             var ex = new IllegalStateException("After validation, " + cn + " had a bad default implementation named " + cn.GetDefaultImplementation(), e);
             Org.Apache.REEF.Utilities.Diagnostics.Exceptions.CaughtAndThrow(ex, Level.Error, LOGGER);
         }
     }
     return(null);
 }
Ejemplo n.º 2
0
 private IClassNode ParseDefaultImplementation(IClassNode cn)
 {
     if (cn.GetDefaultImplementation() != null)
     {
         try
         {
             return((IClassNode)this.classHierarchy.GetNode(cn.GetDefaultImplementation()));
         }
         catch (NameResolutionException e)
         {
             throw new IllegalStateException("After validation, " + cn + " had a bad default implementation named " + cn.GetDefaultImplementation(), e);
         }
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 3
0
        public IClassHierarchy Merge(IClassHierarchy ch)
        {
            if (this == ch)
            {
                return(this);
            }

            if (!(ch is ProtocolBufferClassHierarchy))
            {
                Org.Apache.REEF.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException(
                                                                           "Cannot merge ExternalClassHierarchies yet!"), LOGGER);
            }

            ProtocolBufferClassHierarchy pch = (ProtocolBufferClassHierarchy)ch;

            foreach (var pair in pch.lookupTable)
            {
                if (!this.lookupTable.ContainsKey(pair.Key))
                {
                    this.lookupTable.Add(pair);
                }
            }

            foreach (INode n in ch.GetNamespace().GetChildren())
            {
                if (!rootNode.Contains(n.GetFullName()))
                {
                    if (n is INamedParameterNode)
                    {
                        INamedParameterNode np = (INamedParameterNode)n;
                        new NamedParameterNodeImpl(this.rootNode, np.GetName(),
                                                   np.GetFullName(), np.GetFullArgName(), np.GetSimpleArgName(),
                                                   np.IsSet(), np.IsList(), np.GetDocumentation(), np.GetShortName(),
                                                   np.GetDefaultInstanceAsStrings().ToArray());
                    }
                    else if (n is IClassNode)
                    {
                        IClassNode cn = (IClassNode)n;
                        new ClassNodeImpl(rootNode, cn.GetName(), cn.GetFullName(),
                                          cn.IsUnit(), cn.IsInjectionCandidate(),
                                          cn.IsExternalConstructor(), cn.GetInjectableConstructors(),
                                          cn.GetAllConstructors(), cn.GetDefaultImplementation());
                    }
                }
            }

            return(this);
        }
Ejemplo n.º 4
0
 private IClassNode ParseDefaultImplementation(IClassNode cn)
 {
     if (cn.GetDefaultImplementation() != null)
     {
         try
         {
             return (IClassNode)this.classHierarchy.GetNode(cn.GetDefaultImplementation());
         }
         catch( NameResolutionException e)
         {
             throw new IllegalStateException("After validation, " + cn + " had a bad default implementation named " + cn.GetDefaultImplementation(), e);
         }
     }
     else
     {
         return null;
     }
 }