Ejemplo n.º 1
0
  public Model add(RuntimeModel model) {

    if (!getType().equals(model.getNativeType())) {
      throw new IllegalArgumentException();
    }

    final ObservableMap<Integer, Model> hashCodeMap = getHashCodeMap();
    hashCodeMap.put(model.hashCode(), model);

    final ModelHeapShardEvent event = new ModelHeapShardEvent(this);
    event.setModel(model);
    fireEvent(ModelHeapShardEventName.modelAdded, event);

    // Check to see if the model has an id set on it already
    final URI heapId = model.getHeapId();

    Model finalModel = model;
    if (heapId != null) {
      // Technically we just identified this model
      finalModel = modelIdentified(model, heapId, event);
    }

    finalModel.addEventListener(_HeapModelEventListener);
    return finalModel;
  }
Ejemplo n.º 2
0
 public void onFieldValueChanged(FieldEvent fieldEvent) {
   final String idFieldName = FieldNames.Document.id.name();
   if (idFieldName.equals(fieldEvent.getFieldName())) {
     final RuntimeModel model = (RuntimeModel) fieldEvent.getModel().getDynamicInterface();
     final URI heapId = model.getHeapId();
     if (heapId != null) {
       final ModelHeapShardEvent modelHeapShardEvent =
           new ModelHeapShardEvent(ModelHeapShard.this);
       modelHeapShardEvent.setModel(model);
       modelIdentified(model, heapId, modelHeapShardEvent);
     }
   }
 }
Ejemplo n.º 3
0
 private Element getElement(RuntimeModel model, String name) {
   List<Element> elements = model.findElements(name);
   if (null == elements || 0 == elements.size()) {
     throw new TestExecutionException("Start element not found");
   }
   if (1 < elements.size()) {
     throw new TestExecutionException("Ambiguous start element defined");
   }
   return elements.get(0);
 }