[240230]
[240860]
[238050]
[238049]
[237441]
[237126]
Merge bug fixes from R1_2_maintenance branch
diff --git a/plugins/org.eclipse.ocl.ecore/src/org/eclipse/ocl/ecore/internal/UMLReflectionImpl.java b/plugins/org.eclipse.ocl.ecore/src/org/eclipse/ocl/ecore/internal/UMLReflectionImpl.java
index 92bf912..f85a37a 100644
--- a/plugins/org.eclipse.ocl.ecore/src/org/eclipse/ocl/ecore/internal/UMLReflectionImpl.java
+++ b/plugins/org.eclipse.ocl.ecore/src/org/eclipse/ocl/ecore/internal/UMLReflectionImpl.java
@@ -1,7 +1,7 @@
/**
* <copyright>
*
- * Copyright (c) 2006, 2007 IBM Corporation and others.
+ * Copyright (c) 2006, 2008 IBM Corporation, Zeligsoft Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,10 +9,11 @@
*
* Contributors:
* IBM - Initial API and implementation
+ * Zeligsoft - Bug 240230
*
* </copyright>
*
- * $Id: UMLReflectionImpl.java,v 1.6 2007/10/15 22:23:10 cdamus Exp $
+ * $Id: UMLReflectionImpl.java,v 1.7 2008/08/05 00:37:24 cdamus Exp $
*/
package org.eclipse.ocl.ecore.internal;
@@ -541,29 +542,30 @@
Class<?> instanceClass = dataType.getInstanceClass();
- // Boolean/boolean -> OCL_BOOLEAN
- if (instanceClass == Boolean.class
- || instanceClass == boolean.class) {
- return OCLStandardLibraryImpl.INSTANCE.getBoolean();
- } else if (instanceClass == Double.class
- || instanceClass == double.class
- || instanceClass == Float.class || instanceClass == float.class) {
- return OCLStandardLibraryImpl.INSTANCE.getReal();
- } else if (instanceClass == String.class) {
- return OCLStandardLibraryImpl.INSTANCE.getString();
- } else if (instanceClass == Integer.class
- || instanceClass == int.class || instanceClass == Long.class
- || instanceClass == long.class || instanceClass == Short.class
- || instanceClass == short.class) {
- return OCLStandardLibraryImpl.INSTANCE.getInteger();
- } else if (List.class.isAssignableFrom(instanceClass)) {
- return OCLStandardLibraryImpl.INSTANCE.getSequence();
- } else if (Set.class.isAssignableFrom(instanceClass)) {
- return OCLStandardLibraryImpl.INSTANCE.getSet();
- } else if (Collection.class.isAssignableFrom(instanceClass)) {
- return OCLStandardLibraryImpl.INSTANCE.getCollection();
- } else if (instanceClass == Object.class) {
- return OCLStandardLibraryImpl.INSTANCE.getOclAny();
+ if (instanceClass != null) {
+ if (instanceClass == Boolean.class
+ || instanceClass == boolean.class) {
+ return OCLStandardLibraryImpl.INSTANCE.getBoolean();
+ } else if (instanceClass == Double.class
+ || instanceClass == double.class
+ || instanceClass == Float.class || instanceClass == float.class) {
+ return OCLStandardLibraryImpl.INSTANCE.getReal();
+ } else if (instanceClass == String.class) {
+ return OCLStandardLibraryImpl.INSTANCE.getString();
+ } else if (instanceClass == Integer.class
+ || instanceClass == int.class || instanceClass == Long.class
+ || instanceClass == long.class || instanceClass == Short.class
+ || instanceClass == short.class) {
+ return OCLStandardLibraryImpl.INSTANCE.getInteger();
+ } else if (List.class.isAssignableFrom(instanceClass)) {
+ return OCLStandardLibraryImpl.INSTANCE.getSequence();
+ } else if (Set.class.isAssignableFrom(instanceClass)) {
+ return OCLStandardLibraryImpl.INSTANCE.getSet();
+ } else if (Collection.class.isAssignableFrom(instanceClass)) {
+ return OCLStandardLibraryImpl.INSTANCE.getCollection();
+ } else if (instanceClass == Object.class) {
+ return OCLStandardLibraryImpl.INSTANCE.getOclAny();
+ }
}
// All other data types map to themselves