Details

    • Sub-task
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • All
    • None

    Description

      They are fewer than TODOs, so I'm not creating per-project issues.
      Note that there are some FIXME messages not detected by Checkstyle (they are part of string constants, not comments).

      org/apache/reef/common/AbstractFailure.java
      
        * FIXME: Replace RuntimeException with a better class.
      
        public Throwable asError() {
          return this.cause.isPresent() ? this.cause.get() : new RuntimeException(this.toString());
        }
      
      org/apache/reef/runtime/common/driver/evaluator/Evaluators.java
      org/apache/reef/runtime/common/driver/resourcemanager/ResourceAllocationHandler.java
      
        * FIXME: This method is a temporary fix for the race condition
        * described in issues #828 and #839.
      
        public synchronized void put(
            final EvaluatorManagerFactory evaluatorManagerFactory,
            final ResourceAllocationEvent evaluatorMsg) {
          this.put(evaluatorManagerFactory.getNewEvaluatorManagerForNewEvaluator(evaluatorMsg));
        }
      

      Issue #828 is resolved, #839 stays open in CISL version of REEF.

      org/apache/reef/tang/util/Tint.java
      
        private void processDefaultAnnotation(final Class<?> cmb) {
          final DefaultImplementation di = cmb.getAnnotation(DefaultImplementation.class);
          // XXX hack: move to helper method + unify with rest of Tang!
          if (di != null) {
            final String diName = di.value() == Void.class ? di.name() : ReflectionUtilities.getFullName(di.value());
            final ClassNode<?> cn = (ClassNode<?>) ch.getNode(cmb);
            final String cnS = cn.getFullName();
            if (!usages.contains(diName, cnS)) {
              usages.put(diName, cnS);
              if (!knownClasses.contains(cn)) {
                knownClasses.add(cn);
              }
            }
          }
        }
      
      org/apache/reef/wake/profiler/WakeProfiler.java
      
          boolean isEventHandler = false;
          for (final Method m : clazz.getDeclaredMethods()) {
            if (m.getName().equals("onNext")) { // XXX hack: Interpose on "event handler in spirit"
              isEventHandler = true;
            }
          }
      
      org/apache/reef/tang/implementation/java/InjectorImpl.java
      
        <T> void bindVolatileParameterNoCopy(final Class<? extends Name<T>> cl, final T o)
            ...
            if (old != null) {
              // XXX need to get the binding site here!
              throw new BindException(
                  "Attempt to re-bind named parameter " + ReflectionUtilities.getFullName(cl) + ".  Old value was [" + old
                      + "] new value is [" + o + "]");
            }
      
      org/apache/reef/tang/implementation/java/JavaNodeFactory.java
      
            if (defaultImplementationClazz.equals(Void.class)) {
              defaultImplementation = defaultImpl.name();
              // XXX check isAssignableFrom, other type problems here.
            }
      
        /**
         * XXX: This method assumes that all generic types have exactly one type parameter.
         */
        public static <T> NamedParameterNode<T> createNamedParameterNode(final Node parent,
                                                                         final Class<? extends Name<T>> clazz,
                                                                         final Type argClass)
            throws ClassHierarchyException {
      
      org/apache/reef/tang/implementation/java/JavaNodeFactory.java
      
                catch (final ParseException e) {
                  // Parsability is now pre-checked in bindSet, so it should not be reached!
                  throw new IllegalStateException("Could not parse " + o + " which was passed into " + np +
                      " FIXME: Parsability is not currently checked by bindSetEntry(Node,String)", e);
                }
      
      org/apache/reef/tang/implementation/protobuf/ProtocolBufferInjectionPlan.java
      
        private Object parse(final String type, final String value) {
          // XXX this is a placeholder for now.  We need a parser API that will
          // either produce a live java object or (partially) validate stuff to
          // see if it looks like the target language will be able to handle this
          // type + value.
          return value;
        }
      

      ProtocolBufferInjectionPlan class is not used - do we need to keep it?

      org/apache/reef/tang/util/ReflectionUtilities.java
      
            if (clazz instanceof WildcardType) {
              workQueue.add(Object.class); // XXX not really correct, but close enough?
            } else if (clazz instanceof TypeVariable) {
              workQueue.add(Object.class); // XXX not really correct, but close enough?
            }
      
      org/apache/reef/tang/util/walk/Walk.java
      
         * FIXME: handle loopy graphs correctly!
      
        public static <T extends Traversable<T>> boolean preorder(
            final NodeVisitor<T> nodeVisitor, final EdgeVisitor<T> edgeVisitor, final T node) {
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            MariiaMykhailova Mariia Mykhailova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: