diff options
author | kmoore | 2007-08-27 15:32:33 +0000 |
---|---|---|
committer | kmoore | 2007-08-27 15:32:33 +0000 |
commit | 756535201111b05e5f880b2c0f53318167dbd141 (patch) | |
tree | 29851d6020431ea23a7d635f323a72d822feaa98 | |
parent | 6f14721be8495f11e9d3f497aac5ca8d80581c6c (diff) | |
download | webtools.dali-756535201111b05e5f880b2c0f53318167dbd141.tar.gz webtools.dali-756535201111b05e5f880b2c0f53318167dbd141.tar.xz webtools.dali-756535201111b05e5f880b2c0f53318167dbd141.zip |
191282 - fixed NPE problem when incorrectly renaming type
2 files changed, 21 insertions, 1 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaCompilationUnit.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaCompilationUnit.java index 12ceab3277..2a47301444 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaCompilationUnit.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaCompilationUnit.java @@ -328,8 +328,8 @@ public class JpaCompilationUnit extends JavaEObject } private JavaPersistentType addJavaPersistentType(JavaPersistentType javaPersistentType, IType primaryType, CompilationUnit astRoot) { - this.getTypes().add(javaPersistentType); javaPersistentType.setJdtType(primaryType, astRoot); + this.getTypes().add(javaPersistentType); return javaPersistentType; } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/structure/JavaCompilationUnitItemProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/structure/JavaCompilationUnitItemProvider.java index e643328908..75873a1cf5 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/structure/JavaCompilationUnitItemProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/structure/JavaCompilationUnitItemProvider.java @@ -12,11 +12,16 @@ package org.eclipse.jpt.ui.internal.java.structure; import java.util.Collection; import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; import org.eclipse.emf.edit.provider.IItemLabelProvider; import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; import org.eclipse.emf.edit.provider.ITreeItemContentProvider; import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; +import org.eclipse.jpt.core.internal.JpaCorePackage; +import org.eclipse.jpt.core.internal.content.java.JavaPersistentType; +import org.eclipse.jpt.core.internal.content.java.JpaCompilationUnit; import org.eclipse.jpt.core.internal.content.java.JpaJavaPackage; public class JavaCompilationUnitItemProvider extends ItemProviderAdapter @@ -37,4 +42,19 @@ public class JavaCompilationUnitItemProvider extends ItemProviderAdapter } return childrenFeatures; } + + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(JpaCompilationUnit.class)) { + case JpaJavaPackage.JPA_COMPILATION_UNIT__TYPES: + fireNotifyChanged( + new ViewerNotification( + notification, notification.getNotifier(), true, false)); + return; + } + + super.notifyChanged(notification); + } } |