Author: dgeraskov
Date: 2011-08-24 09:35:52 -0400 (Wed, 24 Aug 2011)
New Revision: 34226
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/Messages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/PackageInfoDetailsPage.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/JavaPackageInfoDetailsProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/messages.properties
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/PackageInfoResourceUIDefinition.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAddQueryDialog.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java
Log:
https://issues.jboss.org/browse/JBIDE-9436
create ui for package-info.java annotations in JPA Details view
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java 2011-08-24
13:13:46 UTC (rev 34225)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -22,8 +22,10 @@
import
org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
import
org.eclipse.jpt.jpa.ui.internal.jpa2.details.orm.EntityMappings2_0DetailsProvider;
+import
org.jboss.tools.hibernate.jpt.ui.internal.details.java.JavaPackageInfoDetailsProvider;
import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm.Hibernate2_0OrmXmlUiDefinition;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.Hibernate2_0JavaResourceUiDefinition;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.PackageInfoResourceUIDefinition;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm.HibernateOrmXmlUiDefinition;
import
org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePersistenceXmlUiDefinition;
import
org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2.HibernatePersistenceXml2_0UiDefinition;
@@ -56,6 +58,7 @@
@Override
protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
+ providers.add(JavaPackageInfoDetailsProvider.instance());
providers.add(JavaPersistentTypeDetailsProvider.instance());
providers.add(JavaPersistentAttributeDetailsProvider.instance());
providers.add(EntityMappingsDetailsProvider.instance());
@@ -69,6 +72,7 @@
@Override
protected void addResourceUiDefinitionsTo(
List<ResourceUiDefinition> definitions) {
+ definitions.add(PackageInfoResourceUIDefinition.instance());
definitions.add(Hibernate2_0JavaResourceUiDefinition.instance());
definitions.add(HibernateOrmXmlUiDefinition.instance());
definitions.add(Hibernate2_0OrmXmlUiDefinition.instance());
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java 2011-08-24
13:13:46 UTC (rev 34225)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -23,7 +23,9 @@
import
org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
import org.eclipse.jpt.jpa.ui.internal.platform.generic.GenericNavigatorProvider;
+import
org.jboss.tools.hibernate.jpt.ui.internal.details.java.JavaPackageInfoDetailsProvider;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.HibernateJavaResourceUiDefinition;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.PackageInfoResourceUIDefinition;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm.HibernateOrmXmlUiDefinition;
import
org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePersistenceXmlUiDefinition;
import org.jboss.tools.hibernate.jpt.ui.internal.platform.HibernateJpaPlatformUi;
@@ -64,6 +66,7 @@
@Override
protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
+ providers.add(JavaPackageInfoDetailsProvider.instance());
providers.add(JavaPersistentTypeDetailsProvider.instance());
providers.add(JavaPersistentAttributeDetailsProvider.instance());
providers.add(EntityMappingsDetailsProvider.instance());
@@ -75,10 +78,11 @@
// ********** resource ui definitions **********
@Override
- protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> defintions)
{
- defintions.add(HibernateJavaResourceUiDefinition.instance());
- defintions.add(HibernateOrmXmlUiDefinition.instance());
- defintions.add(HibernatePersistenceXmlUiDefinition.instance());
+ protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions)
{
+ definitions.add(PackageInfoResourceUIDefinition.instance());
+ definitions.add(HibernateJavaResourceUiDefinition.instance());
+ definitions.add(HibernateOrmXmlUiDefinition.instance());
+ definitions.add(HibernatePersistenceXmlUiDefinition.instance());
}
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/Messages.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/Messages.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/Messages.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME =
"org.jboss.tools.hibernate.jpt.ui.internal.details.messages"; //$NON-NLS-1$
+ public static String PackageInfoDetailsPage_GenericGeneratorsSection;
+ public static String PackageInfoDetailsPage_QueriesSection;
+ public static String PackageInfoDetailsPage_TypeDefinitionsSection;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/PackageInfoDetailsPage.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/PackageInfoDetailsPage.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/PackageInfoDetailsPage.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details;
+
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.jpt.jpa.ui.internal.details.AbstractJpaDetailsPage;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTypeDefContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernatePackageInfo;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.GenericGeneratorsComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateQueriesComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.TypeDefsComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class PackageInfoDetailsPage extends
AbstractJpaDetailsPage<HibernatePackageInfo> {
+
+ /**
+ * @param parent
+ * @param widgetFactory
+ */
+ public PackageInfoDetailsPage(Composite parent,
+ WidgetFactory widgetFactory) {
+ super(parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.initializeQueriesCollapsibleSection(container);
+ this.initializeGenericGeneratorsCollapsibleSection(container);
+ this.initializeTypeDefCollapsibleSection(container);
+ new PaneEnabler(buildWidgetsEnabledHolder(), this);
+ }
+
+ protected WritablePropertyValueModel<Boolean> buildWidgetsEnabledHolder() {
+ return new PropertyAspectAdapter<HibernatePackageInfo,
Boolean>(getSubjectHolder()) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject != null);
+ }
+ };
+ }
+
+ protected void initializeGenericGeneratorsCollapsibleSection(Composite container) {
+ container = addCollapsibleSection(
+ container,
+ Messages.PackageInfoDetailsPage_GenericGeneratorsSection);
+ this.initializeGenericGeneratorsSection(container, buildGeneratorContainerHolder());
+ }
+
+ private PropertyValueModel<HibernateGeneratorContainer>
buildGeneratorContainerHolder() {
+ return new PropertyAspectAdapter<HibernatePackageInfo,
HibernateGeneratorContainer>(getSubjectHolder()) {
+ @Override
+ protected HibernateGeneratorContainer buildValue_() {
+ return (HibernateGeneratorContainer)this.subject.getGeneratorContainer();
+ }
+ };
+ }
+
+ protected void initializeGenericGeneratorsSection(Composite container,
PropertyValueModel<HibernateGeneratorContainer> generatorContainerHolder) {
+ new GenericGeneratorsComposite(this, generatorContainerHolder, container);
+ }
+
+ protected void initializeQueriesCollapsibleSection(Composite container) {
+ container = addCollapsibleSection(
+ container,
+ Messages.PackageInfoDetailsPage_QueriesSection);
+ this.initializeQueriesSection(container, buildQueryContainerHolder());
+ }
+
+ private PropertyValueModel<HibernateJavaQueryContainer>
buildQueryContainerHolder() {
+ return new PropertyAspectAdapter<HibernatePackageInfo,
HibernateJavaQueryContainer>(getSubjectHolder()) {
+ @Override
+ protected HibernateJavaQueryContainer buildValue_() {
+ return (HibernateJavaQueryContainer)this.subject.getQueryContainer();
+ }
+ };
+ }
+
+ protected void initializeQueriesSection(Composite container,
PropertyValueModel<HibernateJavaQueryContainer> queryContainerHolder) {
+ new HibernateQueriesComposite(this, queryContainerHolder, container);
+ }
+
+ protected void initializeTypeDefCollapsibleSection(Composite container) {
+ container = addCollapsibleSection(
+ container,
+ Messages.PackageInfoDetailsPage_TypeDefinitionsSection);
+ this.initializeTypeDefsSection(container, buildTypeDefContainerHolder());
+ }
+
+ protected void initializeTypeDefsSection(
+ Composite container,
+ PropertyValueModel<HibernateJavaTypeDefContainer> typeDefContainerHolder) {
+ new TypeDefsComposite(this, typeDefContainerHolder, container);
+ }
+
+ private PropertyValueModel<HibernateJavaTypeDefContainer>
buildTypeDefContainerHolder() {
+ return new PropertyAspectAdapter<HibernatePackageInfo,
HibernateJavaTypeDefContainer>(getSubjectHolder()) {
+
+ @Override
+ protected HibernateJavaTypeDefContainer buildValue_() {
+ return this.subject.getTypeDefContainer();
+ }
+ };
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/JavaPackageInfoDetailsProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/JavaPackageInfoDetailsProvider.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/JavaPackageInfoDetailsProvider.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details.java;
+
+import org.eclipse.jpt.common.core.JptCommonCorePlugin;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.utility.internal.Tools;
+import org.eclipse.jpt.jpa.core.JpaStructureNode;
+import org.eclipse.jpt.jpa.core.context.java.JavaStructureNodes;
+import org.eclipse.jpt.jpa.ui.details.JpaDetailsPage;
+import org.eclipse.jpt.jpa.ui.details.JpaDetailsProvider;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernatePackageInfo;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.PackageInfoDetailsPage;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class JavaPackageInfoDetailsProvider implements JpaDetailsProvider {
+
+ // singleton
+ private static final JpaDetailsProvider INSTANCE = new
JavaPackageInfoDetailsProvider();
+
+
+ /**
+ * Return the singleton
+ */
+ public static JpaDetailsProvider instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private JavaPackageInfoDetailsProvider() {
+ super();
+ }
+
+
+ public boolean providesDetails(JpaStructureNode structureNode) {
+ return Tools.valuesAreEqual(structureNode.getId(),
JavaStructureNodes.COMPILATION_UNIT_ID)
+ &&
structureNode.getResourceType().getContentType().equals(JptCommonCorePlugin.JAVA_SOURCE_PACKAGE_INFO_CONTENT_TYPE);
+ }
+
+ public JpaDetailsPage<HibernatePackageInfo> buildDetailsPage(
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ return new PackageInfoDetailsPage(parent, widgetFactory);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/messages.properties
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/messages.properties
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/messages.properties 2011-08-24
13:35:52 UTC (rev 34226)
@@ -0,0 +1,3 @@
+PackageInfoDetailsPage_GenericGeneratorsSection=Generic Generators
+PackageInfoDetailsPage_QueriesSection=Queries
+PackageInfoDetailsPage_TypeDefinitionsSection=Type Definitions
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAddQueryDialog.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAddQueryDialog.java 2011-08-24
13:13:46 UTC (rev 34225)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAddQueryDialog.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -43,6 +43,8 @@
public static final String NAMED_QUERY = "namedQuery"; //$NON-NLS-1$
public static final String NAMED_NATIVE_QUERY = "namedNativeQuery";
//$NON-NLS-1$
+
+ private boolean hibernateOnly;
/**
@@ -53,10 +55,14 @@
/**
* Use this constructor to edit an existing conversion value
+ * @param hibernateOnly shows that only @org.hibernate.annotations.NamedQuery
+ * and @org.hibernate.annotations.NamedNativeQuery
+ * could be added.
*/
- public HibernateAddQueryDialog(Shell parent, PersistenceUnit pUnit) {
+ public HibernateAddQueryDialog(Shell parent, PersistenceUnit pUnit, boolean
hibernateOnly) {
super(parent);
this.pUnit = pUnit;
+ this.hibernateOnly = hibernateOnly;
}
@Override
@@ -146,8 +152,10 @@
protected ListValueModel<String> buildQueryTypeListHolder() {
List<String> queryTypes = new ArrayList<String>();
- queryTypes.add(NAMED_QUERY);
- queryTypes.add(NAMED_NATIVE_QUERY);
+ if (!hibernateOnly){
+ queryTypes.add(NAMED_QUERY);
+ queryTypes.add(NAMED_NATIVE_QUERY);
+ }
queryTypes.add(HibernateNamedQuery.HIBERNATE_NAMED_QUERY);
queryTypes.add(HibernateNamedNativeQuery.HIBERNATE_NAMED_NATIVE_QUERY);
return new StaticListValueModel<String>(queryTypes);
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java 2011-08-24
13:13:46 UTC (rev 34225)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateQueriesComposite.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -51,6 +51,7 @@
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaNamedQuery;
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernatePackageInfo;
/**
* @author Dmitry Geraskov
@@ -83,7 +84,8 @@
}
protected HibernateAddQueryDialog buildAddQueryDialog() {
- return new HibernateAddQueryDialog(getControl().getShell(),
this.getSubject().getPersistenceUnit());
+ boolean hibernateOnly = (getSubject().getParent() instanceof HibernatePackageInfo);
+ return new HibernateAddQueryDialog(getControl().getShell(),
this.getSubject().getPersistenceUnit(), hibernateOnly);
}
protected void addQueryFromDialog(HibernateAddQueryDialog hibernateAddQueryDialog) {
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/PackageInfoResourceUIDefinition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/PackageInfoResourceUIDefinition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/PackageInfoResourceUIDefinition.java 2011-08-24
13:35:52 UTC (rev 34226)
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java;
+
+import java.util.Iterator;
+
+import org.eclipse.jpt.common.core.JptCommonCorePlugin;
+import org.eclipse.jpt.common.core.JptResourceType;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.AttributeMapping;
+import org.eclipse.jpt.jpa.core.context.PersistentType;
+import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.TypeMapping;
+import org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition;
+import org.eclipse.jpt.jpa.ui.ResourceUiDefinition;
+import org.eclipse.jpt.jpa.ui.details.DefaultMappingUiDefinition;
+import org.eclipse.jpt.jpa.ui.details.JpaComposite;
+import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition;
+import org.eclipse.jpt.jpa.ui.structure.JpaStructureProvider;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * @author Dmitry Geraskov
+ * The provider provides empty ui for Structure view for package-info.java
+ */
+public class PackageInfoResourceUIDefinition implements
+ MappingResourceUiDefinition {
+
+ private static final JpaStructureProvider EMPTY = null;
+
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new
PackageInfoResourceUIDefinition();
+
+ /**
+ * Return the singleton.
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Enforce singleton usage
+ */
+ private PackageInfoResourceUIDefinition() {
+ super();
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jpt.jpa.ui.ResourceUiDefinition#providesUi(org.eclipse.jpt.common.core.JptResourceType)
+ */
+ @Override
+ public boolean providesUi(JptResourceType resourceType) {
+ return
resourceType.equals(JptCommonCorePlugin.JAVA_SOURCE_PACKAGE_INFO_RESOURCE_TYPE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jpt.jpa.ui.ResourceUiDefinition#getStructureProvider()
+ */
+ @Override
+ public JpaStructureProvider getStructureProvider() {
+ return EMPTY;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition#buildAttributeMappingComposite(java.lang.String,
org.eclipse.jpt.common.utility.model.value.PropertyValueModel,
org.eclipse.swt.widgets.Composite, org.eclipse.jpt.common.ui.WidgetFactory)
+ */
+ @Override
+ public JpaComposite buildAttributeMappingComposite(String key,
+ PropertyValueModel<AttributeMapping> mappingHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition#attributeMappingUiDefinitions()
+ */
+ @Override
+ public Iterator<MappingUiDefinition<ReadOnlyPersistentAttribute, ? extends
AttributeMapping>> attributeMappingUiDefinitions() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition#getDefaultAttributeMappingUiDefinition(java.lang.String)
+ */
+ @Override
+ public DefaultMappingUiDefinition<ReadOnlyPersistentAttribute, ? extends
AttributeMapping> getDefaultAttributeMappingUiDefinition(
+ String key) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition#buildTypeMappingComposite(java.lang.String,
org.eclipse.jpt.common.utility.model.value.PropertyValueModel,
org.eclipse.swt.widgets.Composite, org.eclipse.jpt.common.ui.WidgetFactory)
+ */
+ @Override
+ public JpaComposite buildTypeMappingComposite(String key,
+ PropertyValueModel<TypeMapping> mappingHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition#typeMappingUiDefinitions()
+ */
+ @Override
+ public Iterator<MappingUiDefinition<PersistentType, ? extends TypeMapping>>
typeMappingUiDefinitions() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jpt.jpa.ui.MappingResourceUiDefinition#getDefaultTypeMappingUiDefinition()
+ */
+ @Override
+ public DefaultMappingUiDefinition<PersistentType, ? extends TypeMapping>
getDefaultTypeMappingUiDefinition() {
+ return null;
+ }
+
+}