Package gov.nasa.arc.mct.evaluator.api

Examples of gov.nasa.arc.mct.evaluator.api.Evaluator


      addEvaluator(parent);
   
  }
 
  private void addEvaluator(AbstractComponent comp) {
    Evaluator evaluator = comp.getCapability(Evaluator.class);
    if (evaluator == null) return;
   
    // Can only handle enum & imars/enum ...
    String language = evaluator.getLanguage();   
    if (!(language.equals("enum") || language.equals("imars/enum"))) {
      return;
    }
   
    // Track possible enumerations
    List<String> enumerations = new ArrayList<String> ();   
    StringTokenizer codes = new StringTokenizer(evaluator.getCode(), "\t");
   
    while (codes.hasMoreTokens()) {
      String code = codes.nextToken();
      int skip = 0;
      if (language.equals("enum")) skip = 2; // Skip first two terms
View Full Code Here


 
  @Test
  @SuppressWarnings("unchecked")
  public void testEvaluatorCapability() {
    EvaluatorComponent ec = new EvaluatorComponent();
    Evaluator e = ec.getCapability(Evaluator.class);
    EvaluatorProviderRegistry registry = new EvaluatorProviderRegistry();
   
    Assert.assertNotNull(e.evaluate(Collections.<String,List<Map<String,String>>>emptyMap(), Collections.<FeedProvider>emptyList()));
   
    ec = new EvaluatorComponent();
    final String language = "test/language";
    EvaluatorModelRole mcr = ec.getModel();
    mcr.getData().setLanguage(language);
    final FeedProvider.RenderingInfo expectedRenderingInfo = new FeedProvider.RenderingInfo("", Color.black, "", Color.black, false);
   
    EvaluatorProvider ep = Mockito.mock(EvaluatorProvider.class);
    e = ec.getCapability(Evaluator.class);
    registry.addProvider(ep);
    Executor executor = Mockito.mock(Executor.class);
    Mockito.when(executor.evaluate(Mockito.anyMap(), Mockito.anyList())).thenReturn(expectedRenderingInfo);
    Mockito.when(ep.getLanguage()).thenReturn(language);
    Mockito.when(ep.compile(Mockito.anyString())).thenReturn(executor);
   
    Assert.assertSame(expectedRenderingInfo, e.evaluate(Collections.<String,List<Map<String,String>>>emptyMap(), Collections.<FeedProvider>emptyList()));
  }
View Full Code Here

 
  @Test
  @SuppressWarnings("unchecked")
  public void testMultiCapability() {
    MultiComponent mc = new MultiComponent();
    Evaluator e = mc.getCapability(Evaluator.class);
    MultiProviderRegistry registry = new MultiProviderRegistry();
   
    Assert.assertNotNull(e.evaluate(Collections.<String,List<Map<String,String>>>emptyMap(), Collections.<FeedProvider>emptyList()));
   
    mc = new MultiComponent();
    final String language = "test/language";
    MultiModelRole mcr = mc.getModel();
    mcr.getData().setLanguage(language);
    final FeedProvider.RenderingInfo expectedRenderingInfo = new FeedProvider.RenderingInfo("", Color.white, "", Color.white, false);
   
    MultiProvider mp = Mockito.mock(MultiProvider.class);
    e = mc.getCapability(Evaluator.class);
    registry.addProvider(mp);
    Executor executor = Mockito.mock(Executor.class);
    Mockito.when(executor.evaluate(Mockito.anyMap(), Mockito.anyList())).thenReturn(expectedRenderingInfo);
    Mockito.when(mp.getLanguage()).thenReturn(language);
    Mockito.when(mp.compile(Mockito.anyString())).thenReturn(executor);
   
    Assert.assertSame(expectedRenderingInfo, e.evaluate(Collections.<String,List<Map<String,String>>>emptyMap(), Collections.<FeedProvider>emptyList()));
  }
View Full Code Here

    new EvaluatorProviderRegistry().addProvider(evaluatorProvider);
   
    final Executor executor =
      EvaluatorProviderRegistry.getExecutor(EvaluatorComponent.class.cast(parentComponent));
   
    final Evaluator e = new Evaluator() {

      @Override
      public String getCode() {
        return "test";
      }

      @Override
      public String getDisplayName() {
        return "testName";
      }

      @Override
      public String getLanguage() {
        return language;
      }
     
      public boolean requiresMultipleInputs() {
        return false;
      }

      @Override
      public FeedProvider.RenderingInfo evaluate(Map<String, List<Map<String, String>>> data,
          List<FeedProvider> providers) {
        return executor.evaluate(data, providers);
      }
     
    };
   
    final Evaluator e2 = new Evaluator() {

      @Override
      public String getCode() {
        return "test2";
      }
View Full Code Here


public class EnumeratorViewPolicy implements Policy {
 
  private static boolean isEnumerator(AbstractComponent component) {
    Evaluator ev = component.getCapability(Evaluator.class);
    return ev != null && EnumEvaluator.LANGUAGE_STRING.equals(ev.getLanguage());
  }
View Full Code Here

  }
 
  protected ArrayList<Evaluator> getEvaluatorList(){
        ArrayList<Evaluator> eList = new ArrayList<Evaluator>();
        //Check for imars enumerators
        Evaluator imars = getManifestedComponent().getCapability(Evaluator.class);
        if (imars != null){
          eList.add(imars);
        }
        //Check for user created enumerators
        Collection<AbstractComponent> parents = getManifestedComponent().getReferencingComponents();
        for (AbstractComponent p : parents){
            Evaluator e = p.getCapability(Evaluator.class);
            if (e!= null && p.getClass().equals(EvaluatorComponent.class)) {
                eList.add(e);
            }
        }
        return eList;
View Full Code Here

      }
      if (valueType == 2) {
        val = inputTestValue.getText();
      }
 
      Evaluator e;

      for (int i = 0; i < eList.size(); i++){
        e = eList.get(i);
        Map<String,String> values = new HashMap<String,String>();
        List<Map<String,String>> origValues = originalData.get(f);
        if (origValues != null && !origValues.isEmpty()) {
          values.putAll(origValues.get(origValues.size()-1));
          values.put(FeedProvider.NORMALIZED_VALUE_KEY, val);
          RenderingInfo originalInfo = RenderingInfo.valueOf(values.get(FeedProvider.NORMALIZED_RENDERING_INFO));
          RenderingInfo ri = new RenderingInfo(
              val,
              originalInfo.getValueColor(),
              originalInfo.getStatusText(),
              originalInfo.getStatusColor(),
              true
          );
          values.put(FeedProvider.NORMALIZED_RENDERING_INFO, ri.toString());
          data.put(f, Collections.singletonList(values));
        }

        if (e != null) {
          RenderingInfo ri = e.evaluate(data, getVisibleFeedProviders());
          setValueAt(ri == null ? "" : ri.getValueText(), i, FEED_VALUE_COLUMN);
        } else {
          setValueAt("No executor found", i, FEED_VALUE_COLUMN);
        }
      }
View Full Code Here

    public String getColumnName(int column) {
      return columnNames.get(column);
    }
   
    private void loadFeeds() {
      Evaluator e;
      for (int i = 0; i < eList.size(); i++){
        e = eList.get(i);
        name.add(e.getDisplayName());
        displayValues.add(null);
        code.add(e.getCode());
      }
    }
View Full Code Here

  protected <T> T handleGetCapability(Class<T> capability) {
    if (MultiComponent.class.isAssignableFrom(capability)) {
      return capability.cast(this);
    }
    if (Evaluator.class.isAssignableFrom(capability)) {
      Evaluator e = new Evaluator() {

        @Override
        public String getCode() {
          return getData().getCode();
        }

        @Override
        public String getDisplayName() {
          return getDisplay();
        }

        @Override
        public String getLanguage() {
          return getData().getLanguage();
        }

        public boolean requiresMultipleInputs() {
          return getExecutor() != null && getExecutor().requiresMultipleInputs();
        }

        private Executor getExecutor() {
          Executor e = executor.get();
          if (e == null) {
            executor.set(e = MultiProviderRegistry.getExecutor(MultiComponent.this));
          }
         
          return e;
        }
       
        private final AtomicReference<Executor> executor = new AtomicReference<Executor>();
       
        @Override
        public FeedProvider.RenderingInfo evaluate(
            Map<String, List<Map<String, String>>> data,
            List<FeedProvider> providers) {
          Executor e = getExecutor();
         
          FeedProvider.RenderingInfo ri = null;
          if (e != null) {
            if (getData().isPassThrough()) {
              for (FeedProvider fp : providers) {
                if (fp.getSubscriptionId().equals(getData().getPassThroughParameterId())) {
                  List<Map<String,String>> values = data.get(getData().getPassThroughParameterId());
                  if (values != null && !values.isEmpty()) {
                    ri = fp.getRenderingInfo(values.get(values.size() - 1));
                  }
                }
              }
            } else {
              ri = e.evaluate(data, providers);
              if (ri == null) {
                ri = new FeedProvider.RenderingInfo(getData().getFallThroughDisplayValue(), Color.red, "", Color.red, false);
              }
            }
          } else {
View Full Code Here

  protected <T> T handleGetCapability(Class<T> capability) {
    if (EvaluatorComponent.class.isAssignableFrom(capability)) {
      return capability.cast(this);
    }
    if (Evaluator.class.isAssignableFrom(capability)) {
      Evaluator e = new Evaluator() {

        @Override
        public String getCode() {
          return getData().getCode();
        }

        @Override
        public String getDisplayName() {
          return getDisplay();
        }

        @Override
        public String getLanguage() {
          return getData().getLanguage();
        }

        public boolean requiresMultipleInputs() {
          return getExecutor() != null && getExecutor().requiresMultipleInputs();
        }

        private Executor getExecutor() {
          Executor e = executor.get();
          if (e == null) {
            executor.set(e = EvaluatorProviderRegistry.getExecutor(EvaluatorComponent.this));
          }
         
          return e;
        }
       
        private final AtomicReference<Executor> executor = new AtomicReference<Executor>();
       
        @Override
        public FeedProvider.RenderingInfo evaluate(
            Map<String, List<Map<String, String>>> data,
            List<FeedProvider> providers) {
          Executor e = getExecutor();
         
          FeedProvider.RenderingInfo ri;
          if (e != null) {
            ri = e.evaluate(data, providers);
          } else {
            LoggerFactory.getLogger(EvaluatorComponent.class).error("no evaluator provider available for " + getLanguage());
            ri = new FeedProvider.RenderingInfo("", Color.red, "", Color.red,false);
          }
         
View Full Code Here

TOP

Related Classes of gov.nasa.arc.mct.evaluator.api.Evaluator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.