From: Steve J. <sj...@us...> - 2006-05-17 17:11:35
|
User: sjerman Date: 06/05/17 10:11:31 Modified: uml/emf/uml2/src/main/java/org/andromda/metafacades/emf/uml2 Tag: V3_x_HEAD ClassifierFacadeLogicImpl.java Log: Fix get to getAttributes - was getting a null pointer exception on superclasses with no attributes. Revision Changes Path No revision No revision 1.1.2.14 +31 -27 metafacades/uml/emf/uml2/src/main/java/org/andromda/metafacades/emf/uml2/ClassifierFacadeLogicImpl.java Index: ClassifierFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromda/metafacades/uml/emf/uml2/src/main/java/org/andromda/metafacades/emf/uml2/ClassifierFacadeLogicImpl.java,v retrieving revision 1.1.2.13 retrieving revision 1.1.2.14 diff -u -w -r1.1.2.13 -r1.1.2.14 --- ClassifierFacadeLogicImpl.java 17 May 2006 13:41:36 -0000 1.1.2.13 +++ ClassifierFacadeLogicImpl.java 17 May 2006 17:10:46 -0000 1.1.2.14 @@ -2,6 +2,7 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; + import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; @@ -10,6 +11,7 @@ import java.util.Set; import org.andromda.core.metafacade.MetafacadeException; +import org.andromda.core.metafacade.MetafacadeImplsException; import org.andromda.metafacades.uml.AssociationEndFacade; import org.andromda.metafacades.uml.AttributeFacade; import org.andromda.metafacades.uml.ClassifierFacade; @@ -36,7 +38,6 @@ import org.eclipse.uml2.Property; - /** * MetafacadeLogic implementation for org.andromda.metafacades.uml.ClassifierFacade. * @@ -126,7 +127,8 @@ final Object parent = parents.next(); if (parent instanceof ClassifierFacade) { - allRequiredConstructorParameters.addAll(((ClassifierFacade)parent).getAllRequiredConstructorParameters()); + allRequiredConstructorParameters.addAll( + ((ClassifierFacade)parent).getAllRequiredConstructorParameters()); } } @@ -541,6 +543,8 @@ public boolean evaluate(final Object object) { boolean valid = true; + if (attributes != null) + { for (final Iterator iterator = attributes.iterator(); iterator.hasNext();) { final AttributeFacade attribute = (AttributeFacade)iterator.next(); @@ -551,6 +555,7 @@ break; } } + } return valid; } }); @@ -620,8 +625,7 @@ */ protected java.util.Collection handleGetOperations() { - if (this.metaObject instanceof org.eclipse.uml2.Class || - this.metaObject instanceof org.eclipse.uml2.Interface) + if (this.metaObject instanceof org.eclipse.uml2.Class || this.metaObject instanceof org.eclipse.uml2.Interface) { return UmlUtilities.getOperations( metaObject, @@ -636,8 +640,7 @@ protected java.util.Collection handleGetAttributes() { final Collection attributes = new ArrayList(); - if (this.metaObject instanceof org.eclipse.uml2.Class || - this.metaObject instanceof org.eclipse.uml2.Interface) + if (this.metaObject instanceof org.eclipse.uml2.Class || this.metaObject instanceof org.eclipse.uml2.Interface) { final Collection properties = UmlUtilities.getProperties( metaObject, @@ -664,8 +667,7 @@ protected java.util.List handleGetAssociationEnds() { final List associationEnds = new ArrayList(); - if (this.metaObject instanceof org.eclipse.uml2.Class || - this.metaObject instanceof org.eclipse.uml2.Interface) + if (this.metaObject instanceof org.eclipse.uml2.Class || this.metaObject instanceof org.eclipse.uml2.Interface) { final Collection properties = UmlUtilities.getProperties( metaObject, @@ -675,11 +677,14 @@ { final Property property = (Property)iterator.next(); if (property.getAssociation() == null) + { continue; + } final Property associationEnd = (Property) UmlUtilities.getOppositeAssociationEnd(property); if (associationEnd == null) { - throw new MetafacadeException("There is an error in the model or a cartiridge metafacade mapping file. "+ + throw new MetafacadeException( + "There is an error in the model or a cartiridge metafacade mapping file. " + "The opposite end of "+ property +" is null."+ ", check your metafacades.xml and make sure things are mapped correctly"); } @@ -982,5 +987,4 @@ // TODO Auto-generated method stub return null; } - } \ No newline at end of file |