From 8fede8542cae483668b29c01aba5581a80031772 Mon Sep 17 00:00:00 2001 From: kmoore Date: Tue, 19 May 2009 00:35:59 +0000 Subject: 276547 - ClassCastException when java class listed in persistence.xml and orm.xml --- ...eneralJpaMappingItemContentProviderFactory.java | 36 ---------------------- .../structure/JavaItemContentProviderFactory.java | 20 ++++++------ .../structure/OrmItemContentProviderFactory.java | 20 ++++++------ 3 files changed, 22 insertions(+), 54 deletions(-) delete mode 100644 jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/GeneralJpaMappingItemContentProviderFactory.java diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/GeneralJpaMappingItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/GeneralJpaMappingItemContentProviderFactory.java deleted file mode 100644 index 49f316475a..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/GeneralJpaMappingItemContentProviderFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Oracle. 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 http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.ui.internal.structure; - -import org.eclipse.jpt.core.context.PersistentAttribute; -import org.eclipse.jpt.core.context.PersistentType; -import org.eclipse.jpt.ui.internal.jface.DelegatingTreeContentAndLabelProvider; -import org.eclipse.jpt.ui.internal.platform.generic.PersistentAttributeItemContentProvider; -import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider; -import org.eclipse.jpt.ui.jface.TreeItemContentProvider; -import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; - -public abstract class GeneralJpaMappingItemContentProviderFactory - implements TreeItemContentProviderFactory -{ - public TreeItemContentProvider buildItemContentProvider( - Object item, DelegatingContentAndLabelProvider contentAndLabelProvider) { - DelegatingTreeContentAndLabelProvider treeContentProvider = (DelegatingTreeContentAndLabelProvider) contentAndLabelProvider; - if (item instanceof PersistentType) { - return buildPersistentTypeItemContentProvider((PersistentType) item, treeContentProvider); - } - else if (item instanceof PersistentAttribute) { - return new PersistentAttributeItemContentProvider((PersistentAttribute) item, treeContentProvider); - } - return null; - } - - protected abstract TreeItemContentProvider buildPersistentTypeItemContentProvider(PersistentType persistentType, DelegatingTreeContentAndLabelProvider treeContentProvider); -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaItemContentProviderFactory.java index e5c0eefa02..ad94b186b8 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaItemContentProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaItemContentProviderFactory.java @@ -10,28 +10,30 @@ package org.eclipse.jpt.ui.internal.structure; import org.eclipse.jpt.core.JpaFile; -import org.eclipse.jpt.core.context.PersistentType; +import org.eclipse.jpt.core.context.java.JavaPersistentAttribute; import org.eclipse.jpt.core.context.java.JavaPersistentType; import org.eclipse.jpt.ui.internal.jface.DelegatingTreeContentAndLabelProvider; import org.eclipse.jpt.ui.internal.platform.generic.JavaPersistentTypeItemContentProvider; +import org.eclipse.jpt.ui.internal.platform.generic.PersistentAttributeItemContentProvider; import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider; import org.eclipse.jpt.ui.jface.TreeItemContentProvider; +import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; -public class JavaItemContentProviderFactory extends GeneralJpaMappingItemContentProviderFactory +public class JavaItemContentProviderFactory implements TreeItemContentProviderFactory { - @Override public TreeItemContentProvider buildItemContentProvider( Object item, DelegatingContentAndLabelProvider contentProvider) { DelegatingTreeContentAndLabelProvider treeContentProvider = (DelegatingTreeContentAndLabelProvider) contentProvider; if (item instanceof JpaFile) { return new ResourceModelItemContentProvider((JpaFile) item, treeContentProvider); } - return super.buildItemContentProvider(item, treeContentProvider); - } - - @Override - protected TreeItemContentProvider buildPersistentTypeItemContentProvider(PersistentType persistentType, DelegatingTreeContentAndLabelProvider treeContentProvider) { - return new JavaPersistentTypeItemContentProvider((JavaPersistentType) persistentType, treeContentProvider); + if (item instanceof JavaPersistentType) { + return new JavaPersistentTypeItemContentProvider((JavaPersistentType) item, treeContentProvider); + } + if (item instanceof JavaPersistentAttribute) { + return new PersistentAttributeItemContentProvider((JavaPersistentAttribute) item, treeContentProvider); + } + return null; } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmItemContentProviderFactory.java index 1e2d7d891e..ae83f06288 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmItemContentProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmItemContentProviderFactory.java @@ -12,21 +12,22 @@ package org.eclipse.jpt.ui.internal.structure; import java.util.ListIterator; import org.eclipse.jpt.core.JpaFile; -import org.eclipse.jpt.core.context.PersistentType; import org.eclipse.jpt.core.context.orm.EntityMappings; +import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.core.context.orm.OrmPersistentType; import org.eclipse.jpt.ui.internal.jface.AbstractTreeItemContentProvider; import org.eclipse.jpt.ui.internal.jface.DelegatingTreeContentAndLabelProvider; import org.eclipse.jpt.ui.internal.platform.generic.OrmPersistentTypeItemContentProvider; +import org.eclipse.jpt.ui.internal.platform.generic.PersistentAttributeItemContentProvider; import org.eclipse.jpt.ui.jface.DelegatingContentAndLabelProvider; import org.eclipse.jpt.ui.jface.TreeItemContentProvider; +import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter; import org.eclipse.jpt.utility.internal.model.value.ListCollectionValueModelAdapter; import org.eclipse.jpt.utility.model.value.CollectionValueModel; -public class OrmItemContentProviderFactory extends GeneralJpaMappingItemContentProviderFactory +public class OrmItemContentProviderFactory implements TreeItemContentProviderFactory { - @Override public TreeItemContentProvider buildItemContentProvider( Object item, DelegatingContentAndLabelProvider contentProvider) { DelegatingTreeContentAndLabelProvider treeContentProvider = (DelegatingTreeContentAndLabelProvider) contentProvider; @@ -36,12 +37,13 @@ public class OrmItemContentProviderFactory extends GeneralJpaMappingItemContentP if (item instanceof EntityMappings) { return new EntityMappingsItemContentProvider((EntityMappings) item, treeContentProvider); } - return super.buildItemContentProvider(item, treeContentProvider); - } - - @Override - protected TreeItemContentProvider buildPersistentTypeItemContentProvider(PersistentType persistentType, DelegatingTreeContentAndLabelProvider treeContentProvider) { - return new OrmPersistentTypeItemContentProvider((OrmPersistentType) persistentType, treeContentProvider); + if (item instanceof OrmPersistentType) { + return new OrmPersistentTypeItemContentProvider((OrmPersistentType) item, treeContentProvider); + } + if (item instanceof OrmPersistentAttribute) { + return new PersistentAttributeItemContentProvider((OrmPersistentAttribute) item, treeContentProvider); + } + return null; } public static class EntityMappingsItemContentProvider extends AbstractTreeItemContentProvider -- cgit v1.2.3