diff --git a/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java b/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java index df41237d1..61da902d8 100644 --- a/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java +++ b/org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java @@ -822,7 +822,11 @@ protected void computeValueConnector() { if (FeatureUtil.getValuationFor(target).isInitial()) { Feature that = (Feature)getLibraryType("Base::things::that"); Feature startShot = (Feature)getLibraryType("Occurrences::Occurrence::startShot"); - featuringTypes = Collections.singletonList(FeatureUtil.chainFeatures(that, startShot)); + if (that != null && startShot != null) { + featuringTypes = Collections.singletonList(FeatureUtil.chainFeatures(that, startShot)); + } else { + featuringTypes = target.getFeaturingType(); + } } else { featuringTypes = target.getFeaturingType(); } diff --git a/org.omg.sysml/src/org/omg/sysml/util/OperandEList.java b/org.omg.sysml/src/org/omg/sysml/util/OperandEList.java index 85b01df29..b4291cb0c 100644 --- a/org.omg.sysml/src/org/omg/sysml/util/OperandEList.java +++ b/org.omg.sysml/src/org/omg/sysml/util/OperandEList.java @@ -22,6 +22,7 @@ package org.omg.sysml.util; import java.util.Collection; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.ListIterator; @@ -102,17 +103,17 @@ public int basicIndexOf(Object object) { @Override public int basicLastIndexOf(Object object) { - throw new UnsupportedOperationException(); + return -1; } @Override public boolean basicContains(Object object) { - throw new UnsupportedOperationException(); + return false; } @Override public boolean basicContainsAll(Collection collection) { - throw new UnsupportedOperationException(); + return false; } @Override @@ -127,22 +128,22 @@ public NotificationChain basicAdd(Expression object, NotificationChain notificat @Override public List basicList() { - throw new UnsupportedOperationException(); + return Collections.emptyList(); } @Override public Iterator basicIterator() { - throw new UnsupportedOperationException(); + return Collections.emptyIterator(); } @Override public ListIterator basicListIterator() { - throw new UnsupportedOperationException(); + return Collections.emptyListIterator(); } @Override public ListIterator basicListIterator(int i) { - throw new UnsupportedOperationException(); + return Collections.emptyListIterator(); } @Override @@ -176,43 +177,53 @@ public boolean contains(Object o) { @Override public Iterator iterator() { - throw new UnsupportedOperationException(); } + return Collections.emptyIterator(); + } @Override public Object[] toArray() { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public T[] toArray(T[] a) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public boolean add(Expression e) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public boolean containsAll(Collection c) { - throw new UnsupportedOperationException(); } + return false; + } @Override public boolean addAll(Collection c) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public boolean addAll(int index, Collection c) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public boolean removeAll(Collection c) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public boolean retainAll(Collection c) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public Expression set(int index, Expression element) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public void add(int index, Expression element) { @@ -231,17 +242,21 @@ public int lastIndexOf(Object o) { @Override public ListIterator listIterator() { - throw new UnsupportedOperationException(); } + return Collections.emptyListIterator(); + } @Override public ListIterator listIterator(int index) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } @Override public List subList(int fromIndex, int toIndex) { - throw new UnsupportedOperationException(); } + return Collections.emptyList(); + } @Override public Expression basicGet(int index) { - throw new UnsupportedOperationException(); } + throw new UnsupportedOperationException(); + } }