JBoss Tools SVN: r33775 - in trunk/cdi/plugins: org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core and 8 other directories.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2011-08-10 13:11:56 -0400 (Wed, 10 Aug 2011)
New Revision: 33775
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/CDIProjectChangeEvent.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/ICDIProjectChangeListener.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/icons/open_cdi_named_bean.gif
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/handlers/
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/handlers/OpenCDINamedBeanHandler.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/CDINamedBeanReferencedFilter.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/OpenCDINamedBeanDialog.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/plugin.xml
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIPlugin.java
Log:
JBIDE-7892
Search for @Named beans.
Open CDI Named Bean Dialog is added
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/META-INF/MANIFEST.MF 2011-08-10 17:11:56 UTC (rev 33775)
@@ -34,6 +34,7 @@
org.jboss.tools.cdi.core.preferences,
org.jboss.tools.cdi.internal.core.ca,
org.jboss.tools.cdi.internal.core.el,
+ org.jboss.tools.cdi.internal.core.event,
org.jboss.tools.cdi.internal.core.impl,
org.jboss.tools.cdi.internal.core.impl.definition,
org.jboss.tools.cdi.internal.core.project.facet,
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2009-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,
@@ -11,9 +11,14 @@
package org.jboss.tools.cdi.core;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.jboss.tools.cdi.internal.core.event.CDIProjectChangeEvent;
+import org.jboss.tools.cdi.internal.core.event.ICDIProjectChangeListener;
import org.jboss.tools.common.log.BaseUIPlugin;
import org.osgi.framework.BundleContext;
@@ -105,4 +110,43 @@
}
return n;
}
+
+ private static List<ICDIProjectChangeListener> listeners = new ArrayList<ICDIProjectChangeListener>();
+
+ /**
+ * Adds CDI Project listener
+ */
+ public static void addCDIProjectListener(ICDIProjectChangeListener listener) {
+ synchronized(listeners) {
+ if(listeners.contains(listener)) return;
+ listeners.add(listener);
+ }
+ }
+
+ /**
+ * Removes CDI Project listener
+ */
+ public static void removeCDIProjectListener(ICDIProjectChangeListener listener) {
+ synchronized(listeners) {
+ listeners.remove(listener);
+ }
+ }
+
+ /**
+ * Fires CDI Project change event
+ *
+ * @param event
+ */
+ public static void fire(CDIProjectChangeEvent event) {
+ ICDIProjectChangeListener[] ls = null;
+ synchronized(listeners) {
+ ls = listeners.toArray(new ICDIProjectChangeListener[0]);
+ }
+ if(ls != null) {
+ for (int i = 0; i < ls.length; i++) {
+ ls[i].projectChanged(event);
+ }
+ }
+ }
+
}
\ No newline at end of file
Added: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/CDIProjectChangeEvent.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/CDIProjectChangeEvent.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/CDIProjectChangeEvent.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.internal.core.event;
+
+import java.util.EventObject;
+
+import org.jboss.tools.cdi.core.ICDIProject;
+
+/**
+ * CDI Project change event object
+ *
+ * @author Victor V. Rubezhny
+ */
+public class CDIProjectChangeEvent extends EventObject {
+ private static final long serialVersionUID = 1L;
+ /**
+ * Modified CDI project.
+ */
+ ICDIProject project;
+
+ public CDIProjectChangeEvent(ICDIProject project) {
+ super(project);
+ this.project = project;
+ }
+
+ /**
+ * Returns modified CDI project
+ * @return
+ */
+ public ICDIProject getProject() {
+ return project;
+ }
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/CDIProjectChangeEvent.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/ICDIProjectChangeListener.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/ICDIProjectChangeListener.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/ICDIProjectChangeListener.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.internal.core.event;
+
+/**
+ * CDI Project Listener
+ *
+ * @author Victor V. Rubezhny
+ */
+public interface ICDIProjectChangeListener {
+ /**
+ * Called when CDI project is changed.
+ * @param event
+ */
+ public void projectChanged(CDIProjectChangeEvent event);
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/event/ICDIProjectChangeListener.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-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,
@@ -59,6 +59,7 @@
import org.jboss.tools.cdi.core.IStereotype;
import org.jboss.tools.cdi.core.extension.feature.IAmbiguousBeanResolverFeature;
import org.jboss.tools.cdi.core.extension.feature.IBuildParticipantFeature;
+import org.jboss.tools.cdi.internal.core.event.CDIProjectChangeEvent;
import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.BeansXMLDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext;
@@ -1058,7 +1059,8 @@
if(p.getProject() != null && p.getProject().isAccessible() && p.getDelegate() != null) {
p.getDelegate().update();
}
- }
+ }
+ CDICorePlugin.fire(new CDIProjectChangeEvent(this));
}
void rebuildAnnotationTypes() {
Added: trunk/cdi/plugins/org.jboss.tools.cdi.ui/icons/open_cdi_named_bean.gif
===================================================================
(Binary files differ)
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.ui/icons/open_cdi_named_bean.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/plugin.xml
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/plugin.xml 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/plugin.xml 2011-08-10 17:11:56 UTC (rev 33775)
@@ -118,8 +118,62 @@
class="org.jboss.tools.cdi.ui.refactoring.CDIRefactorContributionFactory"
locationURI="popup:org.eclipse.ui.popup.any?after=save">
</menuContribution>
+
+ <menuContribution
+ locationURI="menu:navigate?after=open.ext2">
+ <command
+ commandId="org.jboss.tools.cdi.ui.open.namedBean"
+ id="openNamedBean"
+ mnemonic="Z"
+ icon="$nl$/icons/open_cdi_named_bean.gif"
+ label="Open CDI Named Bean"
+ tooltip="Open CDI Named Bean" >
+ </command>
+ </menuContribution>
+ <menuContribution
+ locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
+ <toolbar
+ id="org.eclipse.search.searchActionSet">
+ <command
+ commandId="org.jboss.tools.cdi.ui.open.namedBean"
+ id="openNamedBean"
+ mnemonic="Z"
+ icon="$nl$/icons/open_cdi_named_bean.gif"
+ label="Open CDI Named Bean"
+ tooltip="Open CDI Named Bean" >
+ </command>
+ </toolbar>
+ </menuContribution>
+
</extension>
-
+
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.jboss.tools.cdi.ui.handlers.OpenCDINamedBeanHandler"
+ commandId="org.jboss.tools.cdi.ui.open.namedBean">
+ </handler>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ categoryId="org.eclipse.ui.category.navigate"
+ description="Open CDI Named Bean"
+ id="org.jboss.tools.cdi.ui.open.namedBean"
+ name="Open CDI Named Bean">
+ </command>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.bindings">
+ <key
+ commandId="org.jboss.tools.cdi.ui.open.namedBean"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+ sequence="M1+M3+Z">
+ </key>
+ </extension>
+
<extension point="org.eclipse.ui.newWizards">
<category
name="CDI (Context and Dependency Injection)"
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -1,6 +1,6 @@
/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
+ * Copyright (c) 2010-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,
@@ -131,4 +131,11 @@
public static String CDI_GENERATE_BEANS_XML;
public static String CDI_INSTALL_WIZARD_PAGE_FACET;
public static String CDI_INSTALL_WIZARD_PAGE_CONFIGURE;
+
+ public static String OPEN_CDI_NAMED_BEAN_DIALOG_LOADING;
+ public static String OPEN_CDI_NAMED_BEAN_DIALOG_NAME;
+ public static String OPEN_CDI_NAMED_BEAN_DIALOG_WAIT;
+
+ public static String OPEN_CDI_NAMED_BEAN_ACTION_NAME;
+ public static String OPEN_CDI_NAMED_BEAN_ACTION_MESSAGE;
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIMessages.properties 2011-08-10 17:11:56 UTC (rev 33775)
@@ -120,3 +120,12 @@
NEW_BEANS_XML_WIZARD_TITLE=New beans.xml File
NEW_BEANS_XML_WIZARD_PAGE_NAME=beans.xml File
NEW_BEANS_XML_WIZARD_DESCRIPTION=Create a new beans.xml File
+
+OPEN_CDI_NAMED_BEAN_DIALOG_LOADING=CDI Project beans loading
+OPEN_CDI_NAMED_BEAN_DIALOG_NAME=OpenCDINamedBeanDialog
+OPEN_CDI_NAMED_BEAN_DIALOG_WAIT=Wait for Build...
+
+OPEN_CDI_NAMED_BEAN_ACTION_NAME=Open CDI Named Bean
+OPEN_CDI_NAMED_BEAN_ACTION_MESSAGE=Enter CDI Named Bean name prefix or pattern (? = any character, * = any string):
+
+
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIPlugin.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIPlugin.java 2011-08-10 17:10:11 UTC (rev 33774)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/CDIUIPlugin.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2009-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,
@@ -10,6 +10,10 @@
******************************************************************************/
package org.jboss.tools.cdi.ui;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.internal.core.event.CDIProjectChangeEvent;
+import org.jboss.tools.cdi.internal.core.event.ICDIProjectChangeListener;
+import org.jboss.tools.cdi.ui.wizard.OpenCDINamedBeanDialog;
import org.jboss.tools.common.log.BaseUIPlugin;
import org.osgi.framework.BundleContext;
@@ -37,6 +41,12 @@
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
+ CDICorePlugin.addCDIProjectListener(new ICDIProjectChangeListener(){
+ public void projectChanged(CDIProjectChangeEvent event) {
+ OpenCDINamedBeanDialog.validateHistory(event.getProject());
+ }
+ });
+
}
/*
Added: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/handlers/OpenCDINamedBeanHandler.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/handlers/OpenCDINamedBeanHandler.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/handlers/OpenCDINamedBeanHandler.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.ui.handlers;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
+import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.text.Region;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.SelectionDialog;
+import org.eclipse.ui.ide.IDE;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.internal.core.el.CdiElResolver;
+import org.jboss.tools.cdi.ui.CDIUIMessages;
+import org.jboss.tools.cdi.ui.wizard.OpenCDINamedBeanDialog;
+import org.jboss.tools.cdi.ui.wizard.OpenCDINamedBeanDialog.CDINamedBeanWrapper;
+import org.jboss.tools.common.el.core.resolver.ELContextImpl;
+import org.jboss.tools.common.el.core.resolver.ELResolution;
+import org.jboss.tools.common.el.core.resolver.ELSegment;
+import org.jboss.tools.common.el.core.resolver.IOpenableReference;
+import org.jboss.tools.common.text.ITextSourceReference;
+import org.jboss.tools.common.text.ext.util.StructuredSelectionHelper;
+
+/**
+ * Open CDI Named Bean Dialog Handler
+ *
+ * @author Victor V. Rubezhny
+ */
+@SuppressWarnings("restriction")
+public class OpenCDINamedBeanHandler extends AbstractHandler {
+
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ Shell parent= PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+ SelectionDialog dialog;
+
+ dialog= new OpenCDINamedBeanDialog(parent);
+
+ dialog.setTitle(CDIUIMessages.OPEN_CDI_NAMED_BEAN_ACTION_NAME);
+ dialog.setMessage(CDIUIMessages.OPEN_CDI_NAMED_BEAN_ACTION_MESSAGE);
+
+ int result= dialog.open();
+ if (result != IDialogConstants.OK_ID)
+ return null;
+
+ Object[] beans= dialog.getResult();
+ if (beans != null && beans.length > 0) {
+ CDINamedBeanWrapper wrapper= null;
+ for (int i= 0; i < beans.length; i++) {
+ wrapper= (CDINamedBeanWrapper) beans[i];
+ IBean bean = wrapper.getBean();
+ IProject project = bean.getCDIProject().getNature().getProject();
+ ELContextImpl elContext = new ELContextImpl();
+ elContext.setResource(project.getFile(".project"));
+
+ CdiElResolver resolver = new CdiElResolver();
+ ELResolution resolution = resolver.resolve(elContext, resolver.parseOperand("${" + bean.getName() + "}"), 0);
+ if (resolution.isResolved() && resolution.getNumberOfResolvedSegments() == 1) {
+ ELSegment segment = resolution.getLastSegment();
+ if (segment != null && segment.isResolved()) {
+ IOpenableReference[] openables = segment.getOpenable();
+
+ if(openables.length == 0 || !openables[0].open()) {
+ ITextSourceReference ref = segment.getSourceReference();
+ if (ref.getResource() != null && ref.getResource() instanceof IFile) {
+ IEditorPart part = null;
+ try {
+ IWorkbenchPage page = PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getActivePage();
+ part = IDE.openEditor(page, (IFile)ref.getResource(), true);
+ } catch (PartInitException pie) {
+ CDICorePlugin.getDefault().logError(pie);
+ }
+ if (part != null && ref.getStartPosition() >=0 && ref.getLength() > 0) {
+ if (part instanceof JavaEditor) {
+ EditorUtility.revealInEditor(part,
+ ref.getStartPosition(), ref.getLength());
+ } else {
+ StructuredSelectionHelper.setSelectionAndRevealInActiveEditor(
+ new Region(ref.getStartPosition(), ref.getLength()));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return null;
+ }
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/handlers/OpenCDINamedBeanHandler.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/CDINamedBeanReferencedFilter.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/CDINamedBeanReferencedFilter.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/CDINamedBeanReferencedFilter.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.ui.wizard;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.common.text.ITextSourceReference;
+
+/**
+ * CDI Named Bean Filter
+ *
+ * @author Victor V. Rubezhny
+ */
+public class CDINamedBeanReferencedFilter extends ViewerFilter {
+
+ @Override
+ public boolean select(Viewer viewer, Object parentElement, Object element) {
+ if(element instanceof IBean) {
+ IBean bean = (IBean)element;
+ return isBeanDeclaredInThisProject(bean);
+ }
+
+ return true;
+ }
+
+ public static boolean isBeanDeclaredInThisProject(IBean bean) {
+ ICDIProject beanProject = bean.getCDIProject();
+ IResource beanResource = null;
+
+ //1. Get @Named declared directly, not in stereotype.
+ ITextSourceReference nameLocation = bean.getNameLocation(false);
+ //2. Get stereotype declaration declaring @Named, if @Named is not declared directly.
+ ITextSourceReference stereotypeLocation = nameLocation != null ? null : bean.getNameLocation(true);
+ if (nameLocation != null) {
+ beanResource = nameLocation.getResource();
+ } else if (stereotypeLocation != null) {
+ beanResource = stereotypeLocation.getResource();
+ }
+ if (beanResource == null)
+ return false;
+
+ ICDIProject cdiProject = CDICorePlugin.getCDIProject(beanResource.getProject(),
+ true);
+ return cdiProject == beanProject;
+ }
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/CDINamedBeanReferencedFilter.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/OpenCDINamedBeanDialog.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/OpenCDINamedBeanDialog.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/OpenCDINamedBeanDialog.java 2011-08-10 17:11:56 UTC (rev 33775)
@@ -0,0 +1,410 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.ui.wizard;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.dialogs.DialogSettings;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.WorkbenchException;
+import org.eclipse.ui.XMLMemento;
+import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.ui.CDIUIMessages;
+import org.jboss.tools.cdi.ui.CDIUIPlugin;
+import org.jboss.tools.cdi.ui.CDIUiImages;
+
+/**
+ * Open CDI Named Bean Dialog
+ *
+ * @author Victor V. Rubezhny
+ */
+public class OpenCDINamedBeanDialog extends FilteredItemsSelectionDialog {
+
+ private static final String FILE_NAME = "OpenCDINamedBeanHistory.xml"; //$NON-NLS-1$
+ private static final String ROOT_NODE = "historyRootNode"; //$NON-NLS-1$
+ private static final String INFO_NODE = "infoNode"; //$NON-NLS-1$
+ private static final String PROJECT_NAME = "ProjectName"; //$NON-NLS-1$
+ private static final String BEAN_NAME = "BeanName"; //$NON-NLS-1$
+ private static final String DELETED = "Deleted"; //$NON-NLS-1$
+ private static final String SEPARATOR = " - "; //$NON-NLS-1$
+ private static final String YES = "yes"; //$NON-NLS-1$
+ private static final String NO = "no"; //$NON-NLS-1$
+
+ public OpenCDINamedBeanDialog(Shell shell) {
+ super(shell);
+
+ setSelectionHistory(new CDINamedBeanSelectionHistory());
+
+ setListLabelProvider(new CDINamedBeanLabelProvider());
+ setDetailsLabelProvider(new CDINamedBeanLabelProvider());
+
+ XMLMemento memento = loadMemento();
+ if (memento != null)
+ getSelectionHistory().load(memento);
+ }
+
+ public void startSearch() {
+ applyFilter();
+ }
+
+ @Override
+ public void okPressed() {
+ // TODO Auto-generated method stub
+ super.okPressed();
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void stopSearchAndShowResults() {
+ refresh();
+ List list = getSelectedItems().toList();
+ Collections.sort(list,getItemsComparator());
+ setResult(list);
+ }
+
+ protected Control createExtendedContentArea(Composite parent) {
+ return null;
+ }
+
+ protected ItemsFilter createFilter() {
+ return new CDINamedBeanFilter();
+ }
+
+ protected void fillContentProvider(AbstractContentProvider contentProvider,
+ ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
+ throws CoreException {
+
+ progressMonitor.subTask(CDIUIMessages.OPEN_CDI_NAMED_BEAN_DIALOG_WAIT);
+
+ try {
+ Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+ } catch (InterruptedException e) {
+ // do nothing
+ }
+
+ IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
+ .getProjects();
+
+ progressMonitor.beginTask(
+ CDIUIMessages.OPEN_CDI_NAMED_BEAN_DIALOG_LOADING,
+ projects.length);
+
+ for (int i = 0; i < projects.length; i++) {
+ IProject project = projects[i];
+ progressMonitor.subTask(project.getName());
+
+ ICDIProject cdiProject = CDICorePlugin.getCDIProject(project,
+ true);
+ if (cdiProject != null) {
+ Set<IBean> iter = cdiProject.getNamedBeans(false);
+ for (IBean bean: iter) {
+ if (CDINamedBeanReferencedFilter
+ .isBeanDeclaredInThisProject(bean))
+ contentProvider.add(new CDINamedBeanWrapper(bean
+ .getName(), project.getName(), bean),
+ itemsFilter);
+ }
+ }
+ progressMonitor.worked(1);
+ }
+ progressMonitor.done();
+ }
+
+ private static XMLMemento loadMemento() {
+ XMLMemento memento = null;
+ IPath stateLocation = CDIUIPlugin.getDefault().getStateLocation()
+ .append(FILE_NAME);
+ File file = new File(stateLocation.toOSString());
+ if (file.exists()) {
+ FileReader reader = null;
+ try {
+ reader = new FileReader(file);
+
+ memento = XMLMemento.createReadRoot(reader);
+ } catch (IOException ex) {
+ CDICorePlugin.getDefault().logError(ex);
+ } catch (WorkbenchException ex) {
+ CDICorePlugin.getDefault().logError(ex);
+ } finally {
+ try {
+ reader.close();
+ } catch (IOException ex) {
+ CDICorePlugin.getDefault().logError(ex);
+ }
+ }
+ }
+ return memento;
+ }
+
+ private static void saveMemento(XMLMemento xmlMemento) {
+ IPath stateLocation = CDIUIPlugin.getDefault().getStateLocation()
+ .append(FILE_NAME);
+ File file = new File(stateLocation.toOSString());
+ FileWriter writer = null;
+ try {
+ writer = new FileWriter(file);
+
+ xmlMemento.save(writer);
+ } catch (IOException ex) {
+ CDICorePlugin.getDefault().logError(ex);
+ } finally {
+ try {
+ writer.close();
+ } catch (IOException ex) {
+ CDICorePlugin.getDefault().logError(ex);
+ }
+ }
+ }
+
+ protected IDialogSettings getDialogSettings() {
+ return new DialogSettings(
+ CDIUIMessages.OPEN_CDI_NAMED_BEAN_DIALOG_NAME);
+ }
+
+ public String getElementName(Object item) {
+ if (item instanceof CDINamedBeanWrapper) {
+ CDINamedBeanWrapper beanWrapper = (CDINamedBeanWrapper) item;
+ return beanWrapper.getBeanName();
+ }
+ return null;
+ }
+
+ protected Comparator<CDINamedBeanWrapper> getItemsComparator() {
+ return new CDINamedBeanComparator();
+ }
+
+ protected IStatus validateItem(Object item) {
+ return new Status(getSelectedItems().size() >= 0?IStatus.OK:IStatus.ERROR,CDIUIPlugin.PLUGIN_ID,null);
+ }
+
+ public class CDINamedBeanComparator implements
+ Comparator<CDINamedBeanWrapper> {
+ public int compare(CDINamedBeanWrapper left, CDINamedBeanWrapper right) {
+ return left.getBeanName().compareTo(right.getBeanName());
+ }
+
+ }
+
+ public class CDINamedBeanFilter extends ItemsFilter {
+ public boolean isConsistentItem(Object item) {
+ return true;
+ }
+
+ public boolean matchItem(Object item) {
+ if (item instanceof CDINamedBeanWrapper) {
+ CDINamedBeanWrapper beanWrapper = (CDINamedBeanWrapper) item;
+
+ boolean result = patternMatcher.matches(beanWrapper
+ .getBeanName());
+ if (!result) {
+ String pattern = patternMatcher.getPattern();
+ if (pattern.indexOf(".") < 0) {
+ int lastIndex = beanWrapper.getBeanName()
+ .lastIndexOf(".");
+ if (lastIndex >= 0
+ && (lastIndex + 1) < beanWrapper
+ .getBeanName().length())
+ return patternMatcher.matches(beanWrapper
+ .getBeanName()
+ .substring(lastIndex + 1));
+ }
+ }
+ return result;
+ }
+ return false;
+ }
+ }
+
+ public class CDINamedBeanSelectionHistory extends SelectionHistory {
+
+ public CDINamedBeanSelectionHistory() {
+ super();
+ }
+
+ protected Object restoreItemFromMemento(IMemento memento) {
+ XMLMemento mem = (XMLMemento) memento;
+ String projectName = mem.getString(PROJECT_NAME);
+ if (projectName == null)
+ return null;
+ String beanName = mem.getString(BEAN_NAME);
+ if (beanName == null)
+ return null;
+ String beanDeleted = mem.getString(DELETED);
+ if (beanDeleted != null && YES.equals(beanDeleted))
+ return null;
+
+ return new CDINamedBeanWrapper(beanName, projectName);
+ }
+
+ @Override
+ protected void storeItemToMemento(Object item, IMemento memento) {
+ CDINamedBeanWrapper beanWrapper = (CDINamedBeanWrapper) item;
+ XMLMemento mem = (XMLMemento) memento;
+ mem.putString(PROJECT_NAME, beanWrapper.getProjectName());
+ mem.putString(BEAN_NAME, beanWrapper.getBeanName());
+ }
+
+ public void save(IMemento memento) {
+ super.save(memento);
+ if (!(memento instanceof XMLMemento))
+ return;
+ XMLMemento xmlMemento = (XMLMemento) memento;
+ saveMemento(xmlMemento);
+ }
+ }
+
+ public class CDINamedBeanLabelProvider implements ILabelProvider {
+
+ public Image getImage(Object element) {
+ return CDIUiImages.CDI_BEAN_IMAGE;
+ }
+
+ public String getText(Object element) {
+ if (element instanceof CDINamedBeanWrapper) {
+ CDINamedBeanWrapper beanWrapper = (CDINamedBeanWrapper) element;
+ return beanWrapper.getBeanName() + SEPARATOR
+ + beanWrapper.getProjectName();
+ }
+ return null;
+ }
+
+ public void addListener(ILabelProviderListener listener) {
+ }
+
+ public void dispose() {
+ }
+
+ public boolean isLabelProperty(Object element, String property) {
+ return false;
+ }
+
+ public void removeListener(ILabelProviderListener listener) {
+ }
+ }
+
+ public class CDINamedBeanWrapper {
+ private String beanName;
+ private String projectName;
+ private IBean bean;
+
+ public CDINamedBeanWrapper(String beanName, String projectName) {
+ this.beanName = beanName;
+ this.projectName = projectName;
+ }
+
+ public CDINamedBeanWrapper(String beanName, String projectName,
+ IBean bean) {
+ this(beanName, projectName);
+ this.bean = bean;
+ }
+
+ public String getBeanName() {
+ return beanName;
+ }
+
+ public String getProjectName() {
+ return projectName;
+ }
+
+ public IBean getBean() {
+ if (bean == null) {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject(projectName);
+ if (project != null) {
+ ICDIProject cdiProject = CDICorePlugin.getCDIProject(
+ project, true);
+ if (cdiProject != null) {
+ Set<IBean> beans = cdiProject
+ .getBeans(beanName, true);
+ if (beans != null && !beans.isEmpty())
+ return beans.iterator().next();
+ }
+ }
+ return null;
+ }
+ return bean;
+ }
+
+ }
+
+ public static void validateHistory(ICDIProject cdiProject) {
+ String cdiProjectName = cdiProject.getNature().getProject().getName();
+
+ XMLMemento memento = loadMemento();
+ if (memento != null) {
+ XMLMemento historyMemento = (XMLMemento) memento
+ .getChild(ROOT_NODE);
+
+ if (historyMemento == null) {
+ return;
+ }
+
+ IMemento[] mementoElements = historyMemento.getChildren(INFO_NODE);
+ for (int i = 0; i < mementoElements.length; ++i) {
+ IMemento mem = mementoElements[i];
+ String projectName = mem.getString(PROJECT_NAME);
+ if (projectName == null) {
+ mem.putString(DELETED, YES);
+ continue;
+ }
+ if (projectName.equals(cdiProjectName)) {
+ String beanName = mem.getString(BEAN_NAME);
+ if (beanName == null) {
+ mem.putString(DELETED, YES);
+ continue;
+ }
+ IProject project = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject(projectName);
+ if (project != null) {
+ ICDIProject cCDIProject = CDICorePlugin
+ .getCDIProject(project, true);
+ if (cCDIProject != null) {
+ Set<IBean> beans = cdiProject
+ .getBeans(beanName, true);
+ IBean bean = (beans == null || beans.isEmpty() ? null : beans.iterator().next());
+ if (bean == null)
+ mem.putString(DELETED, YES);
+ else
+ mem.putString(DELETED, NO);
+ } else
+ mem.putString(DELETED, YES);
+ } else
+ mem.putString(DELETED, YES);
+ }
+ }
+ saveMemento(memento);
+ }
+ }
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/wizard/OpenCDINamedBeanDialog.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 8 months
JBoss Tools SVN: r33774 - in trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test: jbide and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2011-08-10 13:10:11 -0400 (Wed, 10 Aug 2011)
New Revision: 33774
Added:
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/JBIDE9445Test_DuplicateSourceMenu.java
Modified:
trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java
Log:
https://issues.jboss.org/browse/JBIDE-9445 , SWTBot test was added.
Modified: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java 2011-08-10 16:23:15 UTC (rev 33773)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/VPEAllBotTests.java 2011-08-10 17:10:11 UTC (rev 33774)
@@ -71,6 +71,7 @@
import org.jboss.tools.vpe.ui.bot.test.editor.tags.TreeTagTest;
import org.jboss.tools.vpe.ui.bot.test.editor.tags.VirtualEarthTagTest;
import org.jboss.tools.vpe.ui.bot.test.jbide.JBIDE4556Test;
+import org.jboss.tools.vpe.ui.bot.test.jbide.JBIDE9445Test_DuplicateSourceMenu;
import org.jboss.tools.vpe.ui.bot.test.palette.CancelTagLibDefenitionTest;
import org.jboss.tools.vpe.ui.bot.test.palette.ImportTagsFromTLDFileTest;
import org.jboss.tools.vpe.ui.bot.test.palette.ManagePaletteGroupsTest;
@@ -176,6 +177,7 @@
suite.addTestSuite(OpenOnTest.class);
suite.addTestSuite(XhtmlFilePerformanceTest.class);
suite.addTestSuite(MarkersTest.class);
+ suite.addTestSuite(JBIDE9445Test_DuplicateSourceMenu.class);
return new TestSetup(suite);
}
}
Added: trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/JBIDE9445Test_DuplicateSourceMenu.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/JBIDE9445Test_DuplicateSourceMenu.java (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.ui.bot.test/src/org/jboss/tools/vpe/ui/bot/test/jbide/JBIDE9445Test_DuplicateSourceMenu.java 2011-08-10 17:10:11 UTC (rev 33774)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2011 Exadel, Inc. and 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
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.ui.bot.test.jbide;
+
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.jboss.tools.vpe.ui.bot.test.VPEAutoTestCase;
+
+public class JBIDE9445Test_DuplicateSourceMenu extends VPEAutoTestCase {
+
+ public JBIDE9445Test_DuplicateSourceMenu() {
+ super();
+ }
+
+ public void testDuplicateMenus() {
+ /*
+ * Open the default jsp page
+ */
+ SWTBotEditor editor = SWTTestExt.packageExplorer.openFile(JBT_TEST_PROJECT_NAME,
+ "WebContent", "pages", TEST_PAGE); //$NON-NLS-1$ //$NON-NLS-2$
+ editor.setFocus();
+ /*
+ * When focus is on the editor --
+ * only one 'Source' menu should be available
+ */
+ assertTrue(bot.menu("Source", 0).isVisible()); //$NON-NLS-1$
+ try {
+ assertFalse("Second 'Source' menu is enabled, but shouldn't be", //$NON-NLS-1$
+ bot.menu("Source", 1).isEnabled()); //$NON-NLS-1$
+ } catch (Exception e) { }
+ /*
+ * Set focus to the PackageExplorer
+ */
+ openPackageExplorer();
+ /*
+ * After focus moved to Package Explorer --
+ * still only one menu should be visible
+ */
+ assertTrue(bot.menu("Source", 0).isEnabled()); //$NON-NLS-1$
+ try {
+ assertFalse("Second 'Source' menu is enabled, but shouldn't be", //$NON-NLS-1$
+ bot.menu("Source", 1).isEnabled()); //$NON-NLS-1$
+ } catch (Exception e) { }
+ }
+
+ @Override
+ protected void closeUnuseDialogs() { }
+
+ @Override
+ protected boolean isUnuseDialogOpened() {
+ return false;
+ }
+}
14 years, 8 months
JBoss Tools SVN: r33773 - trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix.
by jbosstools-commits@lists.jboss.org
Author: jjankovi
Date: 2011-08-10 12:23:15 -0400 (Wed, 10 Aug 2011)
New Revision: 33773
Added:
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/CDIQuickFixTest.java
Removed:
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/QuickFixTest.java
Log:
QuickFixTest name changed to CDIQuickFixTest
Added: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/CDIQuickFixTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/CDIQuickFixTest.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/CDIQuickFixTest.java 2011-08-10 16:23:15 UTC (rev 33773)
@@ -0,0 +1,83 @@
+package org.jboss.tools.cdi.bot.test.fix;
+
+import java.io.InputStream;
+import java.util.Scanner;
+import java.util.logging.Logger;
+
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.cdi.bot.test.CDIAllBotTests;
+import org.jboss.tools.cdi.bot.test.uiutils.actions.CDIUtil;
+import org.jboss.tools.cdi.bot.test.uiutils.actions.NewCDIFileWizard;
+import org.jboss.tools.cdi.bot.test.uiutils.actions.NewFileWizardAction;
+import org.jboss.tools.cdi.bot.test.uiutils.wizards.CDIWizardType;
+import org.jboss.tools.cdi.bot.test.uiutils.wizards.DynamicWebProjectWizard;
+import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
+import org.jboss.tools.ui.bot.ext.SWTEclipseExt;
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.jboss.tools.ui.bot.ext.config.Annotations.SWTBotTestRequires;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerState;
+import org.jboss.tools.ui.bot.ext.types.ViewType;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite.SuiteClasses;
+
+/*
+ * Test operates on quick fixes of CDI components
+ *
+ * @author Jaroslav Jankovic
+ */
+
+@SWTBotTestRequires(perspective = "Java EE", server = @Server(state = ServerState.NotRunning, version = "6.0", operator = ">="))
+(a)RunWith(RequirementAwareSuite.class)
+@SuiteClasses({ CDIAllBotTests.class })
+public class CDIQuickFixTest extends SWTTestExt {
+
+ private static final Logger LOGGER = Logger.getLogger(CDIQuickFixTest.class
+ .getName());
+ private static final String PROJECT_NAME = "CDIProject";
+ private static final String PACKAGE_NAME = "org.cdi.test";
+ private static final String BEAN_NAME = "B1";
+
+
+ @Test
+ public void testSerializableQF() {
+ new NewFileWizardAction().run()
+ .selectTemplate("Web", "Dynamic Web Project").next();
+ new DynamicWebProjectWizard().setProjectName(PROJECT_NAME).finish();
+ util.waitForNonIgnoredJobs();
+ SWTBot v = eclipse.showView(ViewType.PROJECT_EXPLORER);
+ SWTBotTree tree = v.tree();
+ tree.setFocus();
+ assertTrue("Project " + PROJECT_NAME + " was not created properly.",
+ SWTEclipseExt.treeContainsItemWithLabel(tree, PROJECT_NAME));
+ SWTBotTreeItem item = tree.getTreeItem(PROJECT_NAME);
+ item.expand();
+ new CDIUtil().nodeContextMenu(tree, item, "Configure",
+ "Add CDI (Context and Dependency Injection) support...")
+ .click();
+ bot.activeShell().bot().button("OK").click();
+ util.waitForNonIgnoredJobs();
+ new NewCDIFileWizard(CDIWizardType.BEAN).run().setPackage(PACKAGE_NAME)
+ .setName(BEAN_NAME).finish();
+ util.waitForNonIgnoredJobs();
+
+ SWTBotEditor ed = bot.editorByTitle(BEAN_NAME + ".java");
+ SWTBotEclipseEditor st = ed.toTextEditor();
+ st.selectRange(0, 0, st.getText().length());
+ InputStream javasrc = CDIQuickFixTest.class
+ .getResourceAsStream("/resources/cdi/" + BEAN_NAME + ".java.cdi");
+ String code = readStream(javasrc);
+ st.setText(code);
+ ed.save();
+ assertContains("@SessionScoped",ed.toTextEditor().getText());
+ }
+
+ private String readStream(InputStream is) {
+ return new Scanner(is).useDelimiter("\\A").next();
+ }
+}
Deleted: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/QuickFixTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/QuickFixTest.java 2011-08-10 16:18:28 UTC (rev 33772)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/fix/QuickFixTest.java 2011-08-10 16:23:15 UTC (rev 33773)
@@ -1,37 +0,0 @@
-package org.jboss.tools.cdi.bot.test.fix;
-
-import java.util.logging.Logger;
-
-import junit.framework.Assert;
-
-import org.eclipse.swtbot.eclipse.finder.SWTEclipseBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.jboss.tools.cdi.bot.test.editor.BeansEditorTest;
-import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
-import org.jboss.tools.ui.bot.ext.SWTBotExt;
-import org.jboss.tools.ui.bot.ext.SWTTestExt;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite.SuiteClasses;
-
-/*
- * Test operates on quick fixes of CDI components
- *
- * @author Jaroslav Jankovic
- */
-
-(a)RunWith(RequirementAwareSuite.class)
-@SuiteClasses({ BeansEditorTest.class })
-public class QuickFixTest extends SWTBotExt{
-
- private static final Logger LOGGER = Logger.getLogger(QuickFixTest.class.getName());
-
-
- @Test
- public void testQuickFix(){
-
- }
-
-
-}
14 years, 8 months
JBoss Tools SVN: r33772 - in trunk: cdi/tests/org.jboss.tools.cdi.bot.test/resources and 7 other directories.
by jbosstools-commits@lists.jboss.org
Author: jjankovi
Date: 2011-08-10 12:18:28 -0400 (Wed, 10 Aug 2011)
New Revision: 33772
Added:
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/resources/
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/resources/cdi/
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/resources/cdi/B1.java.cdi
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/actions/CDIUtil.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDIAllBotTests.java
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/wizards/CDIWizard.java
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/wizard/CdiATWizardTest.java
trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/gen/ActionItem.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java
Log:
CDI: added(new resource folder for CDIQuickFixTest, util class CDIUtil for context menu), updated(CDIQuickFixTest, CdiATWizardTest), WS: updated(TopDown test - label changed)
Added: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/resources/cdi/B1.java.cdi
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/resources/cdi/B1.java.cdi (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/resources/cdi/B1.java.cdi 2011-08-10 16:18:28 UTC (rev 33772)
@@ -0,0 +1,14 @@
+package org.cdi.test;
+
+import javax.enterprise.context.SessionScoped;
+
+@SessionScoped
+public class B1 {
+
+
+
+ public B1() {
+
+ }
+
+}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDIAllBotTests.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDIAllBotTests.java 2011-08-10 15:55:39 UTC (rev 33771)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDIAllBotTests.java 2011-08-10 16:18:28 UTC (rev 33772)
@@ -11,7 +11,7 @@
package org.jboss.tools.cdi.bot.test;
import org.jboss.tools.cdi.bot.test.editor.BeansEditorTest;
-import org.jboss.tools.cdi.bot.test.fix.QuickFixTest;
+import org.jboss.tools.cdi.bot.test.fix.CDIQuickFixTest;
import org.jboss.tools.cdi.bot.test.wizard.CdiATWizardTest;
import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
import org.junit.runner.RunWith;
@@ -41,7 +41,7 @@
@SuiteClasses({
CdiATWizardTest.class,
BeansEditorTest.class,
- QuickFixTest.class
+ CDIQuickFixTest.class
})
public class CDIAllBotTests {
}
Added: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/actions/CDIUtil.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/actions/CDIUtil.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/actions/CDIUtil.java 2011-08-10 16:18:28 UTC (rev 33772)
@@ -0,0 +1,29 @@
+package org.jboss.tools.cdi.bot.test.uiutils.actions;
+
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.Result;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.helper.ContextMenuHelper;
+
+public class CDIUtil {
+
+ public SWTBotMenu nodeContextMenu(final SWTBotTree tree,
+ SWTBotTreeItem item, final String... menu) {
+ assert menu.length > 0;
+ ContextMenuHelper.prepareTreeItemForContextMenu(tree, item);
+ return UIThreadRunnable.syncExec(new Result<SWTBotMenu>() {
+
+ public SWTBotMenu run() {
+ SWTBotMenu m = new SWTBotMenu(ContextMenuHelper.getContextMenu(
+ tree, menu[0], false));
+ for (int i = 1; i < menu.length; i++) {
+ m = m.menu(menu[i]);
+ }
+ return m;
+ }
+ });
+ }
+
+}
Modified: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/wizards/CDIWizard.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/wizards/CDIWizard.java 2011-08-10 15:55:39 UTC (rev 33771)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/uiutils/wizards/CDIWizard.java 2011-08-10 16:18:28 UTC (rev 33772)
@@ -15,10 +15,16 @@
import org.eclipse.swt.widgets.Button;
import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.Result;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotRadio;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.helper.ContextMenuHelper;
public class CDIWizard extends Wizard {
@@ -52,7 +58,7 @@
}
return this;
}
-
+
public CDIWizard setInherited(boolean set) {
setCheckbox("Add @Inherited", set);
return this;
@@ -214,7 +220,8 @@
public List<String> getIBindings() {
setFocus();
- return Arrays.asList(bot().listWithLabel("Interceptor Bindings:").getItems());
+ return Arrays.asList(bot().listWithLabel("Interceptor Bindings:")
+ .getItems());
}
public CDIWizard addStereotype(String stereotype) {
@@ -251,7 +258,7 @@
Radio2(Button b) {
super(b);
}
-
+
@Override
public SWTBotRadio click() {
return (SWTBotRadio) click(true);
@@ -278,7 +285,7 @@
}
return this;
}
-
+
public CDIWizard addInterface(String intf) {
switch (type) {
case DECORATOR:
@@ -361,7 +368,7 @@
}
return this;
}
-
+
public CDIWizard setMethodName(String name) {
switch (type) {
case INTERCEPTOR:
@@ -372,6 +379,7 @@
}
return this;
}
+
private void setCheckbox(String label, boolean set) {
setFocus();
Modified: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/wizard/CdiATWizardTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/wizard/CdiATWizardTest.java 2011-08-10 15:55:39 UTC (rev 33771)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/wizard/CdiATWizardTest.java 2011-08-10 16:18:28 UTC (rev 33772)
@@ -20,6 +20,7 @@
import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.cdi.bot.test.uiutils.actions.CDIUtil;
import org.jboss.tools.cdi.bot.test.uiutils.actions.NewCDIFileWizard;
import org.jboss.tools.cdi.bot.test.uiutils.actions.NewFileWizardAction;
import org.jboss.tools.cdi.bot.test.uiutils.wizards.CDIWizard;
@@ -66,7 +67,9 @@
t.expand();
// Configure Add CDI Support...
- nodeContextMenu(tree, t, "Configure", "Add CDI (Context and Dependency Injection) support...").click();
+
+ new CDIUtil().nodeContextMenu(tree, t, "Configure",
+ "Add CDI (Context and Dependency Injection) support...").click();
bot.activeShell().bot().button("OK").click();
util.waitForNonIgnoredJobs();
}
@@ -410,23 +413,8 @@
assertTrue(code.startsWith("/**"));
}
- private static SWTBotMenu nodeContextMenu(final SWTBotTree tree,
- SWTBotTreeItem item, final String... menu) {
- assert menu.length > 0;
- ContextMenuHelper.prepareTreeItemForContextMenu(tree, item);
- return UIThreadRunnable.syncExec(new Result<SWTBotMenu>() {
+
- public SWTBotMenu run() {
- SWTBotMenu m = new SWTBotMenu(ContextMenuHelper.getContextMenu(
- tree, menu[0], false));
- for (int i = 1; i < menu.length; i++) {
- m = m.menu(menu[i]);
- }
- return m;
- }
- });
- }
-
private CDIWizard qualifier(String pkg, String name, boolean inherited,
boolean comments) {
return create(CDIWizardType.QUALIFIER, pkg, name, inherited, comments);
Modified: trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/gen/ActionItem.java
===================================================================
--- trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/gen/ActionItem.java 2011-08-10 15:55:39 UTC (rev 33771)
+++ trunk/tests/plugins/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/gen/ActionItem.java 2011-08-10 16:18:28 UTC (rev 33772)
@@ -4700,7 +4700,7 @@
* represents item : Web Services->WSDL
*/
public static final INewObject LABEL = new INewObject() {
- public String getName() { return "WSDL";}
+ public String getName() { return "WSDL File";}
public List<String> getGroupPath() {
List<String> l = new Vector<String>();
l.add("Web Services");
Modified: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java 2011-08-10 15:55:39 UTC (rev 33771)
+++ trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java 2011-08-10 16:18:28 UTC (rev 33772)
@@ -179,7 +179,7 @@
}
private void createSampleRESTWS(String project, String name, String pkg, String cls, String appCls) {
- SWTBotEditor ed = createSampleService(Type.REST, project, name, pkg, cls, appCls);
+ SWTBotEditor ed = createSampleService(Type.REST, project, name, pkg, cls, appCls);
SWTBotEclipseEditor st = ed.toTextEditor();
st.selectRange(0, 0, st.getText().length());
InputStream javasrc = SampleWSTest.class.getResourceAsStream("/resources/jbossws/Rest.java.ws");
14 years, 8 months
JBoss Tools SVN: r33771 - workspace/bfitzpat/SOA_5_2_Examples.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2011-08-10 11:55:39 -0400 (Wed, 10 Aug 2011)
New Revision: 33771
Modified:
workspace/bfitzpat/SOA_5_2_Examples/aggregator_eclipse.zip
Log:
SOA-2988 - finally think we have this working for the aggregator example...
Modified: workspace/bfitzpat/SOA_5_2_Examples/aggregator_eclipse.zip
===================================================================
(Binary files differ)
14 years, 8 months
JBoss Tools SVN: r33770 - workspace/bfitzpat/SOA_5_2_Examples.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2011-08-10 11:14:57 -0400 (Wed, 10 Aug 2011)
New Revision: 33770
Modified:
workspace/bfitzpat/SOA_5_2_Examples/aggregator_eclipse.zip
Log:
SOA-2988 - adding file to src folder of inbound splitter of aggregator to work around issue where empty folders aren't imported from the zip currently
Modified: workspace/bfitzpat/SOA_5_2_Examples/aggregator_eclipse.zip
===================================================================
(Binary files differ)
14 years, 8 months
JBoss Tools SVN: r33769 - trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test.
by jbosstools-commits@lists.jboss.org
Author: psrna
Date: 2011-08-10 10:12:23 -0400 (Wed, 10 Aug 2011)
New Revision: 33769
Modified:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/.project
Log:
removed hardcoded path to harmcrest lib
Modified: trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/.project
===================================================================
--- trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/.project 2011-08-10 13:50:01 UTC (rev 33768)
+++ trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/.project 2011-08-10 14:12:23 UTC (rev 33769)
@@ -31,11 +31,4 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
</natures>
- <linkedResources>
- <link>
- <name>lib-org.hamcrest.core_1.1.0.v20090501071000</name>
- <type>2</type>
- <location>/home/psrna/data/testing/bin/5.0.0.M2/studio/plugins/org.hamcrest.core_1.1.0.v20090501071000</location>
- </link>
- </linkedResources>
</projectDescription>
14 years, 8 months
JBoss Tools SVN: r33768 - in trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui: internal/profiles and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: fbricon
Date: 2011-08-10 09:50:01 -0400 (Wed, 10 Aug 2011)
New Revision: 33768
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/Messages.java
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/profiles/ProfileSelectionHandler.java
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/messages.properties
Log:
JBIDE-8969 : Externalized Strings
Modified: trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/Messages.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/Messages.java 2011-08-10 13:33:51 UTC (rev 33767)
+++ trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/Messages.java 2011-08-10 13:50:01 UTC (rev 33768)
@@ -57,7 +57,9 @@
public static String ConfiguratorPreferencePage_When_importing_Maven_projects_configure_the_following;
public static String ProfileManager_Updating_maven_profiles;
+ public static String ProfileSelectionHandler_Loading_maven_profiles;
public static String ProfileSelectionHandler_Maven_Builder_still_processing;
+ public static String ProfileSelectionHandler_multiple_definitions;
public static String ProfileSelectionHandler_Select_some_maven_projects;
public static String ProfileSelectionHandler_Unable_to_open_profile_dialog;
public static String SelectProfilesDialog_autoactivated;
Modified: trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/profiles/ProfileSelectionHandler.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/profiles/ProfileSelectionHandler.java 2011-08-10 13:33:51 UTC (rev 33767)
+++ trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/profiles/ProfileSelectionHandler.java 2011-08-10 13:50:01 UTC (rev 33768)
@@ -186,7 +186,7 @@
private List<ProfileSelection> sharedProfiles;
private GetProfilesJob(final Set<IMavenProjectFacade> facades, IProfileManager profileManager) {
- super("get profiles");
+ super(Messages.ProfileSelectionHandler_Loading_maven_profiles);
this.facades = facades;
this.profileManager = profileManager;
}
@@ -248,7 +248,7 @@
p.setAutoActive(null);
}
if (p.getSource() != null && !p.getSource().equals(s.getSource())) {
- p.setSource("multiple definitions");
+ p.setSource(Messages.ProfileSelectionHandler_multiple_definitions);
}
if (p.getSelected() != null && !p.getSelected().equals(s.isUserSelected())) {
p.setSelected(null);
Modified: trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/messages.properties
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/messages.properties 2011-08-10 13:33:51 UTC (rev 33767)
+++ trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/messages.properties 2011-08-10 13:50:01 UTC (rev 33768)
@@ -37,7 +37,9 @@
ConfiguratorPreferencePage_When_importing_Maven_projects_configure_the_following=When importing Maven projects configure the following:
ProfileManager_Updating_maven_profiles=Updating maven profiles
+ProfileSelectionHandler_Loading_maven_profiles=Loading project profiles
ProfileSelectionHandler_Maven_Builder_still_processing=The maven builder has not finished processing the selected project(s) yet.
+ProfileSelectionHandler_multiple_definitions=multiple definitions
ProfileSelectionHandler_Select_some_maven_projects=You must select at least one active Maven project
ProfileSelectionHandler_Unable_to_open_profile_dialog=Unable to open the Maven Profile selection dialog
SelectProfilesDialog_Activate_menu=Activate {0}
14 years, 8 months
JBoss Tools SVN: r33767 - trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2011-08-10 09:33:51 -0400 (Wed, 10 Aug 2011)
New Revision: 33767
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/HibernateClassRef.java
Log:
validate package-info
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/HibernateClassRef.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/HibernateClassRef.java 2011-08-10 13:33:27 UTC (rev 33766)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/HibernateClassRef.java 2011-08-10 13:33:51 UTC (rev 33767)
@@ -15,6 +15,7 @@
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericClassRef;
@@ -26,6 +27,7 @@
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaPackageInfo;
/**
@@ -193,8 +195,17 @@
if (validateJavaPersistentType) {
this.validateJavaPersistentType(messages, reporter);
}
+ } else {
+ validatePackageInfo(messages, reporter);
}
-
}
+ protected void validatePackageInfo(List<IMessage> messages, IReporter reporter) {
+ try {
+ this.javaPackageInfo.validate(messages, reporter);
+ } catch (Throwable t) {
+ HibernateJptPlugin.logException(t);
+ }
+ }
+
}
14 years, 8 months
JBoss Tools SVN: r33766 - in trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal: context and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2011-08-10 09:33:27 -0400 (Wed, 10 Aug 2011)
New Revision: 33766
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java
Log:
https://issues.jboss.org/browse/JBIDE-9485
Validate typeDef
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -37,6 +37,7 @@
import org.eclipse.jpt.jpa.core.context.java.JavaTable;
import org.eclipse.jpt.jpa.core.internal.AbstractJpaFactory;
import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation;
+import org.eclipse.jpt.jpa.core.resource.java.JavaResourceAnnotatedElement;
import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePackage;
import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation;
@@ -87,6 +88,7 @@
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueryAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
/**
* @author Dmitry Geraskov
@@ -116,8 +118,8 @@
return new JavaGenericGeneratorImpl(parent, annotation);
}
- public JavaTypeDef buildJavaTypeDef(JavaJpaContextNode parent) {
- return new JavaTypeDefImpl(parent);
+ public JavaTypeDef buildJavaTypeDef(JavaJpaContextNode parent, TypeDefAnnotation typeDefResource) {
+ return new JavaTypeDefImpl(parent, typeDefResource);
}
@Override
@@ -218,8 +220,8 @@
return new HibernateJavaGeneratorContainerImpl(parent, owner);
}
- public HibernateJavaTypeDefContainer buildJavaTypeDefContainer(JavaJpaContextNode parent) {
- return new HibernateJavaTypeDefContainerImpl(parent);
+ public HibernateJavaTypeDefContainer buildJavaTypeDefContainer(JavaJpaContextNode parent, JavaResourceAnnotatedElement annotatedElement) {
+ return new HibernateJavaTypeDefContainerImpl(parent, annotatedElement);
}
public JavaIndex buildIndex(JavaJpaContextNode parent, IndexAnnotation annotation) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaProject.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -24,8 +24,8 @@
import org.hibernate.console.ConsoleConfiguration;
import org.hibernate.console.KnownConfigurations;
import org.hibernate.eclipse.console.properties.HibernatePropertiesConstants;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
import org.osgi.service.prefs.Preferences;
/**
@@ -89,7 +89,7 @@
*/
protected void validateConsoleConfiguration(List<IMessage> messages) {
if (KnownConfigurations.getInstance().find(getDefaultConsoleConfigurationName()) == null){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
Messages.CC_NOT_EXISTS, new String[]{getDefaultConsoleConfigurationName()}, getResource());
messages.add(message);
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernatePersistenceUnit.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -40,7 +40,6 @@
import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceUnit;
import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
@@ -53,6 +52,7 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaTypeDef;
import org.jboss.tools.hibernate.jpt.core.internal.context.persistence.HibernateClassRef;
import org.jboss.tools.hibernate.jpt.core.internal.context.persistence.HibernatePersistenceUnitPropertiesBuilder;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -258,14 +258,14 @@
int resType= res.getType();
if (resType != IResource.FILE) {
Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
NOT_A_FILE, new String[]{configFile}, getResource());
message.setLineNo(prop.getValidationTextRange().getLineNumber());
messages.add(message);
}
} else {
Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
CONFIG_FILE_NOT_FOUND, new String[]{configFile}, getResource());
message.setLineNo(prop.getValidationTextRange().getLineNumber());
messages.add(message);
@@ -273,19 +273,6 @@
}
}
- /**
- * Hack class needed to make JPA/Validation API pick up our classloader instead of its own.
- *
- * @author max
- *
- */
- static public class LocalMessage extends Message {
-
- public LocalMessage(int severity, String message,
- String[] strings, Object resource) {
- super(Messages.class.getName(), severity, message, strings, resource);
- }
- }
//
// // ********** specified package-info refs **********
//
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -16,28 +16,32 @@
*/
public interface Messages {
- String NOT_A_FILE = "NOT_A_FILE"; //$NON-NLS-1$
+ public static final String BUNDLE_NAME = "Messages";//$NON-NLS-1$
- String CONFIG_FILE_NOT_FOUND = "CONFIG_FILE_NOT_FOUND"; //$NON-NLS-1$
+ public static final String NOT_A_FILE = "NOT_A_FILE"; //$NON-NLS-1$
- String STRATEGY_CLASS_NOT_FOUND = "STRATEGY_CLASS_NOT_FOUND"; //$NON-NLS-1$
+ public static final String CONFIG_FILE_NOT_FOUND = "CONFIG_FILE_NOT_FOUND"; //$NON-NLS-1$
- String STRATEGY_CANT_BE_EMPTY = "STRATEGY_CANT_BE_EMPTY"; //$NON-NLS-1$
+ public static final String STRATEGY_CLASS_NOT_FOUND = "STRATEGY_CLASS_NOT_FOUND"; //$NON-NLS-1$
- String STRATEGY_INTERFACE = "STRATEGY_INTERFACE"; //$NON-NLS-1$
+ public static final String STRATEGY_CANT_BE_EMPTY = "STRATEGY_CANT_BE_EMPTY"; //$NON-NLS-1$
+
+ public static final String STRATEGY_INTERFACE = "STRATEGY_INTERFACE"; //$NON-NLS-1$
- String NAMING_STRATEGY_EXCEPTION = "NAMING_STRATEGY_EXCEPTION"; //$NON-NLS-1$
+ public static final String NAMING_STRATEGY_EXCEPTION = "NAMING_STRATEGY_EXCEPTION"; //$NON-NLS-1$
- String UNRESOLVED_FOREIGN_KEY_NAME = "UNRESOLVED_FOREIGN_KEY_NAME"; //$NON-NLS-1$
+ public static final String UNRESOLVED_FOREIGN_KEY_NAME = "UNRESOLVED_FOREIGN_KEY_NAME"; //$NON-NLS-1$
- String CC_NOT_EXISTS = "CC_NOT_EXISTS"; //$NON-NLS-1$
+ public static final String CC_NOT_EXISTS = "CC_NOT_EXISTS"; //$NON-NLS-1$
- String TYPE_CANT_BE_EMPTY = "TYPE_CANT_BE_EMPTY"; //$NON-NLS-1$
+ public static final String TYPE_CANT_BE_EMPTY = "TYPE_CANT_BE_EMPTY"; //$NON-NLS-1$
- String USER_TYPE_INTERFACE = "USER_TYPE_INTERFACE"; //$NON-NLS-1$
+ public static final String USER_TYPE_INTERFACE = "USER_TYPE_INTERFACE"; //$NON-NLS-1$
- String TYPE_CLASS_NOT_FOUND = "TYPE_CLASS_NOT_FOUND"; //$NON-NLS-1$
+ public static final String TYPE_CLASS_NOT_FOUND = "TYPE_CLASS_NOT_FOUND"; //$NON-NLS-1$
- String NAME_CANT_BE_EMPTY = "NAME_CANT_BE_EMPTY";//$NON-NLS-1$
+ public static final String NAME_CANT_BE_EMPTY = "NAME_CANT_BE_EMPTY";//$NON-NLS-1$
+
+ public static final String TYPE_DEF_DUPLICATE_NAME= "TYPE_DEF_DUPLICATE_NAME";//$NON-NLS-1$
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.properties 2011-08-10 13:33:27 UTC (rev 33766)
@@ -9,4 +9,5 @@
TYPE_CANT_BE_EMPTY=Type could not be empty.
USER_TYPE_INTERFACE = Type class \"{0}\" should implement interface \"org.hibernate.usertype.UserType\".
TYPE_CLASS_NOT_FOUND = Type class \"{0}\" could not be found.
-NAME_CANT_BE_EMPTY = Name could not be empty.
\ No newline at end of file
+NAME_CANT_BE_EMPTY = Name could not be empty.
+TYPE_DEF_DUPLICATE_NAME=Duplicate type definition named \"{0}\" defined in this persistence unit
\ No newline at end of file
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -15,12 +15,11 @@
import org.eclipse.jpt.jpa.core.context.Relationship;
import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -76,8 +75,8 @@
return ns.collectionTableName(ownerEntityName, targetTable.getName(),
targetEntityName, targetTable.getName(), propName);
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/ForeignKeyImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -24,8 +24,8 @@
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -50,7 +50,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.setName_(annotation.getName());
- this.setInverseName(annotation.getInverseName());
+ this.setInverseName_(annotation.getInverseName());
}
private ForeignKeyAnnotation getResourceForeignKey() {
@@ -139,7 +139,8 @@
private void validateForeignKeyName(List<IMessage> messages, String name, TextRange range) {
if (name == null || name.trim().length() == 0) {
- messages.add(creatErrorMessage(Messages.NAME_CANT_BE_EMPTY, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY, Messages.NAME_CANT_BE_EMPTY,
+ getResource(), range));
} else {
AttributeMapping mapping = (AttributeMapping) getParent();
Table table = mapping.getTypeMapping().getPrimaryDbTable();
@@ -153,17 +154,8 @@
return;
}
}
- creatErrorMessage(Messages.UNRESOLVED_FOREIGN_KEY_NAME, range);
+ messages.add(HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY, Messages.UNRESOLVED_FOREIGN_KEY_NAME,
+ getResource(), range));
}
}
-
- protected IMessage creatErrorMessage(String strmessage, TextRange range){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, new String[0], getResource());
- message.setLineNo(range.getLineNumber());
- message.setOffset(range.getOffset());
- message.setLength(range.getLength());
- return message;
- }
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMapping.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -22,6 +22,5 @@
*/
public interface HibernateJavaBasicMapping extends JavaBasicMapping, Generated, IndexHolder, TypeHolder {
- HibernateJavaTypeDefContainer getTypeDefContainer();
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -42,8 +42,6 @@
new CompositeIterable<JavaConverter.Adapter>(JavaTypeConverter.Adapter.instance(),
new ArrayIterable<JavaConverter.Adapter>(CONVERTER_ADAPTER_ARRAY));
- protected final HibernateJavaTypeDefContainer typeDefContainer;
-
protected GenerationTime specifiedGenerationTime;
protected JavaIndex index;
@@ -52,7 +50,6 @@
public HibernateJavaBasicMappingImpl(JavaPersistentAttribute parent) {
super(parent);
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
this.index = this.buildIndex();
this.type = this.buildType();
}
@@ -70,7 +67,6 @@
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
- this.typeDefContainer.initialize(this.getResourcePersistentAttribute());
this.specifiedGenerationTime = this.getResourceGenerationTime();
this.syncIndex();
this.syncType();
@@ -79,7 +75,6 @@
@Override
public void update() {
super.update();
- this.typeDefContainer.update(this.getResourcePersistentAttribute());
this.setGenerationTime_(this.getResourceGenerationTime());
if (this.index != null){
this.index.update();
@@ -89,10 +84,6 @@
}
}
- public HibernateJavaTypeDefContainer getTypeDefContainer() {
- return this.typeDefContainer;
- }
-
public GeneratedAnnotation getGeneratedAnnotation() {
return (GeneratedAnnotation) getResourcePersistentAttribute().getAnnotation(GeneratedAnnotation.ANNOTATION_NAME);
}
@@ -275,11 +266,6 @@
if (result != null) {
return result;
}
- result = this.getTypeDefContainer().javaCompletionProposals(pos,
- filter, astRoot);
- if (result != null) {
- return result;
- }
if (this.getType() != null) {
result = this.getType().javaCompletionProposals(pos, filter,
astRoot);
@@ -303,7 +289,6 @@
public void validate(List<IMessage> messages, IReporter reporter,
CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
- this.typeDefContainer.validate(messages, reporter, astRoot);
if (this.index != null){
this.index.validate(messages, reporter, astRoot);
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaColumnImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -15,13 +15,12 @@
import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaColumn;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -63,8 +62,8 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -82,8 +81,8 @@
try {
return ns.propertyToColumnName(super.buildDefaultName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -108,8 +107,8 @@
try {
return ns.tableName(getSpecifiedTable());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaDiscriminatorColumnImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -65,8 +64,8 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -83,7 +82,7 @@
if (this.connectionProfileIsActive()) {
if ( ! this.isResolved()) {
messages.add(
- DefaultJpaValidationMessages.buildMessage(
+ HibernateJpaValidationMessage.buildMessage(
IMessage.HIGH_SEVERITY,
JpaValidationMessages.DISCRIMINATOR_COLUMN_UNRESOLVED_NAME,
new String[] {this.getDBColumnName()},
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -39,10 +39,10 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.DiscriminatorFormulaAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -61,7 +61,7 @@
public HibernateJavaEntityImpl(JavaPersistentType parent, EntityAnnotation mappingAnnotation) {
super(parent, mappingAnnotation);
this.discriminatorFormula = this.buildDiscriminatorFormula();
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
+ this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent, this.getResourcePersistentType());
this.cacheable = this.buildJavaCachable();
}
@@ -75,7 +75,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.cacheable.synchronizeWithResourceModel();
- this.typeDefContainer.initialize(this.getResourcePersistentType());
+ this.typeDefContainer.synchronizeWithResourceModel();
this.syncDiscriminatorFormula();
}
@@ -83,7 +83,7 @@
public void update() {
super.update();
this.cacheable.update();
- this.typeDefContainer.update(this.getResourcePersistentType());
+ this.typeDefContainer.update();
if (discriminatorFormula != null){
this.discriminatorFormula.update();
}
@@ -251,8 +251,8 @@
}
return name ;
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m =HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMapping.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -23,7 +23,5 @@
public interface HibernateJavaIdMapping extends JavaIdMapping, IndexHolder, HibernateIdMapping, TypeHolder {
HibernateJavaGeneratorContainer getGeneratorContainer();
-
- HibernateJavaTypeDefContainer getTypeDefContainer();
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -30,8 +30,6 @@
public class HibernateJavaIdMappingImpl extends AbstractJavaIdMapping
implements HibernateJavaIdMapping {
- protected final HibernateJavaTypeDefContainer typeDefContainer;
-
protected JavaIndex index;
protected JavaType type;
@@ -41,7 +39,6 @@
*/
public HibernateJavaIdMappingImpl(JavaPersistentAttribute parent) {
super(parent);
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(parent);
this.index = this.buildIndex();
this.type = this.buildType();
}
@@ -66,7 +63,6 @@
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
- this.typeDefContainer.synchronizeWithResourceModel();
this.syncIndex();
this.syncType();
}
@@ -74,7 +70,6 @@
@Override
public void update() {
super.update();
- this.typeDefContainer.update(this.getResourcePersistentAttribute());
if (this.index != null){
this.index.update();
}
@@ -93,11 +88,6 @@
return this.getColumn().getDBColumnName();
}
- public HibernateJavaTypeDefContainer getTypeDefContainer() {
- return this.typeDefContainer;
- }
-
-
// *** index
public JavaIndex getIndex() {
return this.index;
@@ -228,7 +218,6 @@
public void validate(List<IMessage> messages, IReporter reporter,
CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
- this.typeDefContainer.validate(messages, reporter, astRoot);
if (this.index != null){
this.index.validate(messages, reporter, astRoot);
}
@@ -237,21 +226,4 @@
}
}
- /* (non-Javadoc)
- * @see org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaIdMapping#javaCompletionProposals(int, org.eclipse.jpt.common.utility.Filter, org.eclipse.jdt.core.dom.CompilationUnit)
- */
- @Override
- public Iterator<String> javaCompletionProposals(int pos,
- Filter<String> filter, CompilationUnit astRoot) {
- Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
- result = this.getTypeDefContainer().javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
- return null;
- }
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinColumnImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -101,8 +100,8 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -134,8 +133,8 @@
try {
return ns.columnName(this.specifiedReferencedColumnName);
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -18,14 +18,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -64,8 +63,8 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -10,11 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaManyToOneMapping;
import org.eclipse.jpt.jpa.db.Table;
@@ -23,8 +21,6 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
/**
*
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -10,11 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaMappingRelationship;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaOneToManyMapping;
@@ -24,8 +22,6 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
/**
* @author Dmitry Geraskov
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -10,11 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaOneToOneMapping;
import org.eclipse.jpt.jpa.db.Table;
@@ -23,8 +21,6 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
/**
*
* @author Dmitry Geraskov (geraskov(a)gmail.com)
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -10,30 +10,18 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import java.util.ListIterator;
import java.util.Vector;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.SubIterableWrapper;
-import org.eclipse.jpt.common.utility.internal.iterators.CompositeIterator;
-import org.eclipse.jpt.jpa.core.context.Query;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.jpa.core.context.java.JavaQuery;
import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaQueryContainer;
-import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
-import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.core.resource.java.NestableAnnotation;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaSecondaryTableImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -20,13 +20,12 @@
import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation;
import org.eclipse.jpt.jpa.db.Schema;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -70,8 +69,8 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTableImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -18,13 +18,12 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -75,8 +74,8 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -90,8 +89,8 @@
try {
return ns.classToTableName(getDefaultName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainer.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -13,7 +13,6 @@
import java.util.ListIterator;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourceAnnotatedElement;
/**
* @author Dmitry Geraskov
@@ -29,7 +28,7 @@
* Return a list iterator of the typeDefs.
* This will not be null.
*/
- ListIterator<? extends JavaTypeDef> typeDefs();
+ ListIterator<JavaTypeDef> typeDefs();
/**
* Return the number of typeDefs.
@@ -42,6 +41,11 @@
JavaTypeDef addTypeDef(int index);
/**
+ * Add a typeDef to the entity return the object representing it.
+ */
+ JavaTypeDef addTypeDef();
+
+ /**
* Remove the typeDef at the index from the entity.
*/
void removeTypeDef(int index);
@@ -56,12 +60,4 @@
*/
void moveTypeDef(int targetIndex, int sourceIndex);
- void initialize(JavaResourceAnnotatedElement jrpm);
-
- /**
- * Update the JavaGeneratorContainer context model object to match the JavaResourcePersistentMember
- * resource model object. see {@link org.eclipse.jpt.jpa.core.JpaProject#update()}
- */
- void update(JavaResourceAnnotatedElement jrpm);
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaTypeDefContainerImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -10,17 +10,20 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import java.util.Vector;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.Filter;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
-import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
+import org.eclipse.jpt.common.utility.internal.iterators.SubIteratorWrapper;
+import org.eclipse.jpt.common.utility.internal.iterators.SuperIteratorWrapper;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.jpt.jpa.core.resource.java.JavaResourceAnnotatedElement;
import org.eclipse.jpt.jpa.core.resource.java.NestableAnnotation;
@@ -39,150 +42,161 @@
protected JavaResourceAnnotatedElement javaResourcePersistentElement;
- protected final List<JavaTypeDef> typeDefs;
+ protected final Vector<JavaTypeDef> typeDefs = new Vector<JavaTypeDef>();
+ protected TypeDefContainerAdapter typeDefContainerAdapter = new TypeDefContainerAdapter();
- public HibernateJavaTypeDefContainerImpl(JavaJpaContextNode parent) {
+
+ public HibernateJavaTypeDefContainerImpl(JavaJpaContextNode parent, JavaResourceAnnotatedElement javaResourcePersistentElement) {
super(parent);
- this.typeDefs = new ArrayList<JavaTypeDef>();
+ this.javaResourcePersistentElement = javaResourcePersistentElement;
+ this.initializeTypeDefs();
}
public HibernateAbstractJpaFactory getJpaFactory(){
return (HibernateAbstractJpaFactory)super.getJpaFactory();
}
-
- public void initialize(JavaResourceAnnotatedElement jrpe) {
- this.javaResourcePersistentElement = jrpe;
- this.initializeTypeDefs();
+
+ protected JavaResourceAnnotatedElement getResourceAnnotatedElement() {
+ return this.javaResourcePersistentElement;
}
- public void update(JavaResourceAnnotatedElement jrpm) {
- this.javaResourcePersistentElement = jrpm;
- this.updateTypeDefs();
+ // ********** synchronize/update **********
+
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ this.syncTypeDefs();
}
- public JavaTypeDef addTypeDef(int index) {
- JavaTypeDef newTypeDef = getJpaFactory().buildJavaTypeDef(this);
- this.typeDefs.add(index, newTypeDef);
- TypeDefAnnotation typeDefAnnotation = (TypeDefAnnotation)this.javaResourcePersistentElement
- .addAnnotation(index, TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
- newTypeDef.initialize(typeDefAnnotation);
- fireItemAdded(TYPE_DEFS_LIST, index, newTypeDef);
- return newTypeDef;
+ @Override
+ public void update() {
+ super.update();
+ this.updateNodes(this.getTypeDefs());
}
-
- protected void addTypeDef(JavaTypeDef typeDef) {
- this.addTypeDef(typeDefsSize(), typeDef);
- }
-
- protected void addTypeDef(int index, JavaTypeDef typeDef) {
- addItemToList(index, typeDef, this.typeDefs, TYPE_DEFS_LIST);
- }
+ // ********** type defs **********
+
public ListIterator<JavaTypeDef> typeDefs() {
- return new CloneListIterator<JavaTypeDef>(typeDefs);
+ return this.getTypeDefs().iterator();
}
+ protected ListIterable<JavaTypeDef> getTypeDefs() {
+ return new LiveCloneListIterable<JavaTypeDef>(this.typeDefs);
+ }
+
public int typeDefsSize() {
return this.typeDefs.size();
}
- public void moveTypeDef(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.typeDefs, targetIndex, sourceIndex);
- this.javaResourcePersistentElement.moveAnnotation(targetIndex, sourceIndex, TypeDefsAnnotation.ANNOTATION_NAME);
- fireItemMoved(TYPE_DEFS_LIST, targetIndex, sourceIndex);
+ public JavaTypeDef addTypeDef() {
+ return this.addTypeDef(this.typeDefs.size());
}
- public void removeTypeDef(int index) {
- JavaTypeDef removedTypeDef = this.typeDefs.remove(index);
- this.javaResourcePersistentElement.removeAnnotation(index, TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
- fireItemRemoved(TYPE_DEFS_LIST, index, removedTypeDef);
+ public JavaTypeDef addTypeDef(int index) {
+ TypeDefAnnotation annotation = this.buildTypeDefAnnotation(index);
+ return this.addTypeDef_(index, annotation);
}
+ protected TypeDefAnnotation buildTypeDefAnnotation(int index) {
+ return (TypeDefAnnotation) this.getResourceAnnotatedElement().addAnnotation(index, TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
+ }
+
public void removeTypeDef(JavaTypeDef typeDef) {
- removeTypeDef(this.typeDefs.indexOf(typeDef));
+ this.removeTypeDef(this.typeDefs.indexOf(typeDef));
}
- protected void removeTypeDef_(JavaTypeDef typeDef) {
- removeItemFromList(typeDef, this.typeDefs, TYPE_DEFS_LIST);
+ public void removeTypeDef(int index) {
+ this.getResourceAnnotatedElement().removeAnnotation(index, TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
+ this.removeTypeDef_(index);
}
+ protected void removeTypeDef_(int index) {
+ this.removeItemFromList(index, this.typeDefs, TYPE_DEFS_LIST);
+ }
+
+ public void moveTypeDef(int targetIndex, int sourceIndex) {
+ this.getResourceAnnotatedElement().moveAnnotation(targetIndex, sourceIndex, TypeDefsAnnotation.ANNOTATION_NAME);
+ this.moveItemInList(targetIndex, sourceIndex, this.typeDefs, TYPE_DEFS_LIST);
+ }
+
protected void initializeTypeDefs() {
- for (Iterator<NestableAnnotation> stream = this.javaResourcePersistentElement.annotations(
- TypeDefAnnotation.ANNOTATION_NAME,
- TypeDefsAnnotation.ANNOTATION_NAME);
- stream.hasNext(); ) {
- this.typeDefs.add(buildTypeDef((TypeDefAnnotation) stream.next()));
+ for (TypeDefAnnotation annotation : this.getTypeDefAnnotations()) {
+ this.typeDefs.add(this.buildTypeDef(annotation));
}
}
-
- protected JavaTypeDef buildTypeDef(TypeDefAnnotation typeDefResource) {
- JavaTypeDef typeDef = getJpaFactory().buildJavaTypeDef(this);
- typeDef.initialize(typeDefResource);
- return typeDef;
+
+ protected JavaTypeDef buildTypeDef(TypeDefAnnotation typeDefAnnotation) {
+ return this.getJpaFactory().buildJavaTypeDef(this, typeDefAnnotation);
}
-
- protected void addTypeDefsTo(ArrayList<JavaTypeDef> typeDefs) {
- for (JavaTypeDef typeDef : typeDefs) {
- typeDefs.add(typeDef);
- }
+
+ protected void syncTypeDefs() {
+ ContextContainerTools.synchronizeWithResourceModel(this.typeDefContainerAdapter);
}
-
- protected void updateTypeDefs() {
- ListIterator<JavaTypeDef> typeDefs = typeDefs();
- Iterator<NestableAnnotation> resourceTypeDefs =
- this.javaResourcePersistentElement.annotations(
- TypeDefAnnotation.ANNOTATION_NAME,
- TypeDefsAnnotation.ANNOTATION_NAME);
- while (typeDefs.hasNext()) {
- JavaTypeDef typeDef = typeDefs.next();
- if (resourceTypeDefs.hasNext()) {
- typeDef.update((TypeDefAnnotation) resourceTypeDefs.next());
- }
- else {
- removeTypeDef_(typeDef);
- }
- }
+ protected Iterable<TypeDefAnnotation> getTypeDefAnnotations() {
+ return CollectionTools.iterable(this.typeDefAnnotations());
+ }
- while (resourceTypeDefs.hasNext()) {
- addTypeDef(buildTypeDef((TypeDefAnnotation) resourceTypeDefs.next()));
- }
+ protected Iterator<TypeDefAnnotation> typeDefAnnotations() {
+ return new SuperIteratorWrapper<TypeDefAnnotation>(this.nestableTypeDefAnnotations());
}
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter,
- CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateTypeDefs(messages, reporter, astRoot);
+
+ protected Iterator<TypeDefAnnotation> nestableTypeDefAnnotations() {
+ return new SubIteratorWrapper<NestableAnnotation, TypeDefAnnotation>(this.nestableTypeDefAnnotations_());
}
+ protected Iterator<NestableAnnotation> nestableTypeDefAnnotations_() {
+ return this.getResourceAnnotatedElement().annotations(TypeDefAnnotation.ANNOTATION_NAME, TypeDefsAnnotation.ANNOTATION_NAME);
+ }
- protected void validateTypeDefs(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
- ListIterator<JavaTypeDef> typeDefs = typeDefs();
- while (typeDefs.hasNext()) {
- typeDefs.next().validate(messages, reporter, astRoot);
- }
+ protected void moveTypeDef_(int index, JavaTypeDef typeDef) {
+ this.moveItemInList(index, typeDef, this.typeDefs, TYPE_DEFS_LIST);
}
+ protected JavaTypeDef addTypeDef_(int index, TypeDefAnnotation typeDefAnnotation) {
+ JavaTypeDef typeDef = this.buildTypeDef(typeDefAnnotation);
+ this.addItemToList(index, typeDef, this.typeDefs, TYPE_DEFS_LIST);
+ return typeDef;
+ }
+
+ protected void removeTypeDef_(JavaTypeDef typeDef) {
+ this.removeTypeDef_(this.typeDefs.indexOf(typeDef));
+ }
+
+ // ********** validation **********
+
@Override
- public Iterator<String> javaCompletionProposals(int pos, Filter<String> filter,
- CompilationUnit astRoot) {
- Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
+ public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+ for (JavaTypeDef typeDef : typeDefs) {
+ typeDef.validate(messages, reporter, astRoot);
}
- ListIterator<JavaTypeDef> typeDefs = typeDefs();
- while (typeDefs.hasNext()) {
- result = typeDefs.next()
- .javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
- }
- return null;
}
public TextRange getValidationTextRange(CompilationUnit astRoot) {
return this.javaResourcePersistentElement.getTextRange(astRoot);
}
+
+ protected class TypeDefContainerAdapter
+ implements ContextContainerTools.Adapter<JavaTypeDef, TypeDefAnnotation>
+ {
+ public Iterable<JavaTypeDef> getContextElements() {
+ return HibernateJavaTypeDefContainerImpl.this.getTypeDefs();
+ }
+ public Iterable<TypeDefAnnotation> getResourceElements() {
+ return HibernateJavaTypeDefContainerImpl.this.getTypeDefAnnotations();
+ }
+ public TypeDefAnnotation getResourceElement(JavaTypeDef contextElement) {
+ return contextElement.getTypeDefAnnotation();
+ }
+ public void moveContextElement(int index, JavaTypeDef element) {
+ HibernateJavaTypeDefContainerImpl.this.moveTypeDef_(index, element);
+ }
+ public void addContextElement(int index, TypeDefAnnotation resourceElement) {
+ HibernateJavaTypeDefContainerImpl.this.addTypeDef_(index, resourceElement);
+ }
+ public void removeContextElement(JavaTypeDef element) {
+ HibernateJavaTypeDefContainerImpl.this.removeTypeDef_(element);
+ }
}
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernatePackageInfoImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -16,6 +16,8 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.common.core.JptCommonCorePlugin;
+import org.eclipse.jpt.common.core.JptResourceType;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.utility.Filter;
import org.eclipse.jpt.jpa.core.JpaFile;
@@ -55,7 +57,7 @@
super(owner);
this.resourcePackage = resourcePackage;
this.name = resourcePackage.getName();
- this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(this);
+ this.typeDefContainer = getJpaFactory().buildJavaTypeDefContainer(this, getResourceAnnotatedElement());
this.generatorContainer = this.buildGeneratorContainer();
this.queryContainer = this.buildQueryContainer();
}
@@ -80,7 +82,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.setName(this.resourcePackage.getName());
- this.typeDefContainer.initialize(this.getResourcePackage());
+ this.typeDefContainer.synchronizeWithResourceModel();
this.generatorContainer.synchronizeWithResourceModel();
this.queryContainer.synchronizeWithResourceModel();
}
@@ -88,10 +90,24 @@
@Override
public void update() {
super.update();
- this.typeDefContainer.update(this.getResourcePackage());
+ this.typeDefContainer.update();
this.generatorContainer.update();
this.queryContainer.update();
+ this.registerRootStructureNode();
}
+
+ protected void registerRootStructureNode() {
+ JpaFile jpaFile = this.getJpaFile();
+ // the JPA file can be null if the resource type is "external"
+ if (jpaFile != null) {
+ jpaFile.addRootStructureNode(this.name, this);
+ }
+ }
+
+ @Override
+ public JptResourceType getResourceType() {
+ return JptCommonCorePlugin.JAVA_SOURCE_PACKAGE_INFO_RESOURCE_TYPE;
+ }
// ********** name **********
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -34,11 +34,11 @@
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov (geraskov(a)gmail.com)
@@ -89,8 +89,6 @@
@Override
public void update() {
super.update();
- this.setName_(this.generatorAnnotation.getName());
- this.setStrategy_(this.generatorAnnotation.getStrategy());
this.updateNodes(this.getParameters());
}
@@ -154,16 +152,26 @@
if (this.strategy != null) {
TextRange range = getStrategyTextRange(astRoot) == null ? TextRange.Empty.instance() : getStrategyTextRange(astRoot);
if (this.strategy.trim().length() == 0) {
- messages.add(creatErrorMessage(STRATEGY_CANT_BE_EMPTY, new String[]{}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY, STRATEGY_CANT_BE_EMPTY, getResource(), range));
} else if (!generatorClasses.contains(this.strategy)){
IType lwType = null;
try {
lwType = getJpaProject().getJavaProject().findType(this.strategy);
if (lwType == null || !lwType.isClass()){
- messages.add(creatErrorMessage(STRATEGY_CLASS_NOT_FOUND, new String[]{this.strategy}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ STRATEGY_CLASS_NOT_FOUND,
+ new String[]{this.strategy},
+ getResource(),
+ range));
} else {
if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, "org.hibernate.id.IdentifierGenerator")){//$NON-NLS-1$
- messages.add(creatErrorMessage(STRATEGY_INTERFACE, new String[]{this.strategy}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ STRATEGY_INTERFACE,
+ new String[]{this.strategy},
+ getResource(),
+ range));
}
}
} catch (JavaModelException e) {
@@ -173,15 +181,6 @@
}
}
- protected IMessage creatErrorMessage(String strmessage, String[] params, TextRange range){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, params, getResource());
- message.setLineNo(range.getLineNumber());
- message.setOffset(range.getOffset());
- message.setLength(range.getLength());
- return message;
- }
-
@Override
protected HibernateAbstractJpaFactory getJpaFactory() {
return (HibernateAbstractJpaFactory) super.getJpaFactory();
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -15,6 +15,7 @@
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.jpa.core.resource.java.NamedNativeQueryAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
@@ -30,40 +31,17 @@
// **************** defaultForType class **************************************
- String getDefaultForType();
+ String getDefaultForTypeClass();
- String getSpecifiedDefaultForType();
- void setSpecifiedDefaultForType(String value);
- String SPECIFIED_DEF_FOR_TYPE_PROPERTY = "specifiedDefaultForTypeClass"; //$NON-NLS-1$
+ void setDefaultForTypeClass(String value);
+ String DEF_FOR_TYPE_PROPERTY = "defaultForTypeClass"; //$NON-NLS-1$
- String getDefaultDefaultForType();
- String DEFAULT_DEF_FOR_TYPE_PROPERTY = "defaultDefaultForTypeClass"; //$NON-NLS-1$
-
- /**
- * If the DefaultForType class is specified, this will return it fully qualified. If not
- * specified, it returns the default for type class, which is always fully qualified
- */
- String getFullyQualifiedDefaultForType();
- String FULLY_QUALIFIED_DEF_FOR_TYPE_PROPERTY = "fullyQualifiedDefaultForTypeClass"; //$NON-NLS-1$
-
-
// **************** type class **************************************
String getTypeClass();
- String getSpecifiedTypeClass();
- void setSpecifiedTypeClass(String value);
- String SPECIFIED_TYPE_CLASS_PROPERTY = "specifiedTypeClass"; //$NON-NLS-1$
-
- String getDefaultTypeClass();
- String DEFAULT_TYPE_CLASS_PROPERTY = "defaultTypeClass"; //$NON-NLS-1$
-
- /**
- * If the type class is specified, this will return it fully qualified. If not
- * specified, it returns the default type class, which is always fully qualified
- */
- String getFullyQualifiedTypeClass();
- String FULLY_QUALIFIED_TYPE_CLASS_PROPERTY = "fullyQualifiedTypeClass"; //$NON-NLS-1$
+ void setTypeClass(String value);
+ String TYPE_CLASS_PROPERTY = "specifiedTypeClass"; //$NON-NLS-1$
//************************ parameters ***********************
@@ -103,8 +81,6 @@
TextRange getNameTextRange(CompilationUnit astRoot);
- void initialize(TypeDefAnnotation generator);
-
- void update(TypeDefAnnotation generator);
+ TypeDefAnnotation getTypeDefAnnotation();
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -10,104 +10,82 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
+import java.util.Vector;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
-import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.core.context.Entity;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.TypeMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
*
*/
-public class JavaTypeDefImpl extends AbstractJavaJpaContextNode implements JavaTypeDef {
+public class JavaTypeDefImpl extends AbstractJavaJpaContextNode implements JavaTypeDef, Messages {
protected TypeDefAnnotation typeDefAnnotation;
protected String name;
- protected String specifiedTypeClass;
- protected String defaultTypeClass;
- protected String fullyQualifiedTypeClass;
- protected PersistentType resolvedTypeType;
+ protected String typeClass;
- protected String specifiedDefaultForType;
- protected String defaultDefaultForType;
- protected String fullyQualifiedDefaultForType;
- protected PersistentType resolvedTargetType;
+ protected String defaultForTypeClass;
- protected final List<JavaParameter> parameters;
-
+ protected final Vector<JavaParameter> parameters = new Vector<JavaParameter>();
- public JavaTypeDefImpl(JavaJpaContextNode parent) {
+ public JavaTypeDefImpl(JavaJpaContextNode parent, TypeDefAnnotation typeDefAnnotation) {
super(parent);
- this.parameters = new ArrayList<JavaParameter>();
+ this.typeDefAnnotation = typeDefAnnotation;
+ this.name = typeDefAnnotation.getName();
+ this.typeClass = typeDefAnnotation.getTypeClass();
+ this.defaultForTypeClass = typeDefAnnotation.getDefaultForType();
+ this.initializeParameters();
}
public HibernatePersistenceUnit getPersistenceUnit() {
return (HibernatePersistenceUnit)this.getParent().getPersistenceUnit();
}
- public void initialize(TypeDefAnnotation typeDefAnnotation) {
- this.typeDefAnnotation = typeDefAnnotation;
-
- this.name = typeDefAnnotation.getName();
-
- this.defaultTypeClass = this.buildDefaultTypeClass();
- this.specifiedTypeClass = this.getResourceTypeClass();
- this.fullyQualifiedTypeClass = this.buildFullyQualifiedTypeClass();
- this.resolvedTypeType = this.buildResolvedTypeType();
-
- this.defaultDefaultForType = this.buildDefaultDefaultForType();
- this.specifiedDefaultForType = this.getResourceDefaultForType();
- this.fullyQualifiedDefaultForType = this.buildFullyQualifiedDefaultForType();
- this.resolvedTargetType = this.buildResolvedTargetType();
-
- this.initializeParameters();
+ @Override
+ public TypeDefAnnotation getTypeDefAnnotation() {
+ return this.typeDefAnnotation;
}
- public void update(TypeDefAnnotation typeDefAnnotation) {
- this.typeDefAnnotation = typeDefAnnotation;
-
- this.setName_(typeDefAnnotation.getName());
-
- this.setDefaultTypeClass(this.buildDefaultTypeClass());
- this.setSpecifiedTypeClass_(this.getResourceTypeClass());
- this.setFullyQualifiedTypeClass(this.buildFullyQualifiedTypeClass());
- this.resolvedTypeType = this.buildResolvedTypeType();
-
- this.setDefaultDefaultForType(this.buildDefaultDefaultForType());
- this.setSpecifiedDefaultForType_(this.getResourceDefaultForType());
- this.setFullyQualifiedDefaultForType(this.buildFullyQualifiedDefaultForType());
- this.resolvedTargetType = this.buildResolvedTargetType();
-
+ // ********** synchronize/update **********
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ this.setName_(this.typeDefAnnotation.getName());
+ this.setTypeClass_(typeDefAnnotation.getTypeClass());
+ this.setDefaultForTypeClass_(typeDefAnnotation.getDefaultForType());
this.updateParameters();
-
- this.getPersistenceUnit().addTypeDef(this);
}
- protected IMessage creatErrorMessage(String strmessage, String[] params, int lineNum){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, params, getResource());
- message.setLineNo(lineNum);
- return message;
+ @Override
+ public void update() {
+ super.update();
+ this.getPersistenceUnit().addTypeDef(this);
+ this.updateNodes(this.getParameters());
}
+
@Override
protected HibernateAbstractJpaFactory getJpaFactory() {
@@ -121,10 +99,8 @@
}
public void setName(String name) {
- String old = this.name;
- this.name = name;
this.typeDefAnnotation.setName(name);
- this.firePropertyChanged(TYPE_DEF_NAME, old, name);
+ this.setName_(name);
}
protected void setName_(String name) {
@@ -132,166 +108,57 @@
this.name = name;
this.firePropertyChanged(TYPE_DEF_NAME, old, name);
}
-
// ********** type class **********
public String getTypeClass() {
- return (this.specifiedTypeClass != null) ? this.specifiedTypeClass : this.defaultTypeClass;
+ return this.typeClass;
}
- public String getSpecifiedTypeClass() {
- return this.specifiedTypeClass;
- }
-
- public void setSpecifiedTypeClass(String typeClass) {
- String old = this.specifiedTypeClass;
- this.specifiedTypeClass = typeClass;
+ public void setTypeClass(String typeClass) {
this.typeDefAnnotation.setTypeClass(typeClass);
- this.firePropertyChanged(SPECIFIED_TYPE_CLASS_PROPERTY, old, typeClass);
+ this.setTypeClass_(typeClass);
}
- protected void setSpecifiedTypeClass_(String typeClass) {
- String old = this.specifiedTypeClass;
- this.specifiedTypeClass = typeClass;
- this.firePropertyChanged(SPECIFIED_TYPE_CLASS_PROPERTY, old, typeClass);
+ protected void setTypeClass_(String typeClass) {
+ String old = this.typeClass;
+ this.typeClass = typeClass;
+ this.firePropertyChanged(TYPE_CLASS_PROPERTY, old, typeClass);
}
protected String getResourceTypeClass() {
return this.typeDefAnnotation.getTypeClass();
}
- public String getDefaultTypeClass() {
- return this.defaultTypeClass;
- }
-
- protected void setDefaultTypeClass(String typeClass) {
- String old = this.defaultTypeClass;
- this.defaultTypeClass = typeClass;
- this.firePropertyChanged(DEFAULT_TYPE_CLASS_PROPERTY, old, typeClass);
- }
-
- protected String buildDefaultTypeClass() {
- return null;
- }
-
- public String getFullyQualifiedTypeClass() {
- return this.fullyQualifiedTypeClass;
- }
-
- protected void setFullyQualifiedTypeClass(String typeClass) {
- String old = this.fullyQualifiedTypeClass;
- this.fullyQualifiedTypeClass = typeClass;
- this.firePropertyChanged(FULLY_QUALIFIED_TYPE_CLASS_PROPERTY, old, typeClass);
- }
-
- protected String buildFullyQualifiedTypeClass() {
- return (this.specifiedTypeClass == null) ?
- this.defaultTypeClass :
- this.typeDefAnnotation.getFullyQualifiedTypeClassName();
- }
-
- public PersistentType getResolvedTypeType() {
- return this.resolvedTypeType;
- }
-
- protected PersistentType buildResolvedTypeType() {
- return (this.fullyQualifiedTypeClass == null) ? null : this.getPersistenceUnit().getPersistentType(this.fullyQualifiedTypeClass);
- }
-
public char getTypeClassEnclosingTypeSeparator() {
return '.';
}
-
// ********** target class **********
-
- public String getDefaultForType() {
- return (this.specifiedDefaultForType != null) ? this.specifiedDefaultForType : this.defaultDefaultForType;
+ public String getDefaultForTypeClass() {
+ return this.defaultForTypeClass;
}
- public String getSpecifiedDefaultForType() {
- return this.specifiedDefaultForType;
- }
-
- public void setSpecifiedDefaultForType(String defaultForType) {
- String old = this.specifiedDefaultForType;
- this.specifiedDefaultForType = defaultForType;
+ public void setDefaultForTypeClass(String defaultForType) {
this.typeDefAnnotation.setDefaultForType(defaultForType);
- this.firePropertyChanged(SPECIFIED_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
+ this.setDefaultForTypeClass_(defaultForType);
}
- protected void setSpecifiedDefaultForType_(String defaultForType) {
- String old = this.specifiedDefaultForType;
- this.specifiedDefaultForType = defaultForType;
- this.firePropertyChanged(SPECIFIED_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
+ protected void setDefaultForTypeClass_(String defaultForType) {
+ String old = this.defaultForTypeClass;
+ this.defaultForTypeClass = defaultForType;
+ this.firePropertyChanged(DEF_FOR_TYPE_PROPERTY, old, defaultForType);
}
- protected String getResourceDefaultForType() {
- return this.typeDefAnnotation.getDefaultForType();
- }
-
- public String getDefaultDefaultForType() {
- return this.defaultDefaultForType;
- }
-
- protected void setDefaultDefaultForType(String defaultForType) {
- String old = this.defaultDefaultForType;
- this.defaultDefaultForType = defaultForType;
- this.firePropertyChanged(DEFAULT_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
- }
-
- protected String buildDefaultDefaultForType() {
- return void.class.getName();
- }
-
- public String getFullyQualifiedDefaultForType() {
- return this.fullyQualifiedDefaultForType;
- }
-
- protected void setFullyQualifiedDefaultForType(String defaultForType) {
- String old = this.fullyQualifiedDefaultForType;
- this.fullyQualifiedDefaultForType = defaultForType;
- this.firePropertyChanged(FULLY_QUALIFIED_DEF_FOR_TYPE_PROPERTY, old, defaultForType);
- }
-
- protected String buildFullyQualifiedDefaultForType() {
- return (this.specifiedDefaultForType == null) ?
- this.defaultDefaultForType :
- this.typeDefAnnotation.getFullyQualifiedDefaultForTypeClassName();
- }
-
-
- public PersistentType getResolvedTargetType() {
- return this.resolvedTargetType;
- }
-
- protected PersistentType buildResolvedTargetType() {
- return (this.fullyQualifiedDefaultForType == null) ? null : this.getPersistenceUnit().getPersistentType(this.fullyQualifiedDefaultForType);
- }
-
- protected Embeddable buildResolvedTargetEmbeddable() {
- if (this.resolvedTargetType == null) {
- return null;
- }
- TypeMapping typeMapping = this.resolvedTargetType.getMapping();
- return (typeMapping instanceof Embeddable) ? (Embeddable) typeMapping : null;
- }
-
- protected Entity buildResolvedTargetEntity() {
- if (this.resolvedTargetType == null) {
- return null;
- }
- TypeMapping typeMapping = this.resolvedTargetType.getMapping();
- return (typeMapping instanceof Entity) ? (Entity) typeMapping : null;
- }
-
-
- public char getDefaultForTypeEnclosingTypeSeparator() {
+ public char getDefaultForTypeClassEnclosingTypeSeparator() {
return '.';
}
//************************ parameters ***********************
+
+ public ListIterable<JavaParameter> getParameters() {
+ return new LiveCloneListIterable<JavaParameter>(this.parameters);
+ }
public JavaParameter addParameter(int index) {
JavaParameter parameter = getJpaFactory().buildJavaParameter(this);
@@ -383,5 +250,61 @@
public TextRange getNameTextRange(CompilationUnit astRoot) {
return this.typeDefAnnotation.getNameTextRange(astRoot);
}
+
+ public TextRange getTypeClassTextRange(CompilationUnit astRoot) {
+ return this.typeDefAnnotation.getTypeClassTextRange(astRoot);
+ }
+
+ @Override
+ public void validate(List<IMessage> messages, IReporter reporter,
+ CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+
+ if (StringTools.stringIsEmpty(this.name)){
+ messages.add(
+ HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ NAME_CANT_BE_EMPTY,
+ this,
+ this.getNameTextRange(astRoot))
+
+ );
+ }
+
+ IType lwType = null;
+ try {
+ lwType = getJpaProject().getJavaProject().findType(typeClass);
+ if (lwType == null || !lwType.isClass()){
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{typeClass}, this, this.getTypeClassTextRange(astRoot)));
+ } else {
+ if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, "org.hibernate.usertype.UserType")){//$NON-NLS-1$
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,USER_TYPE_INTERFACE, new String[]{typeClass}, this, this.getTypeClassTextRange(astRoot)));
+ }
+ }
+ } catch (JavaModelException e) {
+ // just ignore it!
+ }
+
+ for (ListIterator<JavaTypeDef> stream = this.getPersistenceUnit().typeDefs(); stream.hasNext(); ) {
+ JavaTypeDef typeDef = stream.next();
+ if (this != typeDef){
+ if (this.name.equals(typeDef.getName())) {
+ messages.add(
+ HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ TYPE_DEF_DUPLICATE_NAME,
+ new String[]{this.name},
+ this,
+ this.getNameTextRange(astRoot))
+
+ );
+ break;
+ }
+ }
+ }
+
+ }
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -26,9 +26,9 @@
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -138,16 +138,20 @@
if (type != null) {
TextRange range = getTypeTextRange(astRoot) == null ? TextRange.Empty.instance() : getTypeTextRange(astRoot);
if (type.trim().length() == 0) {
- messages.add(creatErrorMessage(TYPE_CANT_BE_EMPTY, new String[]{}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ TYPE_CANT_BE_EMPTY, this, range));
} else if (!getPersistenceUnit().hasTypeDef(type)) {
IType lwType = null;
try {
lwType = getJpaProject().getJavaProject().findType(type);
if (lwType == null || !lwType.isClass()){
- messages.add(creatErrorMessage(TYPE_CLASS_NOT_FOUND, new String[]{type}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{type}, this, range));
} else {
if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, "org.hibernate.usertype.UserType")){//$NON-NLS-1$
- messages.add(creatErrorMessage(USER_TYPE_INTERFACE, new String[]{type}, range));
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,USER_TYPE_INTERFACE, new String[]{type}, this, range));
}
}
} catch (JavaModelException e) {
@@ -156,14 +160,5 @@
}
}
}
-
- protected IMessage creatErrorMessage(String strmessage, String[] params, TextRange range){
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- strmessage, params, getResource());
- message.setLineNo(range.getLineNumber());
- message.setOffset(range.getOffset());
- message.setLength(range.getLength());
- return message;
- }
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmBasicMapping.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -19,8 +19,8 @@
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -45,8 +45,9 @@
try {
return ns.propertyToColumnName(getName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmColumnImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -16,13 +16,12 @@
import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmColumn;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -60,8 +59,9 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -97,8 +97,9 @@
try {
return ns.tableName(getSpecifiedTable());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -33,7 +33,6 @@
import org.eclipse.jpt.jpa.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.jpa.core.resource.orm.XmlEntity;
import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
@@ -41,9 +40,9 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -196,8 +195,9 @@
? getTable().getName() : parentEntity.getPrimaryTableName());
return name;
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION,null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmIdMappingImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -18,13 +18,12 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.core.resource.orm.XmlId;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -50,8 +49,9 @@
try {
return namingStrategy.propertyToColumnName(getName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinColumnImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Table;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -78,8 +77,9 @@
try {
return ns.columnName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -111,8 +111,9 @@
try {
return ns.columnName(this.specifiedReferencedColumnName);
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -19,14 +19,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -65,8 +64,9 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmTableImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -21,14 +21,13 @@
import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.jpa.db.Schema;
-import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.hibernate.cfg.NamingStrategy;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
/**
* @author Dmitry Geraskov
@@ -78,8 +77,9 @@
try {
return ns.classToTableName(getDefaultName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
@@ -105,8 +105,9 @@
try {
return ns.tableName(getSpecifiedName());
} catch (Exception e) {
- Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.NAMING_STRATEGY_EXCEPTION, new String[0], null);
+ IMessage m = HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ Messages.NAMING_STRATEGY_EXCEPTION, null);
HibernateJptPlugin.logException(m.getText(), e);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java 2011-08-10 13:22:45 UTC (rev 33765)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -11,6 +11,7 @@
package org.jboss.tools.hibernate.jpt.core.internal.resource.java;
import java.util.ListIterator;
+import java.util.Map;
import java.util.Vector;
import org.eclipse.jdt.core.IAnnotation;
@@ -55,18 +56,18 @@
private static final DeclarationAnnotationAdapter DECLARATION_ANNOTATION_ADAPTER = new SimpleDeclarationAnnotationAdapter(ANNOTATION_NAME);
- private final DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
- private final AnnotationElementAdapter<String> nameAdapter;
+ private DeclarationAnnotationElementAdapter<String> nameDeclarationAdapter;
+ private AnnotationElementAdapter<String> nameAdapter;
private String name;
- private static final DeclarationAnnotationElementAdapter<String> TYPE_CLASS_ADAPTER = buildTypeClassAdapter();
- private final AnnotationElementAdapter<String> typeClassAdapter;
+ private DeclarationAnnotationElementAdapter<String> typeClassDeclarationAdapter;
+ private AnnotationElementAdapter<String> typeClassAdapter;
private String typeClass;
String fullyQualifiedTypeClassName;
- private static final DeclarationAnnotationElementAdapter<String> DEF_FOR_TYPE_ADAPTER = buildDefForTypeAdapter();
- private final AnnotationElementAdapter<String> defaultForTypeAdapter;
+ private DeclarationAnnotationElementAdapter<String> defForTypeDeclarationAdapter;
+ private AnnotationElementAdapter<String> defaultForTypeAdapter;
private String defaultForType;
String fullyQualifiedDefaultForTypeClassName;
@@ -81,10 +82,12 @@
public TypeDefAnnotationImpl(JavaResourceNode parent, AnnotatedElement member,
DeclarationAnnotationAdapter daa, AnnotationAdapter annotationAdapter) {
super(parent, member, daa, annotationAdapter);
- this.nameDeclarationAdapter = this.buildNameAdapter(daa);
- this.nameAdapter = new ShortCircuitAnnotationElementAdapter<String>(member, this.nameDeclarationAdapter);
- this.typeClassAdapter = new AnnotatedElementAnnotationElementAdapter<String>(member, TYPE_CLASS_ADAPTER);
- this.defaultForTypeAdapter = new AnnotatedElementAnnotationElementAdapter<String>(member, DEF_FOR_TYPE_ADAPTER);
+ this.nameDeclarationAdapter = this.buildNameDeclarationAdapter();
+ this.nameAdapter = this.buildNameAdapter();
+ this.typeClassDeclarationAdapter = this.buildTypeClassDeclarationAdapter();
+ this.typeClassAdapter = this.buildTypeClassAdapter();
+ this.defForTypeDeclarationAdapter = this.buildDefForTypeDeclarationAdapter();
+ this.defaultForTypeAdapter = this.buildDefForTypeAdapter();
}
public void initialize(CompilationUnit astRoot) {
@@ -104,7 +107,35 @@
this.syncFullyQualifiedDefaultForTypeClassName(this.buildFullyQualifiedDefaultForTypeClassName(astRoot));
AnnotationContainerTools.synchronize(this.parametersContainer, astRoot);
}
+
+ // ********** misc **********
+ @Override
+ protected void rebuildAdapters() {
+ super.rebuildAdapters();
+ this.nameDeclarationAdapter = this.buildNameDeclarationAdapter();
+ this.nameAdapter = this.buildNameAdapter();
+ this.typeClassDeclarationAdapter = this.buildTypeClassDeclarationAdapter();
+ this.typeClassAdapter = this.buildTypeClassAdapter();
+ this.defForTypeDeclarationAdapter = this.buildDefForTypeDeclarationAdapter();
+ this.defaultForTypeAdapter = this.buildDefForTypeAdapter();
+ }
+
+ @Override
+ public void storeOn(Map<String, Object> map) {
+ super.storeOn(map);
+ map.put(TYPE_CLASS_PROPERTY, this.typeClass);
+ this.typeClass = null;
+ map.put(DEF_FOR_TYPE_PROPERTY, this.defaultForType);
+ this.defaultForType = null;
+ }
+ @Override
+ public void restoreFrom(Map<String, Object> map) {
+ super.restoreFrom(map);
+ this.setTypeClass((String) map.get(TYPE_CLASS_PROPERTY));
+ this.setDefaultForType((String) map.get(DEF_FOR_TYPE_PROPERTY));
+ }
+
// ********** TypeDefAnnotation implementation **********
// ***** name
@@ -161,7 +192,7 @@
}
public TextRange getTypeClassTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(TYPE_CLASS_ADAPTER, astRoot);
+ return this.getElementTextRange(typeClassDeclarationAdapter, astRoot);
}
// ***** fully-qualified type entity class name
@@ -202,7 +233,7 @@
}
public TextRange getDefaultForTypeTextRange(CompilationUnit astRoot) {
- return this.getElementTextRange(DEF_FOR_TYPE_ADAPTER, astRoot);
+ return this.getElementTextRange(defForTypeDeclarationAdapter, astRoot);
}
// ***** fully-qualified default for type entity class name
@@ -305,9 +336,13 @@
sb.append(this.name);
}
- private DeclarationAnnotationElementAdapter<String> buildNameAdapter(DeclarationAnnotationAdapter daa) {
+ private DeclarationAnnotationElementAdapter<String> buildNameDeclarationAdapter() {
return ConversionDeclarationAnnotationElementAdapter.forStrings(daa, Hibernate.TYPE_DEF__NAME);
}
+
+ private AnnotationElementAdapter<String> buildNameAdapter() {
+ return this.buildStringElementAdapter(this.nameDeclarationAdapter);
+ }
/**
* adapt the AnnotationContainer interface to the override's join columns
@@ -378,18 +413,29 @@
return new NestedIndexedDeclarationAnnotationAdapter(hibernateTypeDefsAdapter, index, Hibernate.TYPE_DEF);
}
- // ********** static methods **********
- private static DeclarationAnnotationElementAdapter<String> buildTypeClassAdapter() {
- return buildTypeClassAdapter(DECLARATION_ANNOTATION_ADAPTER, Hibernate.TYPE_DEF__TYPE_CLASS);
+
+ private DeclarationAnnotationElementAdapter<String> buildTypeClassDeclarationAdapter() {
+ return new ConversionDeclarationAnnotationElementAdapter<String>(daa,
+ Hibernate.TYPE_DEF__TYPE_CLASS,
+ SimpleTypeStringExpressionConverter.instance());
}
+
+ private AnnotationElementAdapter<String> buildTypeClassAdapter() {
+ return this.buildStringElementAdapter(this.typeClassDeclarationAdapter);
+ }
- private static DeclarationAnnotationElementAdapter<String> buildDefForTypeAdapter() {
- return buildTypeClassAdapter(DECLARATION_ANNOTATION_ADAPTER, Hibernate.TYPE_DEF__DEF_FOR_TYPE);
+ private DeclarationAnnotationElementAdapter<String> buildDefForTypeDeclarationAdapter() {
+ return new ConversionDeclarationAnnotationElementAdapter<String>(daa,
+ Hibernate.TYPE_DEF__DEF_FOR_TYPE,
+ SimpleTypeStringExpressionConverter.instance());
}
+
+ private AnnotationElementAdapter<String> buildDefForTypeAdapter() {
+ return this.buildStringElementAdapter(this.defForTypeDeclarationAdapter);
+ }
private static DeclarationAnnotationElementAdapter<String> buildTypeClassAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- // TODO what about QualifiedType?
return buildAnnotationElementAdapter(annotationAdapter, elementName, SimpleTypeStringExpressionConverter.instance());
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/validation/HibernateJpaValidationMessage.java 2011-08-10 13:33:27 UTC (rev 33766)
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * 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.core.internal.validation;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationPreferences;
+import org.eclipse.wst.validation.internal.core.Message;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
+import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpaValidationMessage {
+
+ private static String[] DEFAULT_PARMS = new String[0];
+ private static TextRange DEFAULT_TEXT_RANGE = TextRange.Empty.instance();
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, Object targetObject) {
+ return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject);
+ }
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, String[] parms, Object targetObject) {
+ return buildMessage(defaultSeverity, messageId, parms, targetObject, DEFAULT_TEXT_RANGE);
+ }
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, Object targetObject, TextRange textRange) {
+ return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject, textRange);
+ }
+
+ public static IMessage buildMessage(
+ int defaultSeverity, String messageId, String[] parms, Object targetObject, TextRange textRange) {
+
+ //determine whether default severity should be overridden
+ int severity = defaultSeverity;
+ int severityPreference = JpaValidationPreferences.getProblemSeverityPreference(targetObject, messageId);
+ if (severityPreference != -1){
+ severity = severityPreference;
+ }
+ IMessage message = new LocalMessage(severity, messageId, parms, targetObject);
+ message.setMarkerId(JptJpaCorePlugin.VALIDATION_MARKER_ID);
+ if (textRange == null) {
+ //log an exception and then continue without setting location information
+ //At least the user will still get the validation message and will
+ //be able to see other validation messages with valid textRanges
+ HibernateJptPlugin.logException(new NullPointerException("Null text range for message ID: " + messageId)); //$NON-NLS-1$
+ }
+ else {
+ message.setLineNo(textRange.getLineNumber());
+ message.setOffset(textRange.getOffset());
+ message.setLength(textRange.getLength());
+ }
+ return message;
+ }
+
+
+ private HibernateJpaValidationMessage() {
+ super();
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * Hack class needed to make JPA/Validation API pick up our classloader instead of its own.
+ *
+ * @author max
+ *
+ */
+ static class LocalMessage extends Message {
+
+ public LocalMessage(int severity, String message,
+ String[] strings, Object resource) {
+ super(Messages.class.getName(), severity, message, strings, resource);
+ }
+ }
+
+}
14 years, 8 months