JBoss Tools SVN: r22949 - trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2010-06-23 10:06:31 -0400 (Wed, 23 Jun 2010)
New Revision: 22949
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java
Log:
JBIDE-6510 - fixes issue with configure monitor action creating unusable url
Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java 2010-06-23 13:42:21 UTC (rev 22948)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/JAXRSWSTestView.java 2010-06-23 14:06:31 UTC (rev 22949)
@@ -585,8 +585,11 @@
int remotePort = monitor.getRemotePort();
String host = monitor.getRemoteHost();
String newUrl = null;
- if (oldUrl.contains(host + ":" + remotePort)) { //$NON-NLS-1$
- newUrl = oldUrl.replace(host + ":" + remotePort, "localhost:" + port); //$NON-NLS-1$ //$NON-NLS-2$
+ if (oldUrl.contains(host + ':' + remotePort)) {
+ newUrl = oldUrl.replace(host + ':' + remotePort, "localhost:" + port); //$NON-NLS-1$
+ } else if (oldUrl.contains(host + ':' + port)) {
+ // do nothing - host/port combo is already correct
+ newUrl = oldUrl;
} else {
newUrl = oldUrl.replace(host, "localhost:" + port); //$NON-NLS-1$
}
15 years, 10 months
JBoss Tools SVN: r22948 - trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-06-23 09:42:21 -0400 (Wed, 23 Jun 2010)
New Revision: 22948
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ProducerDisposerHyperlinkDetector.java
Log:
https://jira.jboss.org/browse/JBIDE-6445
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java 2010-06-23 13:30:33 UTC (rev 22947)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointHyperlinkDetector.java 2010-06-23 13:42:21 UTC (rev 22948)
@@ -74,7 +74,8 @@
if(file == null)
return null;
- CDICoreNature cdiNature = CDIUtil.getCDINatureWithProgress(file.getProject());
+ //CDICoreNature cdiNature = CDIUtil.getCDINatureWithProgress(file.getProject());
+ CDICoreNature cdiNature = CDICorePlugin.getCDI(file.getProject(), true);
if(cdiNature == null)
return null;
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ProducerDisposerHyperlinkDetector.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ProducerDisposerHyperlinkDetector.java 2010-06-23 13:30:33 UTC (rev 22947)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ProducerDisposerHyperlinkDetector.java 2010-06-23 13:42:21 UTC (rev 22948)
@@ -135,7 +135,8 @@
}
private Set<IBean> getBeans(IFile file){
- CDICoreNature cdiNature = CDIUtil.getCDINatureWithProgress(file.getProject());
+ //CDICoreNature cdiNature = CDIUtil.getCDINatureWithProgress(file.getProject());
+ CDICoreNature cdiNature = CDICorePlugin.getCDI(file.getProject(), true);
if(cdiNature == null)
return null;
15 years, 10 months
JBoss Tools SVN: r22947 - trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2010-06-23 09:30:33 -0400 (Wed, 23 Jun 2010)
New Revision: 22947
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java
Log:
Replace deprecated Preferences by IPreferenceStore (JBIDE-6520)
Modified: trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java 2010-06-23 13:15:03 UTC (rev 22946)
+++ trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java 2010-06-23 13:30:33 UTC (rev 22947)
@@ -296,7 +296,7 @@
if (item != null) {
name = item.getText(0);
}
- Activator.getDefault().getPluginPreferences().setValue(Constants.JBPM_NAME, name);
+ Activator.getDefault().getPreferenceStore().setValue(Constants.JBPM_NAME, name);
return true;
}
@@ -309,7 +309,7 @@
}
public void performDefaults() {
- Activator.getDefault().getPluginPreferences().setToDefault(Constants.JBPM_NAME);
+ Activator.getDefault().getPreferenceStore().setToDefault(Constants.JBPM_NAME);
PreferencesManager inputManager =
(PreferencesManager)tableViewer.getInput();
inputManager.getJbpmInstallationMap().clear();
Modified: trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java 2010-06-23 13:15:03 UTC (rev 22946)
+++ trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java 2010-06-23 13:30:33 UTC (rev 22947)
@@ -31,7 +31,7 @@
import java.util.Iterator;
import java.util.Map;
-import org.eclipse.core.runtime.Preferences;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.WorkbenchException;
import org.eclipse.ui.XMLMemento;
@@ -70,8 +70,8 @@
return jbpmInstallations;
}
- protected Preferences getPreferences() {
- return Activator.getDefault().getPluginPreferences();
+ private IPreferenceStore getPreferenceStore() {
+ return Activator.getDefault().getPreferenceStore();
}
private void initializeInstallations() {
@@ -163,11 +163,11 @@
}
public String getPreferredJbpmName() {
- return getPreferences().getString(Constants.JBPM_NAME);
+ return getPreferenceStore().getString(Constants.JBPM_NAME);
}
public void setPreferredJbpmName(String name) {
- getPreferences().setDefault(Constants.JBPM_NAME, name);
+ getPreferenceStore().setValue(Constants.JBPM_NAME, name);
}
public void addJbpmInstallation(String name, String location, String version) {
15 years, 10 months
JBoss Tools SVN: r22946 - branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2010-06-23 09:15:03 -0400 (Wed, 23 Jun 2010)
New Revision: 22946
Modified:
branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java
branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java
Log:
Replace deprecated Preferences by IPreferenceStore (JBIDE-6520)
Modified: branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java
===================================================================
--- branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java 2010-06-23 12:45:54 UTC (rev 22945)
+++ branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java 2010-06-23 13:15:03 UTC (rev 22946)
@@ -296,7 +296,7 @@
if (item != null) {
name = item.getText(0);
}
- Activator.getDefault().getPluginPreferences().setValue(Constants.JBPM_NAME, name);
+ Activator.getDefault().getPreferenceStore().setValue(Constants.JBPM_NAME, name);
return true;
}
@@ -309,7 +309,7 @@
}
public void performDefaults() {
- Activator.getDefault().getPluginPreferences().setToDefault(Constants.JBPM_NAME);
+ Activator.getDefault().getPreferenceStore().setToDefault(Constants.JBPM_NAME);
PreferencesManager inputManager =
(PreferencesManager)tableViewer.getInput();
inputManager.getJbpmInstallationMap().clear();
Modified: branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java
===================================================================
--- branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java 2010-06-23 12:45:54 UTC (rev 22945)
+++ branches/jbosstools-3.1.x/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java 2010-06-23 13:15:03 UTC (rev 22946)
@@ -31,7 +31,7 @@
import java.util.Iterator;
import java.util.Map;
-import org.eclipse.core.runtime.Preferences;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.WorkbenchException;
import org.eclipse.ui.XMLMemento;
@@ -70,8 +70,8 @@
return jbpmInstallations;
}
- protected Preferences getPreferences() {
- return Activator.getDefault().getPluginPreferences();
+ private IPreferenceStore getPreferenceStore() {
+ return Activator.getDefault().getPreferenceStore();
}
private void initializeInstallations() {
@@ -163,11 +163,11 @@
}
public String getPreferredJbpmName() {
- return getPreferences().getString(Constants.JBPM_NAME);
+ return getPreferenceStore().getString(Constants.JBPM_NAME);
}
public void setPreferredJbpmName(String name) {
- getPreferences().setDefault(Constants.JBPM_NAME, name);
+ getPreferenceStore().setValue(Constants.JBPM_NAME, name);
}
public void addJbpmInstallation(String name, String location, String version) {
15 years, 10 months
JBoss Tools SVN: r22945 - trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test.
by jbosstools-commits@lists.jboss.org
Author: jlukas(a)redhat.com
Date: 2010-06-23 08:45:54 -0400 (Wed, 23 Jun 2010)
New Revision: 22945
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/WsTesterTest.java
Log:
improving ws tester test to cover also get from wsdl button/action and related UI
Modified: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/WsTesterTest.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/WsTesterTest.java 2010-06-23 12:32:17 UTC (rev 22944)
+++ trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/WsTesterTest.java 2010-06-23 12:45:54 UTC (rev 22945)
@@ -23,10 +23,13 @@
import java.util.logging.Logger;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
import org.eclipse.swtbot.swt.finder.waits.Conditions;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotList;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTabItem;
import org.eclipse.ui.internal.WorkbenchMessages;
@@ -87,6 +90,33 @@
Assert.assertEquals(2, wstv.getRequestArgs(WsTesterView.Request_Arg_Type.HEADER).keySet().size());
wstv.clearRequestArgs(WsTesterView.Request_Arg_Type.HEADER);
Assert.assertEquals(0, wstv.getRequestArgs(WsTesterView.Request_Arg_Type.HEADER).keySet().size());
+
+ wstv.setWebServiceType(WsTesterView.Ws_Type.JAX_WS);
+ SelectWSDLDialog dlg = wstv.getFromWSDL();
+ dlg.openURL();
+ SWTBotShell sh = bot.activeShell();
+ sh.bot().text().typeText(SERVICE_URL + "?WSDL");
+ sh.bot().button("OK").click();
+ bot.sleep(1000);
+ Assert.assertEquals(SERVICE_URL + "?WSDL", dlg.getURI());
+ List<String> items = dlg.getServices();
+ L.log(Level.FINE, "Services: {0}", items);
+ Assert.assertEquals(1, items.size());
+ Assert.assertTrue(items.contains("BibleWebservice"));
+ items = dlg.getPorts();
+ L.log(Level.FINE, "Ports: {0}", items);
+ Assert.assertEquals(2, items.size());
+ Assert.assertTrue(items.contains("BibleWebserviceSoap"));
+ Assert.assertTrue(items.contains("BibleWebserviceSoap12"));
+ items = dlg.getOperations();
+ L.log(Level.FINE, "Operations: {0}", items);
+ Assert.assertEquals(4, items.size());
+ Assert.assertTrue(items.contains("GetBookTitles"));
+ Assert.assertTrue(items.contains("GetBibleWordsByChapterAndVerse"));
+ dlg.selectOperation("GetBibleWordsbyKeyWord");
+ dlg.ok();
+ Assert.assertEquals("http://www.webservicex.net/BibleWebservice.asmx", wstv.getServiceURL());
+ Assert.assertEquals("http://www.webserviceX.NET/GetBibleWordsbyKeyWord", wstv.getActionURL());
viewBot.close();
}
@@ -366,10 +396,18 @@
comboBox(2).typeText(url);
}
+ public String getServiceURL() {
+ return comboBox(2).getText();
+ }
+
public void setActionURL(String s) {
text(0).typeText(s);
}
+ public String getActionURL() {
+ return text(0).getText();
+ }
+
public void setRequestBody(String s) {
SWTBotTabItem ti = tabItem(JBossWSUIMessages.JAXRSWSTestView_Request_Body_Label);
ti.activate();
@@ -455,6 +493,11 @@
waitWhile(Conditions.shellIsActive(dlgTitle), 120000);
sleep(500);
}
+
+ public SelectWSDLDialog getFromWSDL() {
+ button(JBossWSUIMessages.JAXRSWSTestView_Button_Get_From_WSDL).click();
+ return new SelectWSDLDialog(activeShell().widget);
+ }
public void openMonitor() {
button(JBossWSUIMessages.JAXRSWSTestView_Open_Monitor_Button).click();
@@ -468,4 +511,53 @@
return Platform.getResourceString(WSUI_BUNDLE, key);
}
}
+
+ private static class SelectWSDLDialog extends SWTBotShell {
+
+ public SelectWSDLDialog(Shell shell) throws WidgetNotFoundException {
+ super(shell);
+ assert JBossWSUIMessages.WSDLBrowseDialog_Dialog_Title.equals(getText());
+ }
+
+ public void openURL() {
+ bot().button(JBossWSUIMessages.WSDLBrowseDialog_URL_Browse).click();
+ }
+
+// public void setURI(String s) {
+// bot().comboBoxWithLabel(JBossWSUIMessages.WSDLBrowseDialog_WSDL_URI_Field).setText(s);
+// }
+
+ public String getURI() {
+ return bot().comboBoxWithLabel(JBossWSUIMessages.WSDLBrowseDialog_WSDL_URI_Field).getText();
+ }
+
+ public List<String> getServices() {
+ return getItems(JBossWSUIMessages.WSDLBrowseDialog_Service_Field);
+ }
+
+ public List<String> getPorts() {
+ return getItems(JBossWSUIMessages.WSDLBrowseDialog_Port_Field);
+ }
+
+ public List<String> getOperations() {
+ return Arrays.asList(getOperationsList().getItems());
+ }
+
+ public void selectOperation(String op) {
+ getOperationsList().select(op);
+ }
+
+ public void ok() {
+ bot().button("OK").click();
+ }
+
+ private List<String> getItems(String label) {
+ String[] items = bot().comboBoxWithLabel(label).items();
+ return Arrays.asList(items);
+ }
+
+ private SWTBotList getOperationsList() {
+ return bot().listWithLabel(JBossWSUIMessages.WSDLBrowseDialog_Operation_Field);
+ }
+ }
}
15 years, 10 months
JBoss Tools SVN: r22944 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2010-06-23 08:32:17 -0400 (Wed, 23 Jun 2010)
New Revision: 22944
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java
Log:
https://jira.jboss.org/browse/JBIDE-6519
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java 2010-06-23 12:08:39 UTC (rev 22943)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java 2010-06-23 12:32:17 UTC (rev 22944)
@@ -1023,7 +1023,8 @@
}
return null;
}
-
+
+ private Set<IPath> sourcesInRegistering = new HashSet<IPath>();
/**
*
* @param ds
@@ -1033,21 +1034,35 @@
public void registerComponentsInDependentProjects(LoadedDeclarations ds, IPath source) throws CloneNotSupportedException {
if(usedBy.isEmpty()) return;
if(EclipseResourceUtil.isJar(source.toString())) return;
+
+ if(sourcesInRegistering.contains(source)) {
+ return;
+ }
+ synchronized (sourcesInRegistering) {
+ sourcesInRegistering.add(source);
+ }
- for (SeamProject p : usedBy) {
- p.resolve();
- LoadedDeclarations ds1 = new LoadedDeclarations();
- for (ISeamNamespace n: ds.getNamespaces()) {
- ds1.getNamespaces().add(n); //no need to clone, it is read-only.
+ try {
+ for (SeamProject p : usedBy) {
+ if(p.sourcesInRegistering.contains(source)) continue;
+ p.resolve();
+ LoadedDeclarations ds1 = new LoadedDeclarations();
+ for (ISeamNamespace n: ds.getNamespaces()) {
+ ds1.getNamespaces().add(n); //no need to clone, it is read-only.
+ }
+ for (ISeamComponentDeclaration d: ds.getComponents()) {
+ ds1.getComponents().add(d.clone());
+ }
+ for (ISeamFactory f : ds.getFactories()) {
+ ds1.getFactories().add(f.clone());
+ }
+ ds1.getImports().addAll(ds.getImports());
+ p.registerComponents(ds1, source);
}
- for (ISeamComponentDeclaration d: ds.getComponents()) {
- ds1.getComponents().add(d.clone());
+ } finally {
+ synchronized (sourcesInRegistering) {
+ sourcesInRegistering.remove(source);
}
- for (ISeamFactory f : ds.getFactories()) {
- ds1.getFactories().add(f.clone());
- }
- ds1.getImports().addAll(ds.getImports());
- p.registerComponents(ds1, source);
}
}
15 years, 10 months
JBoss Tools SVN: r22943 - in trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext: hyperlink and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2010-06-23 08:08:39 -0400 (Wed, 23 Jun 2010)
New Revision: 22943
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java
trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
Log:
https://jira.jboss.org/browse/JBIDE-6451
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2010-06-23 11:53:25 UTC (rev 22942)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/CDIExtensionsMessages.java 2010-06-23 12:08:39 UTC (rev 22943)
@@ -21,7 +21,7 @@
public static String CDI_EXT_PLUGIN_NO_MESSAGE;
public static String CDI_INJECTED_POINT_HYPERLINK_OPEN_BEAN;
- public static String CDI_INJECTED_POINT_HYPERLINK_OPEN_INJECTED_CLASS;
+ public static String CDI_INJECTED_POINT_HYPERLINK_OPEN_INJECTED_BEAN;
public static String CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_DISPOSER;
public static String CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_PRODUCER;
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java 2010-06-23 11:53:25 UTC (rev 22942)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java 2010-06-23 12:08:39 UTC (rev 22943)
@@ -21,6 +21,10 @@
import org.eclipse.jface.text.hyperlink.IHyperlink;
import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
import org.eclipse.swt.graphics.RGB;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.texteditor.ITextEditor;
import org.jboss.tools.cdi.core.CDICoreNature;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.CDIUtil;
@@ -93,22 +97,45 @@
return;
}
+ if(installed){
+ installed = false;
+ mhp.uninstall();
+ }
+
if(hyperlinks.length == 1){
((InjectedPointHyperlink)hyperlinks[0]).doHyperlink(region);
}else{
- if(installed)
- mhp.uninstall();
-
installed = true;
mhp.install(viewer);
mhp.showHyperlinks(hyperlinks);
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new IPartListener(){
+ public void partActivated(IWorkbenchPart arg0) {
+ }
+
+ public void partBroughtToTop(IWorkbenchPart arg0) {
+ }
+
+ public void partClosed(IWorkbenchPart arg0) {
+ if(installed){
+ installed = false;
+ mhp.uninstall();
+ }
+ }
+
+ public void partDeactivated(IWorkbenchPart arg0) {
+
+ }
+
+ public void partOpened(IWorkbenchPart arg0) {
+ }
+ });
}
}
@Override
public String getHyperlinkText() {
- return CDIExtensionsMessages.CDI_INJECTED_POINT_HYPERLINK_OPEN_INJECTED_CLASS;
+ return CDIExtensionsMessages.CDI_INJECTED_POINT_HYPERLINK_OPEN_INJECTED_BEAN;
}
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2010-06-23 11:53:25 UTC (rev 22942)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/messages.properties 2010-06-23 12:08:39 UTC (rev 22943)
@@ -1,5 +1,5 @@
CDI_EXT_PLUGIN_NO_MESSAGE=No message
CDI_INJECTED_POINT_HYPERLINK_OPEN_BEAN=Open CDI Bean
-CDI_INJECTED_POINT_HYPERLINK_OPEN_INJECTED_CLASS=Open Injected Class
+CDI_INJECTED_POINT_HYPERLINK_OPEN_INJECTED_BEAN=Open Injected Bean
CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_DISPOSER=Open Bound Disposer Method
CDI_PRODUCER_DISPOSER_HYPERLINK_OPEN_BOUND_PRODUCER=Open Bound Producer Method
15 years, 10 months
JBoss Tools SVN: r22942 - in trunk/hibernatetools: plugins/org.jboss.tools.hibernate.jpt.core and 37 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2010-06-23 07:53:25 -0400 (Wed, 23 Jun 2010)
New Revision: 22942
Added:
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/context/java/AbstractHibernateJavaManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/ejb3-persistence.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate-annotations.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate3.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/postgresql-8.4-701.jdbc3.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java
Removed:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/orm/details/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java
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/HibernateJavaBasicMappingImpl.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/HibernateJavaGeneratorContainerImpl.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/HibernateJavaJoinTableJoiningStrategy.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.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/HibernateJavaOneToManyRelationshipReference.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/JavaGenericGeneratorImpl.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/HibernateOrmManyToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java
Log:
https://jira.jboss.org/browse/JBIDE-6473
Implement jpa2.0 support in hibernate tools plugins
Fixed some orm-mapping problems
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -30,5 +30,7 @@
public static final String HIBERNATE_CONSOLE_NODE = "org.hibernate.eclipse.console"; //$NON-NLS-1$
public static final String HIBERNATE_JPA_PLATFORM_ID = "hibernate"; //$NON-NLS-1$
+
+ public static final String HIBERNATE_JPA2_0_PLATFORM_ID = "hibernate2_0"; //$NON-NLS-1$
}
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -284,7 +284,8 @@
private boolean isHibernateJpaProject(){
JpaProject jpaProject = (JpaProject) getProject().getAdapter(JpaProject.class);
- return (jpaProject != null) && (jpaProject.getJpaPlatform().getId().equals(HibernatePropertiesConstants.HIBERNATE_JPA_PLATFORM_ID));
+ return (jpaProject != null) && ((jpaProject.getJpaPlatform().getId().equals(HibernatePropertiesConstants.HIBERNATE_JPA_PLATFORM_ID))
+ || (jpaProject.getJpaPlatform().getId().equals(HibernatePropertiesConstants.HIBERNATE_JPA2_0_PLATFORM_ID)));
}
private IProject getProject() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml 2010-06-23 11:53:25 UTC (rev 22942)
@@ -8,6 +8,12 @@
default="false"
id="hibernate"
label="Hibernate">
+ </jpaPlatform>
+ <jpaPlatform
+ factoryClass="org.jboss.tools.hibernate.jpt.core.internal.jpa2.HibernateJpa2_0PlatformFactory"
+ default="false"
+ id="hibernate2_0"
+ label="Hibernate jpa 2.0">
</jpaPlatform>
</extension>
<extension
@@ -30,9 +36,14 @@
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
- <with variable="jpaPlatform">
- <equals value="hibernate"/>
- </with>
+ <or>
+ <with variable="jpaPlatform">
+ <equals value="hibernate"/>
+ </with>
+ <with variable="jpaPlatform">
+ <equals value="hibernate2_0"/>
+ </with>
+ </or>
</and>
</enablement>
</provider>
Added: 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 (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,152 @@
+package org.jboss.tools.hibernate.jpt.core.internal;
+
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.java.JavaBaseColumn;
+import org.eclipse.jpt.core.context.java.JavaBasicMapping;
+import org.eclipse.jpt.core.context.java.JavaColumn;
+import org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn;
+import org.eclipse.jpt.core.context.java.JavaEntity;
+import org.eclipse.jpt.core.context.java.JavaGeneratorContainer;
+import org.eclipse.jpt.core.context.java.JavaIdMapping;
+import org.eclipse.jpt.core.context.java.JavaJoinColumn;
+import org.eclipse.jpt.core.context.java.JavaJoinTable;
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.core.context.java.JavaQueryContainer;
+import org.eclipse.jpt.core.context.java.JavaSecondaryTable;
+import org.eclipse.jpt.core.internal.AbstractJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
+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.java.ForeignKeyImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaBasicMappingImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaDiscriminatorColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntityImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainerImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMappingImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToManyMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaParameter;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainerImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaSecondaryTableImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTable;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTableImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedNativeQueryImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedQueryImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.IndexImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormula;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormulaImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGeneratorImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaIndex;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaParameter;
+
+public abstract class HibernateAbstractJpaFactory extends AbstractJpaFactory {
+
+ // ********** Core Model **********
+ public JpaProject buildJpaProject(JpaProject.Config config){
+ return new HibernateJpaProject(config);
+ }
+
+ // ********** Java Context Model **********
+ @Override
+ public JavaEntity buildJavaEntity(JavaPersistentType parent) {
+ return new HibernateJavaEntityImpl(parent);
+ }
+
+ @Override
+ public JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent) {
+ return new HibernateJavaIdMappingImpl(parent);
+ }
+
+ public JavaGenericGenerator buildJavaGenericGenerator(JavaJpaContextNode parent) {
+ return new JavaGenericGeneratorImpl(parent);
+ }
+
+ @Override
+ public JavaDiscriminatorColumn buildJavaDiscriminatorColumn(
+ JavaEntity parent,
+ org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn.Owner owner) {
+ return new HibernateJavaDiscriminatorColumnImpl(parent, owner);
+ }
+
+ public HibernateNamedQuery buildHibernateJavaNamedQuery(JavaJpaContextNode parent) {
+ return new HibernateNamedQueryImpl(parent);
+ }
+
+ public HibernateNamedNativeQuery buildHibernateJavaNamedNativeQuery(JavaJpaContextNode parent) {
+ return new HibernateNamedNativeQueryImpl(parent);
+ }
+
+ public JavaParameter buildJavaParameter(JavaGenericGeneratorImpl javaGenericGeneratorImpl) {
+ return new HibernateJavaParameter(javaGenericGeneratorImpl);
+ }
+
+ public JavaDiscriminatorFormula buildJavaDiscriminatorFormula(
+ HibernateJavaEntity hibernateJavaEntity) {
+ return new JavaDiscriminatorFormulaImpl(hibernateJavaEntity);
+ }
+
+ @Override
+ public JavaColumn buildJavaColumn(JavaJpaContextNode parent, JavaBaseColumn.Owner owner) {
+ return new HibernateJavaColumnImpl(parent, owner);
+ }
+
+ @Override
+ public JavaManyToManyMapping buildJavaManyToManyMapping(
+ JavaPersistentAttribute parent) {
+ //same for jpa2_0 and 1_0
+ return new HibernateJavaManyToManyMapping(parent);
+ }
+
+ @Override
+ public JavaJoinColumn buildJavaJoinColumn(JavaJpaContextNode parent,
+ org.eclipse.jpt.core.context.java.JavaJoinColumn.Owner owner) {
+ return new HibernateJavaJoinColumnImpl(parent, owner);
+ }
+
+ @Override
+ public JavaSecondaryTable buildJavaSecondaryTable(JavaEntity parent) {
+ return new HibernateJavaSecondaryTableImpl(parent);
+ }
+
+ @Override
+ public JavaJoinTable buildJavaJoinTable(JavaJoinTableJoiningStrategy parent) {
+ return new HibernateJavaJoinTableImpl(parent);
+ }
+
+ @Override
+ public HibernateJavaTable buildJavaTable(JavaEntity parent) {
+ return new HibernateJavaTableImpl(parent);
+ }
+
+ @Override
+ public JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent) {
+ return new HibernateJavaBasicMappingImpl(parent);
+ }
+
+ @Override
+ public JavaQueryContainer buildJavaQueryContainer(JavaJpaContextNode parent) {
+ return new HibernateJavaQueryContainerImpl(parent);
+ }
+
+ @Override
+ public JavaGeneratorContainer buildJavaGeneratorContainer(JavaJpaContextNode parent) {
+ return new HibernateJavaGeneratorContainerImpl(parent);
+ }
+
+ public JavaIndex buildIndex(JavaJpaContextNode parent) {
+ return new IndexImpl(parent);
+ }
+
+ public ForeignKey buildForeignKey(JavaJpaContextNode parent) {
+ return new ForeignKeyImpl(parent);
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -10,147 +10,31 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal;
-import org.eclipse.jpt.core.JpaProject;
-import org.eclipse.jpt.core.context.java.JavaBaseColumn;
-import org.eclipse.jpt.core.context.java.JavaBasicMapping;
-import org.eclipse.jpt.core.context.java.JavaColumn;
-import org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn;
import org.eclipse.jpt.core.context.java.JavaEmbeddable;
-import org.eclipse.jpt.core.context.java.JavaEntity;
-import org.eclipse.jpt.core.context.java.JavaGeneratorContainer;
-import org.eclipse.jpt.core.context.java.JavaIdMapping;
-import org.eclipse.jpt.core.context.java.JavaJoinColumn;
-import org.eclipse.jpt.core.context.java.JavaJoinTable;
-import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
-import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.core.context.java.JavaQueryContainer;
-import org.eclipse.jpt.core.context.java.JavaSecondaryTable;
-import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
-import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
-import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
-import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.AbstractJpaFactory;
-import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
-import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
-import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
-import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
-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.java.ForeignKeyImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaBasicMappingImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaColumnImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaDiscriminatorColumnImpl;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEmbeddable;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntityImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainerImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMappingImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToManyMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToOneMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaOneToManyMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaOneToOneMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaParameter;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainerImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaSecondaryTableImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTable;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTableImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedNativeQueryImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedQueryImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.IndexImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormula;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormulaImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGeneratorImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaIndex;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaParameter;
-import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToManyMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToOneMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmOneToManyMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmOneToOneMapping;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJpaFactory extends AbstractJpaFactory {
+public class HibernateJpaFactory extends HibernateAbstractJpaFactory {
- // ********** Core Model **********
- public JpaProject buildJpaProject(JpaProject.Config config){
- return new HibernateJpaProject(config);
- }
+ // ********** Hibernate Specific **********
- // ********** Java Context Model **********
- @Override
- public JavaEntity buildJavaEntity(JavaPersistentType parent) {
- return new HibernateJavaEntityImpl(parent);
- }
-
- @Override
- public JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent) {
- return new HibernateJavaIdMappingImpl(parent);
- }
-
- public JavaGenericGenerator buildJavaGenericGenerator(JavaJpaContextNode parent) {
- return new JavaGenericGeneratorImpl(parent);
- }
-
- @Override
- public JavaDiscriminatorColumn buildJavaDiscriminatorColumn(
- JavaEntity parent,
- org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn.Owner owner) {
- return new HibernateJavaDiscriminatorColumnImpl(parent, owner);
- }
-
- public HibernateNamedQuery buildHibernateJavaNamedQuery(JavaJpaContextNode parent) {
- return new HibernateNamedQueryImpl(parent);
- }
-
- public HibernateNamedNativeQuery buildHibernateJavaNamedNativeQuery(JavaJpaContextNode parent) {
- return new HibernateNamedNativeQueryImpl(parent);
- }
-
- public JavaParameter buildJavaParameter(JavaGenericGeneratorImpl javaGenericGeneratorImpl) {
- return new HibernateJavaParameter(javaGenericGeneratorImpl);
- }
-
- public JavaDiscriminatorFormula buildJavaDiscriminatorFormula(
- HibernateJavaEntity hibernateJavaEntity) {
- return new JavaDiscriminatorFormulaImpl(hibernateJavaEntity);
- }
-
public JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent) {
return new HibernateJavaEmbeddable(parent);
}
@Override
- public JavaColumn buildJavaColumn(JavaJpaContextNode parent, JavaBaseColumn.Owner owner) {
- return new HibernateJavaColumnImpl(parent, owner);
- }
-
- @Override
- public JavaOneToManyMapping buildJavaOneToManyMapping(
- JavaPersistentAttribute parent) {
- return new HibernateJavaOneToManyMapping(parent);
- }
-
- @Override
- public JavaManyToManyMapping buildJavaManyToManyMapping(
- JavaPersistentAttribute parent) {
- return new HibernateJavaManyToManyMapping(parent);
- }
-
- @Override
public JavaManyToOneMapping buildJavaManyToOneMapping(
JavaPersistentAttribute parent) {
return new HibernateJavaManyToOneMapping(parent);
@@ -163,67 +47,9 @@
}
@Override
- public JavaJoinColumn buildJavaJoinColumn(JavaJpaContextNode parent,
- org.eclipse.jpt.core.context.java.JavaJoinColumn.Owner owner) {
- return new HibernateJavaJoinColumnImpl(parent, owner);
+ public JavaOneToManyMapping buildJavaOneToManyMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaOneToManyMapping(parent);
}
-
- @Override
- public JavaSecondaryTable buildJavaSecondaryTable(JavaEntity parent) {
- return new HibernateJavaSecondaryTableImpl(parent);
- }
-
- @Override
- public JavaJoinTable buildJavaJoinTable(JavaJoinTableJoiningStrategy parent) {
- return new HibernateJavaJoinTableImpl(parent);
- }
-
- @Override
- public HibernateJavaTable buildJavaTable(JavaEntity parent) {
- return new HibernateJavaTableImpl(parent);
- }
-
- public JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent) {
- return new HibernateJavaBasicMappingImpl(parent);
- }
-
- public JavaQueryContainer buildJavaQueryContainer(JavaJpaContextNode parent) {
- return new HibernateJavaQueryContainerImpl(parent);
- }
-
- public JavaGeneratorContainer buildJavaGeneratorContainer(JavaJpaContextNode parent) {
- return new HibernateJavaGeneratorContainerImpl(parent);
- }
-
- // ********** ORM Context Model **********
-
-
- @SuppressWarnings("unchecked")
- public OrmManyToManyMapping buildOrmManyToManyMapping(OrmPersistentAttribute parent, XmlManyToMany resourceMapping) {
- return new HibernateOrmManyToManyMapping(parent, resourceMapping);
- }
-
- @SuppressWarnings("unchecked")
- public OrmManyToOneMapping buildOrmManyToOneMapping(OrmPersistentAttribute parent, XmlManyToOne resourceMapping) {
- return new HibernateOrmManyToOneMapping(parent, resourceMapping);
- }
-
- @SuppressWarnings("unchecked")
- public OrmOneToManyMapping buildOrmOneToManyMapping(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
- return new HibernateOrmOneToManyMapping(parent, resourceMapping);
- }
-
- @SuppressWarnings("unchecked")
- public OrmOneToOneMapping buildOrmOneToOneMapping(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
- return new HibernateOrmOneToOneMapping(parent, resourceMapping);
- }
- public JavaIndex buildIndex(JavaJpaContextNode parent) {
- return new IndexImpl(parent);
- }
-
- public ForeignKey buildForeignKey(JavaJpaContextNode parent) {
- return new ForeignKeyImpl(parent);
- }
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -25,8 +25,10 @@
*/
public class HibernateJpaPlatform extends GenericJpaPlatform {
- public static final String ID = "hibernate"; //$NON-NLS-1$
+ public static final String HIBERNATE_PLATFORM_ID = "hibernate"; //$NON-NLS-1$
+ public static final String HIBERNATE2_0_PLATFORM_ID = "hibernate2_0"; //$NON-NLS-1$
+
@Override
public ResourceDefinition getResourceDefinition(JpaResourceType resourceType) {
for (ResourceDefinition resourceDefinition : CollectionTools.iterable(resourceDefinitions())) {
@@ -41,9 +43,4 @@
super(id, jpaVersion, jpaFactory, jpaAnnotationProvider, platformProvider, jpaVariation);
}
- @Override
- public String getId() {
- return ID;
- }
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -15,6 +15,7 @@
import org.eclipse.jpt.core.JpaPlatform;
import org.eclipse.jpt.core.JpaPlatformFactory;
import org.eclipse.jpt.core.JpaPlatformVariation;
+import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.jpt.core.internal.GenericJpaAnnotationDefinitionProvider;
import org.eclipse.jpt.core.internal.GenericJpaAnnotationProvider;
import org.eclipse.jpt.core.internal.GenericJpaPlatformFactory.SimpleVersion;
@@ -45,7 +46,7 @@
private JpaPlatform.Version buildJpaVersion() {
- return new SimpleVersion(HibernateJptPlugin.JPA_FACET_VERSION_1_0);
+ return new SimpleVersion(JptCorePlugin.JPA_FACET_VERSION_1_0);
}
protected JpaFactory buildJpaFactory() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -36,7 +36,7 @@
import org.eclipse.jpt.core.internal.context.java.JavaOneToOneMappingDefinition;
import org.eclipse.jpt.core.internal.context.java.JavaTransientMappingDefinition;
import org.eclipse.jpt.core.internal.context.java.JavaVersionMappingDefinition;
-import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmXmlDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmXmlDefinition;
import org.jboss.tools.hibernate.jpt.core.internal.context.persistence.HibernatePersistenceXmlDefinition;
/**
@@ -144,7 +144,7 @@
protected ResourceDefinition[] buildResourceDefinitions() {
return new ResourceDefinition[] {
HibernatePersistenceXmlDefinition.instance(),
- GenericOrmXmlDefinition.instance()};
+ HibernateOrmXmlDefinition.instance()};
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -39,8 +39,6 @@
public static final String ID = "org.jboss.tools.hibernate.jpt.core"; //$NON-NLS-1$
- public static final String JPA_FACET_VERSION_1_0 = "1.0"; //$NON-NLS-1$
-
private static HibernateJptPlugin inst = null;
public static HibernateJptPlugin getDefault() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -28,9 +28,9 @@
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
import org.eclipse.wst.common.project.facet.core.events.IProjectFacetActionEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type;
import org.hibernate.console.preferences.ConsoleConfigurationPreferences.ConfigurationMode;
import org.hibernate.eclipse.console.utils.LaunchHelper;
import org.hibernate.eclipse.console.utils.ProjectUtils;
@@ -47,7 +47,8 @@
IProject project = event.getProject().getProject();
IProjectFacetActionEvent pEvent = (IProjectFacetActionEvent)event;
if (pEvent.getProjectFacet().getId().equals(JptCorePlugin.FACET_ID)
- && HibernateJpaPlatform.ID.equals(JptCorePlugin.getJpaPlatformId(project))){
+ && (HibernateJpaPlatform.HIBERNATE_PLATFORM_ID.equals(JptCorePlugin.getJpaPlatformId(project))
+ || HibernateJpaPlatform.HIBERNATE2_0_PLATFORM_ID.equals(JptCorePlugin.getJpaPlatformId(project)))){
if (checkPreConditions(project)){
buildConsoleConfiguration(project);
}
@@ -96,7 +97,7 @@
protected void buildConsoleConfiguration(IProject project){
ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
ILaunchConfigurationType lct = LaunchHelper.getHibernateLaunchConfigsType();
- String launchName = lm.generateUniqueLaunchConfigurationNameFrom(project.getName());
+ String launchName = lm.generateLaunchConfigurationName(project.getName());
ILaunchConfigurationWorkingCopy wc;
try {
wc = lct.newInstance(null, launchName);
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -37,6 +37,10 @@
if (relationshipMapping == null) {
return null;
}
+
+ if (!(relationshipReference.getTypeMapping() instanceof Entity))
+ return null;//could be JavaNullTypeMapping
+
Entity ownerEntity = (Entity) relationshipReference.getTypeMapping();
org.eclipse.jpt.core.context.Table ownerTable = ownerEntity.getTable();
if (ownerTable == null) {
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,162 @@
+package org.jboss.tools.hibernate.jpt.core.internal.context.java;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaManyToOneMapping;
+import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.db.Table;
+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.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;
+import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+
+public abstract class AbstractHibernateJavaManyToOneMapping extends
+ AbstractJavaManyToOneMapping implements ForeignKeyHolder {
+
+ protected ForeignKey foreignKey;
+
+ public AbstractHibernateJavaManyToOneMapping(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected void addSupportingAnnotationNamesTo(Vector<String> names) {
+ super.addSupportingAnnotationNamesTo(names);
+ names.add(Hibernate.FOREIGN_KEY);
+ }
+
+ @Override
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.initializeForeignKey();
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+ this.updateForeignKey();
+ }
+
+ // *** foreignKey
+
+ protected void initializeForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource != null) {
+ this.foreignKey = buildForeignKey(foreignKeyResource);
+ }
+ }
+
+ protected void updateForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource == null) {
+ if (getForeignKey() != null) {
+ setForeignKey(null);
+ }
+ } else {
+ if (getForeignKey() == null) {
+ setForeignKey(buildForeignKey(foreignKeyResource));
+ } else {
+ getForeignKey().update(foreignKeyResource);
+ }
+ }
+ }
+
+ public ForeignKey addForeignKey() {
+ if (getForeignKey() != null) {
+ throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
+ }
+ this.foreignKey = getJpaFactory().buildForeignKey(this);
+ ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation) getResourcePersistentAttribute()
+ .addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ this.foreignKey.initialize(foreignKeyResource);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
+ return this.foreignKey;
+ }
+
+ public ForeignKey getForeignKey() {
+ return this.foreignKey;
+ }
+
+ protected void setForeignKey(ForeignKey newForeignKey) {
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = newForeignKey;
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
+ }
+
+ public void removeForeignKey() {
+ if (getForeignKey() == null) {
+ throw new IllegalStateException(
+ "foreignKey does not exist, cannot be removed"); //$NON-NLS-1$
+ }
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = null;
+ this.getResourcePersistentAttribute().removeAnnotation(
+ ForeignKeyAnnotation.ANNOTATION_NAME);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
+ }
+
+ protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
+ ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
+ foreignKey.initialize(foreignKeyResource);
+ return foreignKey;
+ }
+
+ protected ForeignKeyAnnotation getResourceForeignKey() {
+ return (ForeignKeyAnnotation) this.getResourcePersistentAttribute()
+ .getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ }
+
+ public Table getForeignKeyDbTable() {
+ return getTypeMapping().getPrimaryDbTable();
+ }
+
+ @Override
+ public void validate(List<IMessage> messages, IReporter reporter,
+ CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+ this.validateForeignKey(messages, astRoot);
+ }
+
+ protected void validateForeignKey(List<IMessage> messages,
+ CompilationUnit astRoot) {
+ Table table = getTypeMapping().getPrimaryDbTable();
+ if (!shouldValidateAgainstDatabase() || foreignKey == null
+ || table == null) {
+ return;
+ }
+ Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys()
+ .iterator();
+ while (fks.hasNext()) {
+ org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks
+ .next();
+ if (foreignKey.getName().equals(fk.getIdentifier())) {
+ return;
+ }
+ }
+ TextRange textRange = this.getResourceForeignKey().getNameTextRange(
+ astRoot);
+ IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {
+ foreignKey.getName(),
+ getTypeMapping().getPrimaryTableName() },
+ this.foreignKey);
+ message.setLineNo(textRange.getLineNumber());
+ message.setOffset(textRange.getOffset());
+ message.setLength(textRange.getLength());
+ messages.add(message);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,161 @@
+package org.jboss.tools.hibernate.jpt.core.internal.context.java;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaOneToOneMapping;
+import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.db.Table;
+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.HibernateJpaFactory;
+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;
+import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+
+public abstract class AbstractHibernateJavaOneToOneMapping extends
+ AbstractJavaOneToOneMapping implements ForeignKeyHolder {
+
+ protected ForeignKey foreignKey;
+
+ public AbstractHibernateJavaOneToOneMapping(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected void addSupportingAnnotationNamesTo(Vector<String> names) {
+ super.addSupportingAnnotationNamesTo(names);
+ names.add(Hibernate.FOREIGN_KEY);
+ }
+
+ @Override
+ protected HibernateJpaFactory getJpaFactory() {
+ return (HibernateJpaFactory) super.getJpaFactory();
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.initializeForeignKey();
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+ this.updateForeignKey();
+ }
+
+ // *** foreignKey
+
+ protected void initializeForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource != null) {
+ this.foreignKey = buildForeignKey(foreignKeyResource);
+ }
+ }
+
+ protected void updateForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource == null) {
+ if (getForeignKey() != null) {
+ setForeignKey(null);
+ }
+ } else {
+ if (getForeignKey() == null) {
+ setForeignKey(buildForeignKey(foreignKeyResource));
+ } else {
+ getForeignKey().update(foreignKeyResource);
+ }
+ }
+ }
+
+ public ForeignKey addForeignKey() {
+ if (getForeignKey() != null) {
+ throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
+ }
+ this.foreignKey = getJpaFactory().buildForeignKey(this);
+ ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation) getResourcePersistentAttribute()
+ .addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ this.foreignKey.initialize(foreignKeyResource);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
+ return this.foreignKey;
+ }
+
+ public ForeignKey getForeignKey() {
+ return this.foreignKey;
+ }
+
+ protected void setForeignKey(ForeignKey newForeignKey) {
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = newForeignKey;
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
+ }
+
+ public void removeForeignKey() {
+ if (getForeignKey() == null) {
+ throw new IllegalStateException(
+ "foreignKey does not exist, cannot be removed"); //$NON-NLS-1$
+ }
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = null;
+ this.getResourcePersistentAttribute().removeAnnotation(
+ ForeignKeyAnnotation.ANNOTATION_NAME);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
+ }
+
+ protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
+ ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
+ foreignKey.initialize(foreignKeyResource);
+ return foreignKey;
+ }
+
+ protected ForeignKeyAnnotation getResourceForeignKey() {
+ return (ForeignKeyAnnotation) this.getResourcePersistentAttribute()
+ .getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ }
+
+ public Table getForeignKeyDbTable() {
+ return getTypeMapping().getPrimaryDbTable();
+ }
+
+ @Override
+ public void validate(List<IMessage> messages, IReporter reporter,
+ CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+ this.validateForeignKey(messages, astRoot);
+ }
+
+ protected void validateForeignKey(List<IMessage> messages,
+ CompilationUnit astRoot) {
+ Table table = getTypeMapping().getPrimaryDbTable();
+ if (!shouldValidateAgainstDatabase() || foreignKey == null
+ || table == null) {
+ return;
+ }
+ Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys()
+ .iterator();
+ while (fks.hasNext()) {
+ org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks
+ .next();
+ if (foreignKey.getName().equals(fk.getIdentifier())) {
+ return;
+ }
+ }
+ TextRange textRange = this.getResourceForeignKey().getNameTextRange(
+ astRoot);
+ IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {
+ foreignKey.getName(),
+ getTypeMapping().getPrimaryTableName() },
+ this.foreignKey);
+ message.setLineNo(textRange.getLineNumber());
+ message.setOffset(textRange.getOffset());
+ message.setLength(textRange.getLength());
+ messages.add(message);
+ }
+}
\ 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/java/HibernateJavaBasicMappingImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -15,7 +15,7 @@
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaBasicMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.Generated;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenerationTime;
import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
@@ -44,8 +44,8 @@
}
@Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
}
@Override
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -23,7 +23,9 @@
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaEntity;
import org.eclipse.jpt.core.internal.jpa2.context.java.NullJavaCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.utility.Filter;
@@ -34,7 +36,7 @@
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.HibernateJpaFactory;
+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.ForeignKey;
@@ -80,8 +82,8 @@
this.updateForeignKey();
}
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) this.getJpaPlatform().getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) this.getJpaPlatform().getJpaFactory();
}
@Override
@@ -435,11 +437,15 @@
}
public JavaCacheable2_0 getCacheable() {
- return cachable;
+ return this.cachable;
}
- public boolean calculateDefaultCacheable() {
- return false;
+ public boolean calculateDefaultCacheable() {
+ CacheableHolder2_0 parentEntity = (CacheableHolder2_0) getParentEntity();
+ if (parentEntity != null) {
+ return parentEntity.getCacheable().isCacheable();
+ }
+ return ((PersistenceUnit2_0) getPersistenceUnit()).calculateDefaultCacheable();
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -22,7 +22,7 @@
import org.eclipse.jpt.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.utility.internal.CollectionTools;
import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+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.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorsAnnotation;
@@ -42,8 +42,8 @@
this.genericGenerators = new ArrayList<JavaGenericGenerator>();
}
- public HibernateJpaFactory getJpaFactory(){
- return (HibernateJpaFactory)super.getJpaFactory();
+ public HibernateAbstractJpaFactory getJpaFactory(){
+ return (HibernateAbstractJpaFactory)super.getJpaFactory();
}
@Override
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -14,7 +14,7 @@
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaIdMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotation;
@@ -49,8 +49,8 @@
}
@Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
}
@Override
@@ -87,7 +87,7 @@
}
protected JavaGenericGenerator buildGenericGenerator(GenericGeneratorAnnotation genericGeneratorResource) {
- JavaGenericGenerator generator = ((HibernateJpaFactory) getJpaFactory()).buildJavaGenericGenerator(this);
+ JavaGenericGenerator generator = ((HibernateAbstractJpaFactory) getJpaFactory()).buildJavaGenericGenerator(this);
generator.initialize(genericGeneratorResource);
return generator;
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -29,6 +29,7 @@
super(parent);
}
+ @Override
public String getJoinTableDefaultName() {
return NamingStrategyMappingTools.buildJoinTableDefaultName(getRelationshipReference());
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -18,7 +18,7 @@
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaRelationshipReference;
-import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaManyToManyMapping;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaManyToManyMapping;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.db.Table;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
@@ -36,7 +36,7 @@
*/
public class HibernateJavaManyToManyMapping extends
- GenericJavaManyToManyMapping implements ForeignKeyHolder{
+AbstractJavaManyToManyMapping implements ForeignKeyHolder{
protected ForeignKey foreignKey;
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -11,160 +11,23 @@
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaManyToOneMapping;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.db.Table;
-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.HibernateJpaFactory;
-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;
-import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+import org.eclipse.jpt.core.internal.context.java.GenericJavaManyToOneRelationshipReference;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneRelationshipReference2_0;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJavaManyToOneMapping extends GenericJavaManyToOneMapping
-implements ForeignKeyHolder {
+public class HibernateJavaManyToOneMapping extends AbstractHibernateJavaManyToOneMapping {
- protected ForeignKey foreignKey;
-
public HibernateJavaManyToOneMapping(JavaPersistentAttribute parent) {
super(parent);
}
@Override
- protected void addSupportingAnnotationNamesTo(Vector<String> names) {
- super.addSupportingAnnotationNamesTo(names);
- names.add(Hibernate.FOREIGN_KEY);
- }
-
- @Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.initializeForeignKey();
- }
-
- @Override
- protected void update() {
- super.update();
- this.updateForeignKey();
- }
-
+ protected JavaManyToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new GenericJavaManyToOneRelationshipReference(this);
+ }
-
- // *** foreignKey
-
- protected void initializeForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource != null) {
- this.foreignKey = buildForeignKey(foreignKeyResource);
- }
- }
-
- protected void updateForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource == null) {
- if (getForeignKey() != null) {
- setForeignKey(null);
- }
- }
- else {
- if (getForeignKey() == null) {
- setForeignKey(buildForeignKey(foreignKeyResource));
- }
- else {
- getForeignKey().update(foreignKeyResource);
- }
- }
- }
-
- public ForeignKey addForeignKey() {
- if (getForeignKey() != null) {
- throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
- }
- this.foreignKey = getJpaFactory().buildForeignKey(this);
- ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation) getResourcePersistentAttribute().addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- this.foreignKey.initialize(foreignKeyResource);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
- return this.foreignKey;
- }
-
- public ForeignKey getForeignKey() {
- return this.foreignKey;
- }
-
- protected void setForeignKey(ForeignKey newForeignKey) {
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = newForeignKey;
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
- }
-
- public void removeForeignKey() {
- if (getForeignKey() == null) {
- throw new IllegalStateException("foreignKey does not exist, cannot be removed"); //$NON-NLS-1$
- }
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = null;
- this.getResourcePersistentAttribute().removeAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
- }
-
- protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
- ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
- foreignKey.initialize(foreignKeyResource);
- return foreignKey;
- }
-
- protected ForeignKeyAnnotation getResourceForeignKey() {
- return (ForeignKeyAnnotation) this.getResourcePersistentAttribute().getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- }
-
- public Table getForeignKeyDbTable() {
- return getTypeMapping().getPrimaryDbTable();
- }
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter,
- CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateForeignKey(messages, astRoot);
- }
-
- protected void validateForeignKey(List<IMessage> messages, CompilationUnit astRoot) {
- Table table = getTypeMapping().getPrimaryDbTable();
- if (!shouldValidateAgainstDatabase() || foreignKey == null || table == null ){
- return;
- }
- Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys().iterator();
- while (fks.hasNext()) {
- org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks.next();
- if (foreignKey.getName().equals(fk.getIdentifier())){
- return;
- }
- }
- TextRange textRange = this.getResourceForeignKey().getNameTextRange(astRoot);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {foreignKey.getName(), getTypeMapping().getPrimaryTableName()},
- this.foreignKey);
- message.setLineNo(textRange.getLineNumber());
- message.setOffset(textRange.getOffset());
- message.setLength(textRange.getLength());
- messages.add(message);
- }
-
}
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2010 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,
@@ -8,7 +8,6 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
@@ -21,13 +20,16 @@
*/
public class HibernateJavaOneToManyMapping extends GenericJavaOneToManyMapping {
+ /**
+ * @param parent
+ */
public HibernateJavaOneToManyMapping(JavaPersistentAttribute parent) {
super(parent);
}
@Override
protected JavaRelationshipReference buildRelationshipReference() {
- return super.buildRelationshipReference();
+ return new HibernateJavaOneToManyRelationshipReference(this);
}
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -29,6 +29,7 @@
super(parent);
}
+ @Override
protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
return new HibernateJavaJoinTableJoiningStrategy(this);
}
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -11,171 +11,25 @@
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaOneToOneMapping;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.db.Table;
-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.HibernateJpaFactory;
-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;
-import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+import org.eclipse.jpt.core.internal.context.java.GenericJavaOneToOneRelationshipReference;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneRelationshipReference2_0;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJavaOneToOneMapping extends GenericJavaOneToOneMapping
-implements ForeignKeyHolder {
+public class HibernateJavaOneToOneMapping extends AbstractHibernateJavaOneToOneMapping {
- protected ForeignKey foreignKey;
-
public HibernateJavaOneToOneMapping(JavaPersistentAttribute parent) {
super(parent);
}
-
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }
-
- @Override
- protected JavaRelationshipReference buildRelationshipReference() {
- return new HibernateJavaOneToOneRelationshipReference(this);
- }*/
-
- @Override
- protected void addSupportingAnnotationNamesTo(Vector<String> names) {
- super.addSupportingAnnotationNamesTo(names);
- names.add(Hibernate.FOREIGN_KEY);
- }
-
- @Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.initializeForeignKey();
- }
-
- @Override
- protected void update() {
- super.update();
- this.updateForeignKey();
- }
-
-
- // *** foreignKey
-
- protected void initializeForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource != null) {
- this.foreignKey = buildForeignKey(foreignKeyResource);
- }
- }
-
- protected void updateForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource == null) {
- if (getForeignKey() != null) {
- setForeignKey(null);
- }
- }
- else {
- if (getForeignKey() == null) {
- setForeignKey(buildForeignKey(foreignKeyResource));
- }
- else {
- getForeignKey().update(foreignKeyResource);
- }
- }
- }
-
- public ForeignKey addForeignKey() {
- if (getForeignKey() != null) {
- throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
- }
- this.foreignKey = getJpaFactory().buildForeignKey(this);
- ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation) getResourcePersistentAttribute().addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- this.foreignKey.initialize(foreignKeyResource);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
- return this.foreignKey;
- }
-
- public ForeignKey getForeignKey() {
- return this.foreignKey;
- }
-
- protected void setForeignKey(ForeignKey newForeignKey) {
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = newForeignKey;
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
- }
-
- public void removeForeignKey() {
- if (getForeignKey() == null) {
- throw new IllegalStateException("foreignKey does not exist, cannot be removed"); //$NON-NLS-1$
- }
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = null;
- this.getResourcePersistentAttribute().removeAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
- }
-
- protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
- ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
- foreignKey.initialize(foreignKeyResource);
- return foreignKey;
- }
-
- protected ForeignKeyAnnotation getResourceForeignKey() {
- return (ForeignKeyAnnotation) this.getResourcePersistentAttribute().getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- }
-
- public Table getForeignKeyDbTable() {
- return getTypeMapping().getPrimaryDbTable();
- }
-
@Override
- public void validate(List<IMessage> messages, IReporter reporter,
- CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateForeignKey(messages, astRoot);
+ protected JavaOneToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new GenericJavaOneToOneRelationshipReference(this);
}
- protected void validateForeignKey(List<IMessage> messages, CompilationUnit astRoot) {
- Table table = getTypeMapping().getPrimaryDbTable();
- if (!shouldValidateAgainstDatabase() || foreignKey == null || table == null ){
- return;
- }
- Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys().iterator();
- while (fks.hasNext()) {
- org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks.next();
- if (foreignKey.getName().equals(fk.getIdentifier())){
- return;
- }
- }
- TextRange textRange = this.getResourceForeignKey().getNameTextRange(astRoot);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {foreignKey.getName(), getTypeMapping().getPrimaryTableName()},
- this.foreignKey);
- message.setLineNo(textRange.getLineNumber());
- message.setOffset(textRange.getOffset());
- message.setLength(textRange.getLength());
- messages.add(message);
- }
}
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -25,7 +25,7 @@
import org.eclipse.jpt.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.utility.internal.CollectionTools;
import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+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;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueriesAnnotation;
@@ -51,8 +51,8 @@
this.hibernateNamedNativeQueries = new ArrayList<HibernateNamedNativeQuery>();
}
- public HibernateJpaFactory getJpaFactory(){
- return (HibernateJpaFactory)super.getJpaFactory();
+ public HibernateAbstractJpaFactory getJpaFactory(){
+ return (HibernateAbstractJpaFactory)super.getJpaFactory();
}
public void initialize(JavaResourcePersistentMember jrpm) {
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -26,11 +26,11 @@
import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
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.HibernateJpaFactory;
+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.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
@@ -200,8 +200,8 @@
}
@Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
}
//************************ parameters ***********************
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneRelationshipReference2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.AbstractHibernateJavaManyToOneMapping;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaManyToOneMapping2_0 extends AbstractHibernateJavaManyToOneMapping {
+
+ public HibernateJavaManyToOneMapping2_0(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaManyToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new HibernateJavaManyToOneRelationshipReference2_0(this);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaManyToOneRelationshipReference2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneMapping2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnJoiningStrategy;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaManyToOneRelationshipReference2_0 extends
+ GenericJavaManyToOneRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaManyToOneRelationshipReference2_0(
+ JavaManyToOneMapping2_0 parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateJavaJoinColumnJoiningStrategy(this);
+ }
+
+ @Override
+ protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateJavaJoinTableJoiningStrategy(this);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaRelationshipReference;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToManyMapping2_0;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToManyMapping2_0 extends
+ GenericJavaOneToManyMapping2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaOneToManyMapping2_0(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaRelationshipReference buildRelationshipReference() {
+ return new HibernateJavaOneToManyRelationshipReference2_0(this);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToManyRelationshipReference2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToManyRelationshipReference2_0 extends
+ GenericJavaOneToManyRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaOneToManyRelationshipReference2_0(
+ JavaOneToManyMapping parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateJavaJoinTableJoiningStrategy(this);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneRelationshipReference2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.AbstractHibernateJavaOneToOneMapping;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToOneMapping2_0 extends AbstractHibernateJavaOneToOneMapping {
+
+ public HibernateJavaOneToOneMapping2_0(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaOneToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new HibernateJavaOneToOneRelationshipReference2_0(this);
+ }
+
+
+}
+
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToOneRelationshipReference2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnJoiningStrategy;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToOneRelationshipReference2_0 extends
+ GenericJavaOneToOneRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaOneToOneRelationshipReference2_0(
+ JavaOneToOneMapping parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateJavaJoinTableJoiningStrategy(this);
+ }
+
+ @Override
+ protected JavaJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateJavaJoinColumnJoiningStrategy(this);
+ }
+}
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 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -23,7 +23,9 @@
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmEntity;
import org.eclipse.jpt.core.internal.jpa2.context.orm.NullOrmCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator;
@@ -34,9 +36,9 @@
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.GenericGenerator;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
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;
@@ -64,9 +66,20 @@
}
public boolean calculateDefaultCacheable() {
- return false;
+ if (!isMetadataComplete()) {
+ CacheableHolder2_0 javaEntity = (CacheableHolder2_0) getJavaEntity();
+ if (javaEntity != null) {
+ return javaEntity.getCacheable().isCacheable();
+ }
+ }
+
+ CacheableHolder2_0 parentEntity = (CacheableHolder2_0) getParentEntity();
+ if (parentEntity != null) {
+ return parentEntity.getCacheable().isCacheable();
+ }
+ return ((PersistenceUnit2_0) getPersistenceUnit()).calculateDefaultCacheable();
}
-
+
@Override
public HibernateJpaProject getJpaProject() {
return (HibernateJpaProject) super.getJpaProject();
@@ -129,11 +142,13 @@
return null;
}
Entity parentEntity = HibernateOrmEntityImpl.this.getParentEntity();
+ String colName = (parentEntity == null)
+ ? getPrimaryKeyColumnName() : parentEntity.getPrimaryKeyColumnName();
NamingStrategy ns = HibernateOrmEntityImpl.this.getJpaProject().getNamingStrategy();
if (getJpaProject().isNamingStrategyEnabled() && ns != null){
try {
- String name = ns.joinKeyColumnName(parentEntity.getPrimaryKeyColumnName(),
- parentEntity.getPrimaryTableName());
+ String name = ns.joinKeyColumnName(colName, (parentEntity == null)
+ ? getTable().getName() : parentEntity.getPrimaryTableName());
return name;
} catch (Exception e) {
Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
@@ -141,7 +156,7 @@
HibernateJptPlugin.logException(m.getText(), e);
}
}
- return parentEntity.getPrimaryKeyColumnName();
+ return colName;
}
public String getDefaultTableName() {
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableEnabledRelationshipReference;
+import org.eclipse.jpt.core.internal.context.orm.GenericOrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.resource.orm.XmlJoinTableMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmJoinTableJoiningStrategy extends
+ GenericOrmJoinTableJoiningStrategy {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmJoinTableJoiningStrategy(
+ OrmJoinTableEnabledRelationshipReference parent,
+ XmlJoinTableMapping resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ public String getJoinTableDefaultName() {
+ return NamingStrategyMappingTools.buildJoinTableDefaultName(getRelationshipReference());
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2010 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,
@@ -8,29 +8,31 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmManyToManyMapping;
import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
-import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateOrmManyToManyMapping<T extends XmlManyToMany> extends
- AbstractOrmManyToManyMapping<T> {
-
+public class HibernateOrmManyToManyMapping extends GenericOrmManyToManyMapping {
+
+ /**
+ * @param parent
+ * @param resourceMapping
+ */
public HibernateOrmManyToManyMapping(OrmPersistentAttribute parent,
- T resourceMapping) {
+ XmlManyToMany resourceMapping) {
super(parent, resourceMapping);
}
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmManyToManyRelationshipReference(this, this.resourceAttributeMapping);
+ }
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
+import org.eclipse.jpt.core.internal.context.orm.GenericOrmManyToManyRelationshipReference;
+import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmManyToManyRelationshipReference extends
+ GenericOrmManyToManyRelationshipReference {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmManyToManyRelationshipReference(
+ OrmManyToManyMapping parent, XmlManyToMany resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -15,7 +15,6 @@
import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToOneMapping;
import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
-import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
/**
* @author Dmitry Geraskov
@@ -28,11 +27,6 @@
T resourceMapping) {
super(parent, resourceMapping);
}
-
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
@Override
protected OrmRelationshipReference buildRelationshipReference() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2010 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,
@@ -8,10 +8,10 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmOneToManyMapping;
import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
@@ -19,17 +19,20 @@
* @author Dmitry Geraskov
*
*/
-public class HibernateOrmOneToManyMapping
- extends GenericOrmOneToManyMapping {
+public class HibernateOrmOneToManyMapping extends GenericOrmOneToManyMapping {
+ /**
+ * @param parent
+ * @param resourceMapping
+ */
public HibernateOrmOneToManyMapping(OrmPersistentAttribute parent,
XmlOneToMany resourceMapping) {
super(parent, resourceMapping);
}
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmOneToManyRelationshipReference(this, this.resourceAttributeMapping);
+ }
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmOneToManyRelationshipReference;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToManyRelationshipReference extends
+ GenericOrmOneToManyRelationshipReference {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmOneToManyRelationshipReference(
+ OrmOneToManyMapping parent, XmlOneToMany resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -15,7 +15,6 @@
import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmOneToOneMapping;
import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
/**
* @author Dmitry Geraskov
@@ -28,11 +27,6 @@
T resourceMapping) {
super(parent, resourceMapping);
}
-
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
@Override
protected OrmRelationshipReference buildRelationshipReference() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm;
import org.eclipse.jpt.core.context.XmlContextNode;
@@ -8,20 +18,30 @@
import org.eclipse.jpt.core.context.orm.OrmJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmJoinTable;
import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmTable;
-import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.internal.context.orm.GenericOrmXmlContextNodeFactory;
import org.eclipse.jpt.core.resource.orm.XmlBasic;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.resource.orm.XmlId;
import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.core.resource.orm.XmlJoinTable;
-import org.eclipse.jpt.core.resource.orm.XmlJoinTableMapping;
+import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-public class HibernateOrmXmlContextNodeFactory extends
- AbstractOrmXmlContextNodeFactory {
-
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXmlContextNodeFactory extends GenericOrmXmlContextNodeFactory {
+
@Override
public OrmBasicMapping buildOrmBasicMapping(OrmPersistentAttribute parent,
XmlBasic resourceMapping) {
@@ -64,4 +84,30 @@
return new HibernateOrmJoinColumnImpl(parent, owner, resourceJoinColumn);
}
+ @Override
+ public OrmManyToOneMapping buildOrmManyToOneMapping(
+ OrmPersistentAttribute parent, XmlManyToOne resourceMapping) {
+ return new HibernateOrmManyToOneMapping<XmlManyToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToOneMapping buildOrmOneToOneMapping(
+ OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
+ return new HibernateOrmOneToOneMapping<XmlOneToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToManyMapping buildOrmOneToManyMapping(
+ OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
+ return new HibernateOrmOneToManyMapping(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmManyToManyMapping buildOrmManyToManyMapping(
+ OrmPersistentAttribute parent, XmlManyToMany resourceMapping) {
+ return new HibernateOrmManyToManyMapping(parent, resourceMapping);
+ }
+
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.orm.NullOrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmTypeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.orm.OrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmBasicMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddableDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEntityDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmMappedSuperclassDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmTransientMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmVersionMappingDefinition;
+import org.eclipse.jpt.core.resource.orm.OrmFactory;
+
+/**
+ *
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXmlDefinition extends AbstractOrmXmlDefinition {
+
+ // singleton
+ private static final OrmXmlDefinition INSTANCE =
+ new HibernateOrmXmlDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static OrmXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateOrmXmlDefinition() {
+ super();
+ }
+
+
+ public EFactory getResourceNodeFactory() {
+ return OrmFactory.eINSTANCE;
+ }
+
+ @Override
+ protected OrmXmlContextNodeFactory buildContextNodeFactory() {
+ return new HibernateOrmXmlContextNodeFactory();
+ }
+
+ public JpaResourceType getResourceType() {
+ return JptCorePlugin.ORM_XML_1_0_RESOURCE_TYPE;
+ }
+
+
+ // ********** ORM type mappings **********
+
+ @Override
+ protected OrmTypeMappingDefinition[] buildOrmTypeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmTypeMappingDefinition[] {
+ OrmEntityDefinition.instance(),
+ OrmEmbeddableDefinition.instance(),
+ OrmMappedSuperclassDefinition.instance()};
+ }
+
+
+ // ********** ORM attribute mappings **********
+
+ @Override
+ protected OrmAttributeMappingDefinition[] buildOrmAttributeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmAttributeMappingDefinition[] {
+ OrmTransientMappingDefinition.instance(),
+ OrmIdMappingDefinition.instance(),
+ OrmVersionMappingDefinition.instance(),
+ OrmBasicMappingDefinition.instance(),
+ OrmEmbeddedMappingDefinition.instance(),
+ OrmEmbeddedIdMappingDefinition.instance(),
+ OrmManyToManyMappingDefinition.instance(),
+ OrmManyToOneMappingDefinition.instance(),
+ OrmOneToManyMappingDefinition.instance(),
+ OrmOneToOneMappingDefinition.instance(),
+ NullOrmAttributeMappingDefinition.instance()};
+ }
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToOneMapping;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmManyToOneMapping2_0<T extends XmlManyToOne>
+extends AbstractOrmManyToOneMapping<T> {
+
+ public HibernateOrmManyToOneMapping2_0(OrmPersistentAttribute parent,
+ T resourceMapping) {
+ super(parent, resourceMapping);
+ }
+
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmManyToOneRelationshipReference2_0(this, this.resourceAttributeMapping);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmManyToOneRelationshipReference2_0;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinColumnJoiningStrategy;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmManyToOneRelationshipReference2_0 extends
+ GenericOrmManyToOneRelationshipReference2_0 {
+
+ public HibernateOrmManyToOneRelationshipReference2_0(
+ OrmManyToOneMapping parent, XmlManyToOne resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateOrmJoinColumnJoiningStrategy(this, getResourceMapping());
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOneToManyMapping2_0;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToManyMapping2_0 extends
+ GenericOrmOneToManyMapping2_0 {
+
+ /**
+ * @param parent
+ * @param resourceMapping
+ */
+ public HibernateOrmOneToManyMapping2_0(OrmPersistentAttribute parent,
+ XmlOneToMany resourceMapping) {
+ super(parent, resourceMapping);
+ }
+
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmOneToManyRelationshipReference2_0(this, this.resourceAttributeMapping);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOneToManyRelationshipReference2_0;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToManyRelationshipReference2_0 extends
+ GenericOrmOneToManyRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmOneToManyRelationshipReference2_0(
+ OrmOneToManyMapping parent, XmlOneToMany resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmOneToOneMapping;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToOneMapping2_0<T extends XmlOneToOne> extends
+AbstractOrmOneToOneMapping<T> {
+
+ public HibernateOrmOneToOneMapping2_0(OrmPersistentAttribute parent,
+ T resourceMapping) {
+ super(parent, resourceMapping);
+ }
+
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmOneToOneRelationshipReference2_0(this, this.resourceAttributeMapping);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOneToOneRelationshipReference2_0;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinColumnJoiningStrategy;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToOneRelationshipReference2_0 extends
+ GenericOrmOneToOneRelationshipReference2_0 {
+
+ public HibernateOrmOneToOneRelationshipReference2_0(OrmOneToOneMapping parent,
+ XmlOneToOne resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateOrmJoinColumnJoiningStrategy(this, getResourceMapping());
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
+import org.eclipse.jpt.core.context.orm.OrmColumn;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.context.orm.OrmIdMapping;
+import org.eclipse.jpt.core.context.orm.OrmJoinColumn;
+import org.eclipse.jpt.core.context.orm.OrmJoinTable;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.context.orm.OrmTable;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmXml2_0ContextNodeFactory;
+import org.eclipse.jpt.core.resource.orm.XmlBasic;
+import org.eclipse.jpt.core.resource.orm.XmlEntity;
+import org.eclipse.jpt.core.resource.orm.XmlId;
+import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
+import org.eclipse.jpt.core.resource.orm.XmlJoinTable;
+import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmBasicMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntityImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMappingImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToManyMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmTableImpl;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXml2_0ContextNodeFactory extends GenericOrmXml2_0ContextNodeFactory {
+
+ @Override
+ public OrmBasicMapping buildOrmBasicMapping(OrmPersistentAttribute parent,
+ XmlBasic resourceMapping) {
+ return new HibernateOrmBasicMapping(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmIdMapping buildOrmIdMapping(OrmPersistentAttribute parent,
+ XmlId resourceMapping) {
+ return new HibernateOrmIdMappingImpl(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmEntity buildOrmEntity(OrmPersistentType parent,
+ XmlEntity resourceMapping) {
+ return new HibernateOrmEntityImpl(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmTable buildOrmTable(OrmEntity parent) {
+ return new HibernateOrmTableImpl(parent);
+ }
+
+ @Override
+ public OrmJoinTable buildOrmJoinTable(OrmJoinTableJoiningStrategy parent,
+ XmlJoinTable resourceJoinTable) {
+ return new HibernateOrmJoinTableImpl(parent, resourceJoinTable);
+ }
+
+ @Override
+ public OrmColumn buildOrmColumn(XmlContextNode parent,
+ org.eclipse.jpt.core.context.orm.OrmColumn.Owner owner) {
+ return new HibernateOrmColumnImpl(parent, owner);
+ }
+
+ @Override
+ public OrmJoinColumn buildOrmJoinColumn(XmlContextNode parent,
+ org.eclipse.jpt.core.context.orm.OrmJoinColumn.Owner owner,
+ XmlJoinColumn resourceJoinColumn) {
+ return new HibernateOrmJoinColumnImpl(parent, owner, resourceJoinColumn);
+ }
+
+ @Override
+ public OrmManyToOneMapping buildOrmManyToOneMapping(
+ OrmPersistentAttribute parent, XmlManyToOne resourceMapping) {
+ return new HibernateOrmManyToOneMapping2_0<XmlManyToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToOneMapping buildOrmOneToOneMapping(
+ OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
+ return new HibernateOrmOneToOneMapping2_0<XmlOneToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToManyMapping buildOrmOneToManyMapping(
+ OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
+ return new HibernateOrmOneToManyMapping2_0(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmManyToManyMapping buildOrmManyToManyMapping(
+ OrmPersistentAttribute parent, XmlManyToMany resourceMapping) {
+ return new HibernateOrmManyToManyMapping(parent, resourceMapping);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.orm.jpa2;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.orm.NullOrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmTypeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.orm.OrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmBasicMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddableDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEntityDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmMappedSuperclassDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmTransientMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmVersionMappingDefinition;
+import org.eclipse.jpt.core.resource.orm.OrmFactory;
+
+/**
+ *
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXml2_0Definition extends AbstractOrmXmlDefinition {
+
+ // singleton
+ private static final OrmXmlDefinition INSTANCE =
+ new HibernateOrmXml2_0Definition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static OrmXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateOrmXml2_0Definition() {
+ super();
+ }
+
+
+ public EFactory getResourceNodeFactory() {
+ return OrmFactory.eINSTANCE;
+ }
+
+ @Override
+ protected OrmXmlContextNodeFactory buildContextNodeFactory() {
+ return new HibernateOrmXml2_0ContextNodeFactory();
+ }
+
+ public JpaResourceType getResourceType() {
+ return JptCorePlugin.ORM_XML_1_0_RESOURCE_TYPE;
+ }
+
+
+ // ********** ORM type mappings **********
+
+ @Override
+ protected OrmTypeMappingDefinition[] buildOrmTypeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmTypeMappingDefinition[] {
+ OrmEntityDefinition.instance(),
+ OrmEmbeddableDefinition.instance(),
+ OrmMappedSuperclassDefinition.instance()};
+ }
+
+
+ // ********** ORM attribute mappings **********
+
+ @Override
+ protected OrmAttributeMappingDefinition[] buildOrmAttributeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmAttributeMappingDefinition[] {
+ OrmTransientMappingDefinition.instance(),
+ OrmIdMappingDefinition.instance(),
+ OrmVersionMappingDefinition.instance(),
+ OrmBasicMappingDefinition.instance(),
+ OrmEmbeddedMappingDefinition.instance(),
+ OrmEmbeddedIdMappingDefinition.instance(),
+ OrmManyToManyMappingDefinition.instance(),
+ OrmManyToOneMappingDefinition.instance(),
+ OrmOneToManyMappingDefinition.instance(),
+ OrmOneToOneMappingDefinition.instance(),
+ NullOrmAttributeMappingDefinition.instance()};
+ }
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.persistence.jpa2;
+
+import org.eclipse.jpt.core.context.persistence.Persistence;
+import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.core.internal.context.persistence.GenericPersistenceXmlContextNodeFactory;
+import org.eclipse.jpt.core.resource.persistence.XmlPersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.basic.HibernatePersistenceUnitProperties;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0PersistenceXmlContextNodeFactory extends
+ GenericPersistenceXmlContextNodeFactory {
+
+ public PersistenceUnit buildPersistenceUnit(Persistence parent, XmlPersistenceUnit xmlPersistenceUnit) {
+ return new HibernatePersistenceUnit(parent, xmlPersistenceUnit);
+ }
+
+ public HibernatePersistenceUnitProperties buildHibernatePersistenceUnitProperties(PersistenceUnit parent) {
+ return new HibernatePersistenceUnitProperties(parent);
+ }
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.context.persistence.jpa2;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.persistence.PersistenceXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.persistence.PersistenceXmlDefinition;
+import org.eclipse.jpt.core.internal.context.persistence.AbstractPersistenceXmlDefinition;
+import org.eclipse.jpt.core.resource.persistence.PersistenceFactory;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0PersistenceXmlDefinition extends
+ AbstractPersistenceXmlDefinition {
+
+ // singleton
+ private static final PersistenceXmlDefinition INSTANCE =
+ new Hibernate2_0PersistenceXmlDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static PersistenceXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private Hibernate2_0PersistenceXmlDefinition() {
+ super();
+ }
+
+
+ public EFactory getResourceNodeFactory() {
+ return PersistenceFactory.eINSTANCE;
+ }
+
+ @Override
+ protected PersistenceXmlContextNodeFactory buildContextNodeFactory() {
+ return new Hibernate2_0PersistenceXmlContextNodeFactory();
+ }
+
+ public JpaResourceType getResourceType() {
+ return JptCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE;
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2009 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.jpa2;
+
+import java.util.List;
+
+import org.eclipse.jpt.core.JpaAnnotationDefinitionProvider;
+import org.eclipse.jpt.core.internal.AbstractJpaAnnotationDefintionProvider;
+import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.DiscriminatorFormulaAnnotationImpl.DiscriminatorFormulaAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ForeignKeyAnnotationImpl.ForeignKeyAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GeneratedAnnotationImpl.GeneratedAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotationImpl.GenericGeneratorAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueriesAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueryAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueriesAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueryAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotationImpl.IndexAnnotationDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.SourceGenericGeneratorsAnnotation.GenericGeneratorsAnnotationDefinition;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0AnnotationDefinitionProvider extends AbstractJpaAnnotationDefintionProvider
+{
+ // singleton
+ private static final JpaAnnotationDefinitionProvider INSTANCE = new HibernateJpa2_0AnnotationDefinitionProvider();
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaAnnotationDefinitionProvider instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Ensure single instance.
+ */
+ private HibernateJpa2_0AnnotationDefinitionProvider() {
+ super();
+ }
+
+ @Override
+ protected void addTypeAnnotationDefinitionsTo(List<AnnotationDefinition> definitions) {
+ definitions.add(GenericGeneratorAnnotationDefinition.instance());
+ definitions.add(GenericGeneratorsAnnotationDefinition.instance());
+ definitions.add(HibernateNamedQueryAnnotationDefinition.instance());
+ definitions.add(HibernateNamedQueriesAnnotationDefinition.instance());
+ definitions.add(HibernateNamedNativeQueryAnnotationDefinition.instance());
+ definitions.add(HibernateNamedNativeQueriesAnnotationDefinition.instance());
+ definitions.add(DiscriminatorFormulaAnnotationDefinition.instance());
+ definitions.add(ForeignKeyAnnotationDefinition.instance());
+ }
+
+ @Override
+ protected void addAttributeAnnotationDefinitionsTo(List<AnnotationDefinition> definitions) {
+ definitions.add(GenericGeneratorAnnotationDefinition.instance());
+ definitions.add(GeneratedAnnotationDefinition.instance());
+ definitions.add(IndexAnnotationDefinition.instance());
+ definitions.add(ForeignKeyAnnotationDefinition.instance());
+ }
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2009 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.jpa2;
+
+import org.eclipse.jpt.core.JpaAnnotationProvider;
+import org.eclipse.jpt.core.JpaFactory;
+import org.eclipse.jpt.core.JpaPlatform;
+import org.eclipse.jpt.core.JpaPlatformFactory;
+import org.eclipse.jpt.core.JpaPlatformVariation;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.internal.GenericJpaAnnotationProvider;
+import org.eclipse.jpt.core.internal.GenericJpaPlatformFactory.SimpleVersion;
+import org.eclipse.jpt.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaPlatform;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformFactory implements JpaPlatformFactory {
+
+ /**
+ * zero-argument constructor
+ */
+ public HibernateJpa2_0PlatformFactory() {
+ super();
+ }
+
+ public JpaPlatform buildJpaPlatform(String id) {
+ return new HibernateJpaPlatform(
+ id,
+ this.buildJpaVersion(),
+ this.buildJpaFactory(),
+ this.buildJpaAnnotationProvider(),
+ HibernateJpa2_0PlatformProvider.instance(),
+ this.buildJpaPlatformVariation());
+ }
+
+
+
+ private JpaPlatform.Version buildJpaVersion() {
+ return new SimpleVersion(JptCorePlugin.JPA_FACET_VERSION_2_0);
+ }
+
+ protected JpaFactory buildJpaFactory() {
+ return new HibernateJpaFactory2_0();
+ }
+
+ protected JpaAnnotationProvider buildJpaAnnotationProvider() {
+ return new GenericJpaAnnotationProvider(
+ Generic2_0JpaAnnotationDefinitionProvider.instance(),
+ HibernateJpa2_0AnnotationDefinitionProvider.instance());
+ }
+
+ protected JpaPlatformVariation buildJpaPlatformVariation() {
+ return new JpaPlatformVariation() {
+ //table_per_class inheritance support is optional in the 2.0 spec
+ public Supported getTablePerConcreteClassInheritanceIsSupported() {
+ return Supported.MAYBE;
+ }
+ public boolean isJoinTableOverridable() {
+ return true;
+ }
+ };
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,151 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2008 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.jpa2;
+
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jpt.core.JpaPlatformProvider;
+import org.eclipse.jpt.core.JpaResourceModelProvider;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.ResourceDefinition;
+import org.eclipse.jpt.core.context.java.JavaAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.java.JavaTypeMappingDefinition;
+import org.eclipse.jpt.core.internal.AbstractJpaPlatformProvider;
+import org.eclipse.jpt.core.internal.JarResourceModelProvider;
+import org.eclipse.jpt.core.internal.JavaResourceModelProvider;
+import org.eclipse.jpt.core.internal.OrmResourceModelProvider;
+import org.eclipse.jpt.core.internal.PersistenceResourceModelProvider;
+import org.eclipse.jpt.core.internal.context.java.JavaBasicMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEmbeddableDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEmbeddedIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEmbeddedMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEntityDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaManyToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaManyToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaMappedSuperclassDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaOneToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaOneToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaTransientMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaVersionMappingDefinition;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2.HibernateOrmXml2_0Definition;
+import org.jboss.tools.hibernate.jpt.core.internal.context.persistence.jpa2.Hibernate2_0PersistenceXmlDefinition;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformProvider extends AbstractJpaPlatformProvider {
+
+public static final String ID = "hibernate2_0"; //$NON-NLS-1$
+
+ // singleton
+ private static final JpaPlatformProvider INSTANCE =
+ new HibernateJpa2_0PlatformProvider();
+
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaPlatformProvider instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateJpa2_0PlatformProvider() {
+ super();
+ }
+
+
+ // ********** resource models **********
+
+ public JpaResourceType getMostRecentSupportedResourceType(IContentType contentType) {
+ if (contentType.equals(JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) {
+ return JptCorePlugin.JAVA_SOURCE_RESOURCE_TYPE;
+ }
+ else if (contentType.equals(JptCorePlugin.JAR_CONTENT_TYPE)) {
+ return JptCorePlugin.JAR_RESOURCE_TYPE;
+ }
+ else if (contentType.equals(JptCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) {
+ return JptCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE;
+ }
+ else if (contentType.equals(JptCorePlugin.ORM_XML_CONTENT_TYPE)) {
+ return JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE;
+ }
+ else {
+ throw new IllegalArgumentException(contentType.toString());
+ }
+ }
+
+ @Override
+ protected JpaResourceModelProvider[] buildResourceModelProviders() {
+ // order should not be important here
+ return new JpaResourceModelProvider[] {
+ JavaResourceModelProvider.instance(),
+ JarResourceModelProvider.instance(),
+ PersistenceResourceModelProvider.instance(),
+ OrmResourceModelProvider.instance()};
+ }
+
+
+ // ********** Java type mappings **********
+
+ @Override
+ protected JavaTypeMappingDefinition[] buildNonNullJavaTypeMappingDefinitions() {
+ // order determined by analyzing order that reference implementation (toplink) uses
+ return new JavaTypeMappingDefinition[] {
+ JavaEntityDefinition.instance(),
+ JavaEmbeddableDefinition.instance(),
+ JavaMappedSuperclassDefinition.instance()};
+ }
+
+
+ // ********** Java attribute mappings **********
+
+ @Override
+ protected JavaAttributeMappingDefinition[] buildNonNullDefaultJavaAttributeMappingDefinitions() {
+ // order determined by analyzing order that reference implementation (toplink) uses
+ return new JavaAttributeMappingDefinition[] {
+ JavaEmbeddedMappingDefinition.instance(),
+ JavaBasicMappingDefinition.instance()};
+ }
+
+ @Override
+ protected JavaAttributeMappingDefinition[] buildNonNullSpecifiedJavaAttributeMappingDefinitions() {
+ // order determined by analyzing order that reference implementation (eclipselink) uses
+ return new JavaAttributeMappingDefinition[] {
+ JavaTransientMappingDefinition.instance(),
+ JavaIdMappingDefinition.instance(),
+ JavaVersionMappingDefinition.instance(),
+ JavaBasicMappingDefinition.instance(),
+ JavaEmbeddedMappingDefinition.instance(),
+ JavaEmbeddedIdMappingDefinition.instance(),
+ JavaManyToManyMappingDefinition.instance(),
+ JavaManyToOneMappingDefinition.instance(),
+ JavaOneToManyMappingDefinition.instance(),
+ JavaOneToOneMappingDefinition.instance()};
+ }
+
+
+ // ********** Mapping Files **********
+
+ @Override
+ protected ResourceDefinition[] buildResourceDefinitions() {
+ return new ResourceDefinition[] {
+ Hibernate2_0PersistenceXmlDefinition.instance(),
+ HibernateOrmXml2_0Definition.instance()};
+ }
+
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,177 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 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.jpa2;
+
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.JoiningStrategy;
+import org.eclipse.jpt.core.context.PersistentType;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverride;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverrideContainer;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverrideRelationshipReference;
+import org.eclipse.jpt.core.context.java.JavaEmbeddable;
+import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
+import org.eclipse.jpt.core.context.java.JavaNamedColumn;
+import org.eclipse.jpt.core.context.java.JavaNamedQuery;
+import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
+import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.core.context.java.JavaSequenceGenerator;
+import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaAssociationOverrideContainer;
+import org.eclipse.jpt.core.internal.jpa2.GenericMetamodelSynchronizer;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaAssociationOverrideRelationshipReference2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaCacheable2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaCollectionTable2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaDerivedIdentity2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaElementCollectionMapping2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaEmbeddable2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaNamedQuery2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOrderColumn2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOrphanRemoval2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentAttribute2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentType2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaSequenceGenerator2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.VirtualAssociationOverride2_0Annotation;
+import org.eclipse.jpt.core.jpa2.JpaProject2_0;
+import org.eclipse.jpt.core.jpa2.context.MetamodelSourceType;
+import org.eclipse.jpt.core.jpa2.context.java.JavaCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaCacheableHolder2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaCollectionTable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaDerivedIdentity2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrderable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaSingleRelationshipMapping2_0;
+import org.eclipse.jpt.core.resource.java.AssociationOverrideAnnotation;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2.HibernateJavaManyToOneMapping2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2.HibernateJavaOneToManyMapping2_0;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2.HibernateJavaOneToOneMapping2_0;
+
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpaFactory2_0 extends HibernateAbstractJpaFactory {
+
+ // ********** Core Model **********
+ public JpaProject buildJpaProject(JpaProject.Config config){
+ if ( ! (config instanceof JpaProject2_0.Config)) {
+ throw new IllegalArgumentException("config must be 2.0-compatible: " + config); //$NON-NLS-1$
+ }
+ return super.buildJpaProject(config);
+ }
+
+ // ********** Hibernate Specific **********
+ @Override
+ public JavaManyToOneMapping buildJavaManyToOneMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaManyToOneMapping2_0(parent);
+ }
+
+ @Override
+ public JavaOneToOneMapping buildJavaOneToOneMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaOneToOneMapping2_0(parent);
+ }
+
+ @Override
+ public JavaOneToManyMapping buildJavaOneToManyMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaOneToManyMapping2_0(parent);
+ }
+
+ // ********** From GenericJpa2_0 Model **********
+ @Override
+ public MetamodelSourceType.Synchronizer buildMetamodelSynchronizer(MetamodelSourceType sourceType) {
+ return new GenericMetamodelSynchronizer(sourceType);
+ }
+
+ @Override
+ public JavaPersistentType buildJavaPersistentType(PersistentType.Owner owner, JavaResourcePersistentType jrpt) {
+ return new GenericJavaPersistentType2_0(owner, jrpt);
+ }
+
+ @Override
+ public JavaPersistentAttribute buildJavaPersistentAttribute(PersistentType parent, JavaResourcePersistentAttribute jrpa) {
+ return new GenericJavaPersistentAttribute2_0(parent, jrpa);
+ }
+
+ @Override
+ public JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent) {
+ return new GenericJavaEmbeddable2_0(parent);
+ }
+
+ @Override
+ public JavaSequenceGenerator buildJavaSequenceGenerator(JavaJpaContextNode parent) {
+ return new GenericJavaSequenceGenerator2_0(parent);
+ }
+
+ //The 2.0 JPA spec supports association overrides on an embedded mapping while the 1.0 spec did not
+ @Override
+ public JavaAssociationOverrideContainer buildJavaAssociationOverrideContainer(JavaEmbeddedMapping2_0 parent, JavaAssociationOverrideContainer.Owner owner) {
+ return new GenericJavaAssociationOverrideContainer(parent, owner);
+ }
+
+ @Override
+ public JavaAssociationOverrideRelationshipReference buildJavaAssociationOverrideRelationshipReference(JavaAssociationOverride parent) {
+ return new GenericJavaAssociationOverrideRelationshipReference2_0(parent);
+ }
+
+ @Override
+ public AssociationOverrideAnnotation buildJavaVirtualAssociationOverrideAnnotation(JavaResourcePersistentMember jrpm, String name, JoiningStrategy joiningStrategy) {
+ return new VirtualAssociationOverride2_0Annotation(jrpm, name, joiningStrategy);
+ }
+
+ @Override
+ public JavaDerivedIdentity2_0 buildJavaDerivedIdentity(JavaSingleRelationshipMapping2_0 parent) {
+ return new GenericJavaDerivedIdentity2_0(parent);
+ }
+
+ @Override
+ public JavaElementCollectionMapping2_0 buildJavaElementCollectionMapping2_0(JavaPersistentAttribute parent) {
+ return new GenericJavaElementCollectionMapping2_0(parent);
+ }
+
+ @Override
+ public JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent) {
+ return new GenericJavaCacheable2_0(parent);
+ }
+
+ @Override
+ public JavaOrphanRemovable2_0 buildJavaOrphanRemoval(JavaOrphanRemovalHolder2_0 parent) {
+ return new GenericJavaOrphanRemoval2_0(parent);
+ }
+
+ @Override
+ public JavaNamedQuery buildJavaNamedQuery(JavaJpaContextNode parent) {
+ return new GenericJavaNamedQuery2_0(parent);
+ }
+
+ @Override
+ public JavaCollectionTable2_0 buildJavaCollectionTable(JavaElementCollectionMapping2_0 parent) {
+ return new GenericJavaCollectionTable2_0(parent);
+ }
+
+ @Override
+ public JavaOrderColumn2_0 buildJavaOrderColumn(JavaOrderable2_0 parent, JavaNamedColumn.Owner owner) {
+ return new GenericJavaOrderColumn2_0(parent, owner);
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml 2010-06-23 11:53:25 UTC (rev 22942)
@@ -10,4 +10,13 @@
id="hibernate">
</jpaPlatformUi>
</extension>
+ <extension
+ id="org.jboss.tools.hibernate2_0.jpt"
+ point="org.eclipse.jpt.ui.jpaPlatformUis">
+ <jpaPlatformUi
+ factoryClass="org.jboss.tools.hibernate.jpt.ui.internal.platform.HibernateJpaPlatformUiFactory"
+ jpaPlatform="hibernate2_0"
+ id="hibernate2_0">
+ </jpaPlatformUi>
+ </extension>
</plugin>
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal;
+
+import java.util.List;
+
+import org.eclipse.jpt.ui.JpaPlatformUi;
+import org.eclipse.jpt.ui.JpaPlatformUiProvider;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.JpaDetailsProvider;
+import org.eclipse.jpt.ui.internal.AbstractJpaPlatformUiProvider;
+import org.eclipse.jpt.ui.internal.details.java.JavaPersistentAttributeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.java.JavaPersistentTypeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.EntityMappingsDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.EntityMappings2_0DetailsProvider;
+import org.eclipse.jpt.ui.internal.platform.generic.GenericNavigatorProvider;
+import org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm.Hibernate2_0OrmXmlUiDefinition;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.Hibernate2_0JavaResourceUiDefinition;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm.HibernateOrmXmlUiDefinition;
+import org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePersistenceXmlUiDefinition;
+import org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2.HibernatePersistenceXml2_0UiDefinition;
+import org.jboss.tools.hibernate.jpt.ui.internal.platform.HibernateJpaPlatformUi;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformUiProvider extends
+ AbstractJpaPlatformUiProvider {
+
+ // singleton
+ private static final JpaPlatformUiProvider INSTANCE = new HibernateJpa2_0PlatformUiProvider();
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaPlatformUiProvider instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Ensure single instance.
+ */
+ private HibernateJpa2_0PlatformUiProvider() {
+ super();
+ }
+
+ public JpaPlatformUi buildJpaPlatformUi() {
+ return new HibernateJpaPlatformUi(new GenericNavigatorProvider(),
+ HibernateJpa2_0PlatformUiProvider.instance());
+ }
+
+ // ********** details providers **********
+
+ @Override
+ protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
+ providers.add(JavaPersistentTypeDetailsProvider.instance());
+ providers.add(JavaPersistentAttributeDetailsProvider.instance());
+ providers.add(EntityMappingsDetailsProvider.instance());
+ providers.add(OrmPersistentTypeDetailsProvider.instance());
+ providers.add(OrmPersistentAttributeDetailsProvider.instance());
+ providers.add(EntityMappings2_0DetailsProvider.instance());
+ }
+
+ // ********** resource ui definitions **********
+
+ @Override
+ protected void addResourceUiDefinitionsTo(
+ List<ResourceUiDefinition> definitions) {
+ definitions.add(Hibernate2_0JavaResourceUiDefinition.instance());
+ definitions.add(HibernateOrmXmlUiDefinition.instance());
+ definitions.add(Hibernate2_0OrmXmlUiDefinition.instance());
+ definitions.add(HibernatePersistenceXmlUiDefinition.instance());
+ definitions.add(HibernatePersistenceXml2_0UiDefinition.instance());
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -33,7 +33,7 @@
*
*/
public class HibernateJpaPlatformUiProvider extends
-AbstractJpaPlatformUiProvider {
+ AbstractJpaPlatformUiProvider {
// singleton
private static final JpaPlatformUiProvider INSTANCE = new HibernateJpaPlatformUiProvider();
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java (from rev 22779, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,279 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details;
+
+import java.util.Collection;
+
+import org.eclipse.jpt.db.Schema;
+import org.eclipse.jpt.db.SchemaContainer;
+import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.ui.internal.details.db.CatalogCombo;
+import org.eclipse.jpt.ui.internal.details.db.SchemaCombo;
+import org.eclipse.jpt.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.ui.internal.widgets.Pane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
+import org.jboss.tools.hibernate.jpt.ui.internal.mappings.db.xpl.TableCombo;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | |
+ * | - Table ----------------------------------------------------------------- |
+ * | | ------------------------------------------------------------ | |
+ * | | Table: | TableCombo | | |
+ * | | ------------------------------------------------------------ | |
+ * | | ------------------------------------------------------------ | |
+ * | | Catalog: | CatalogCombo | | |
+ * | | ------------------------------------------------------------ | |
+ * | | ------------------------------------------------------------ | |
+ * | | Schema: | SchemaCombo | | |
+ * | | ------------------------------------------------------------ | |
+ * | ------------------------------------------------------------------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see Table
+ * @see EntityComposite - The parent container
+ * @see TableCombo
+ * @see CatalogCombo
+ * @see SchemaCombo
+ *
+ * @TODO repopulate this panel based on the Entity table changing
+ *
+ * @version 2.0
+ * @since 1.0
+ */
+public class HibernateTableComposite extends Pane<HibernateEntity>
+{
+ /**
+ * Creates a new <code>HibernateTableComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param subjectHolder The holder of the subject
+ * @param parent The parent container
+ */
+ public HibernateTableComposite(Pane<? extends HibernateEntity> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent, false);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // Table group pane
+ Group tableGroupPane = addTitledGroup(
+ container,
+ JptUiDetailsMessages.TableComposite_tableSection
+ );
+
+ PropertyValueModel<HibernateTable> subjectHolder = buildTableHolder();
+
+ // Table widgets
+ addLabeledComposite(
+ tableGroupPane,
+ JptUiDetailsMessages.TableChooser_label,
+ addTableCombo(subjectHolder, tableGroupPane),
+ JpaHelpContextIds.ENTITY_TABLE
+ );
+
+ // Catalog widgets
+ addLabeledComposite(
+ tableGroupPane,
+ JptUiDetailsMessages.CatalogChooser_label,
+ addCatalogCombo(subjectHolder, tableGroupPane),
+ JpaHelpContextIds.ENTITY_CATALOG
+ );
+
+ // Schema widgets
+ addLabeledComposite(
+ tableGroupPane,
+ JptUiDetailsMessages.SchemaChooser_label,
+ addSchemaCombo(subjectHolder, tableGroupPane),
+ JpaHelpContextIds.ENTITY_SCHEMA
+ );
+
+ new PaneEnabler(buildTableEnabledHolder(), this);
+ }
+
+ protected WritablePropertyValueModel<HibernateTable> buildTableHolder() {
+
+ return new PropertyAspectAdapter<HibernateEntity, HibernateTable>(getSubjectHolder(), HibernateEntity.TABLE_IS_UNDEFINED_PROPERTY) {
+ @Override
+ protected HibernateTable buildValue_() {
+ return this.subject.tableIsUndefined() ? null : this.subject.getTable();
+ }
+ };
+ }
+
+ protected WritablePropertyValueModel<Boolean> buildTableEnabledHolder() {
+ return new PropertyAspectAdapter<HibernateEntity, Boolean>(getSubjectHolder(), HibernateEntity.SPECIFIED_TABLE_IS_ALLOWED_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.specifiedTableIsAllowed());
+ }
+ };
+ }
+
+ private CatalogCombo<HibernateTable> addCatalogCombo(PropertyValueModel<HibernateTable> tableHolder, Composite container) {
+
+ return new CatalogCombo<HibernateTable>(this, tableHolder, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return getSubject().getDefaultCatalog();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ getSubject().setSpecifiedCatalog(value);
+ }
+
+ @Override
+ protected String getValue() {
+ return getSubject().getSpecifiedCatalog();
+ }
+ };
+ }
+
+ private SchemaCombo<HibernateTable> addSchemaCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite container) {
+
+ return new SchemaCombo<HibernateTable>(this, subjectHolder, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return getSubject().getDefaultSchema();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ getSubject().setSpecifiedSchema(value);
+ }
+
+ @Override
+ protected String getValue() {
+ return getSubject().getSpecifiedSchema();
+ }
+
+ @Override
+ protected SchemaContainer getDbSchemaContainer_() {
+ return this.getSubject().getDbSchemaContainer();
+ }
+ };
+ }
+
+ private TableCombo<HibernateTable> addTableCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite container) {
+
+ return new TableCombo<HibernateTable>(this, subjectHolder, container) {
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+ comboBox.addFocusListener(new FocusListener() {
+
+ public void focusGained(FocusEvent e) {
+ if (comboBox.getSelectionIndex() != 0){
+ setPopulating(true);
+ comboBox.setText(getSubject().getName());
+ setPopulating(false);
+ }
+ }
+
+ public void focusLost(FocusEvent e) {
+ if (comboBox.getSelectionIndex() != 0){
+ setPopulating(true);
+ comboBox.setText(getValue());
+ setPopulating(false);
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(HibernateTable.DEFAULT_NAME_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_NAME_PROPERTY);
+ propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
+ propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
+ }
+
+ @Override
+ protected void propertyChanged(String propertyName) {
+ super.propertyChanged(propertyName);
+ if (propertyName == HibernateTable.DEFAULT_SCHEMA_PROPERTY
+ || propertyName == HibernateTable.SPECIFIED_SCHEMA_PROPERTY
+ || propertyName == HibernateTable.DEFAULT_CATALOG_PROPERTY
+ || propertyName == HibernateTable.SPECIFIED_CATALOG_PROPERTY ) {
+ repopulate();
+ }
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return this.getSubject().getDefaultDBTableName();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ this.getSubject().setSpecifiedName(value);
+ }
+
+ @Override
+ public String getValue() {
+ String specifiedName = this.getSubject().getSpecifiedName();
+ if (specifiedName == null){
+ return null;
+ }
+ String dbTableName = this.getSubject().getDBTableName();
+ if (specifiedName.equals(dbTableName)){
+ return specifiedName;
+ } else {
+ return specifiedName + " (" + dbTableName +")"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ @Override
+ protected Schema getDbSchema_() {
+ return this.getSubject().getDbSchema();
+ }
+
+ };
+ }
+
+}
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java (from rev 22779, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/orm/details/HibernateOrmEntityComposite.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.ui.internal.details.orm;
+
+import org.eclipse.jpt.core.context.AccessHolder;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite;
+import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.ui.internal.details.EntityNameComposite;
+import org.eclipse.jpt.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmInheritanceComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmJavaClassChooser;
+import org.eclipse.jpt.ui.internal.details.orm.OrmSecondaryTablesComposite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmEntityComposite extends AbstractEntityComposite<HibernateOrmEntity> {
+
+ /**
+ * @param subjectHolder
+ * @param parent
+ * @param widgetFactory
+ */
+ public HibernateOrmEntityComposite(PropertyValueModel<? extends HibernateOrmEntity> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeEntitySection(Composite container) {
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, false);
+ new HibernateTableComposite(this, container);
+ new EntityNameComposite(this, container);
+ new AccessTypeComposite(this, buildAccessHolder(), container);
+ new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolder() {
+ return new PropertyAspectAdapter<OrmEntity, AccessHolder>(
+ getSubjectHolder())
+ {
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentType();
+ }
+ };
+ }
+ @Override
+ protected void initializeSecondaryTablesSection(Composite container) {
+ new OrmSecondaryTablesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeInheritanceSection(Composite container) {
+ new OrmInheritanceComposite(this, container);
+ }
+}
\ No newline at end of file
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details.orm;
+
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateColumn;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateColumnComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmIdMappingComposite extends AbstractIdMappingComposite<HibernateOrmIdMapping>
+implements JpaComposite{
+ /**
+ * Creates a new <code>HibernateIdMappingComposite</code>.
+ *
+ * @param subjectHolder The holder of the subject <code>IdMapping</code>
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public HibernateOrmIdMappingComposite(PropertyValueModel<? extends HibernateOrmIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void initializeIdSection(Composite container) {
+ new HibernateColumnComposite(this, (PropertyValueModel<? extends HibernateColumn>) buildColumnHolder(), container);
+ new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.ui.internal.java.details;
-import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.GeneratorContainer;
import org.eclipse.jpt.core.context.QueryContainer;
import org.eclipse.jpt.ui.WidgetFactory;
@@ -23,12 +22,11 @@
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateIdMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
-import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite2;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateQueriesComposite;
-import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateTableComposite;
/**
* @author Dmitry Geraskov
@@ -47,11 +45,13 @@
}
+ @SuppressWarnings("unchecked")
@Override
protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
new HibernateQueriesComposite(this, (PropertyValueModel<? extends HibernateJavaQueryContainer>) queryContainerHolder, container);
}
+ @SuppressWarnings("unused")
private PropertyValueModel<HibernateGeneratorContainer> buildGeneratorContainer() {
return new PropertyAspectAdapter<HibernateJavaEntity, HibernateGeneratorContainer>(getSubjectHolder()) {
@Override
@@ -61,9 +61,10 @@
};
}
+ @SuppressWarnings("unchecked")
@Override
protected void initializeGeneratorsSection(Composite container, PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
- new HibernateGenerationComposite2(this, (PropertyValueModel<? extends HibernateGeneratorContainer>) generatorContainerHolder, addSubPane(container, 10), true);
+ new HibernateGenerationComposite(this, (PropertyValueModel<? extends HibernateGeneratorContainer>) generatorContainerHolder, addSubPane(container, 10), true);
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm;
+
+import org.eclipse.jpt.core.context.AccessHolder;
+import org.eclipse.jpt.core.context.GeneratorContainer;
+import org.eclipse.jpt.core.context.QueryContainer;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.jpa2.context.Cacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite;
+import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.ui.internal.details.EntityNameComposite;
+import org.eclipse.jpt.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmInheritanceComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmJavaClassChooser;
+import org.eclipse.jpt.ui.internal.details.orm.OrmSecondaryTablesComposite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Cacheable2_0Pane;
+import org.eclipse.jpt.ui.internal.jpa2.details.Entity2_0OverridesComposite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Generation2_0Composite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Queries2_0Composite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmEntityComposite extends AbstractEntityComposite<HibernateOrmEntity> {
+
+ /**
+ * @param subjectHolder
+ * @param parent
+ * @param widgetFactory
+ */
+ public Hibernate2_0OrmEntityComposite(PropertyValueModel<? extends HibernateOrmEntity> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeEntitySection(Composite container) {
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, false);
+ new HibernateTableComposite(this, container);
+ new EntityNameComposite(this, container);
+ new AccessTypeComposite(this, buildAccessHolder(), container);
+ new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ new Cacheable2_0Pane(this, buildCacheableHolder(), container);
+ new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ }
+
+ protected PropertyValueModel<Cacheable2_0> buildCacheableHolder() {
+ return new PropertyAspectAdapter<OrmEntity, Cacheable2_0>(getSubjectHolder()) {
+ @Override
+ protected Cacheable2_0 buildValue_() {
+ return ((CacheableHolder2_0) this.subject).getCacheable();
+ }
+ };
+ }
+
+ @Override
+ protected void initializeAttributeOverridesSection(Composite container) {
+ new Entity2_0OverridesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeGeneratorsSection(Composite container, PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
+ new Generation2_0Composite(this, generatorContainerHolder, container);
+ }
+
+ @Override
+ protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
+ new Queries2_0Composite(this, queryContainerHolder, container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolder() {
+ return new PropertyAspectAdapter<OrmEntity, AccessHolder>(
+ getSubjectHolder())
+ {
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentType();
+ }
+ };
+ }
+ @Override
+ protected void initializeSecondaryTablesSection(Composite container) {
+ new OrmSecondaryTablesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeInheritanceSection(Composite container) {
+ new OrmInheritanceComposite(this, container);
+ }
+}
\ No newline at end of file
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm;
+
+import org.eclipse.jpt.core.context.AccessHolder;
+import org.eclipse.jpt.core.context.orm.OrmIdMapping;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite;
+import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.ui.internal.jpa2.details.IdMapping2_0MappedByRelationshipPane;
+import org.eclipse.jpt.ui.internal.jpa2.details.IdMappingGeneration2_0Composite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateColumn;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateColumnComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmIdMappingComposite extends AbstractIdMappingComposite<HibernateOrmIdMapping>
+implements JpaComposite{
+ /**
+ * Creates a new <code>HibernateIdMappingComposite</code>.
+ *
+ * @param subjectHolder The holder of the subject <code>IdMapping</code>
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public Hibernate2_0OrmIdMappingComposite(PropertyValueModel<? extends HibernateOrmIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ protected void initializeIdSection(Composite container) {
+ new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
+ new HibernateColumnComposite(this, (PropertyValueModel<? extends HibernateColumn>) buildColumnHolder(), container);
+ new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ }
+
+ @Override
+ protected void initializeGenerationCollapsibleSection(Composite container) {
+ new IdMappingGeneration2_0Composite(this, container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
+ return new PropertyAspectAdapter<OrmIdMapping, AccessHolder>(getSubjectHolder()) {
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentAttribute();
+ }
+ };
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm;
+
+import java.util.List;
+
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmTypeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmXmlUiFactory;
+import org.eclipse.jpt.ui.internal.details.orm.AbstractOrmXmlResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddableUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEntityUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmManyToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmManyToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappedSuperclassUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmOneToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmOneToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmTransientMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmVersionMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmElementCollectionMapping2_0UiDefinition;
+import org.eclipse.jpt.ui.internal.structure.OrmResourceModelStructureProvider;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmXmlUiDefinition extends AbstractOrmXmlResourceUiDefinition {
+
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new Hibernate2_0OrmXmlUiDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private Hibernate2_0OrmXmlUiDefinition() {
+ super();
+ }
+
+
+ @Override
+ protected OrmXmlUiFactory buildOrmXmlUiFactory() {
+ return new Hibernate2_0OrmXmlUiFactory();
+ }
+
+ public boolean providesUi(JpaResourceType resourceType) {
+ return resourceType.equals(JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE);
+ }
+
+ public JpaStructureProvider getStructureProvider() {
+ return OrmResourceModelStructureProvider.instance();
+ }
+
+ @Override
+ protected void addOrmAttributeMappingUiDefinitionsTo(List<OrmAttributeMappingUiDefinition<? extends AttributeMapping>> definitions) {
+ definitions.add(OrmIdMappingUiDefinition.instance());
+ definitions.add(OrmEmbeddedIdMappingUiDefinition.instance());
+ definitions.add(OrmBasicMappingUiDefinition.instance());
+ definitions.add(OrmVersionMappingUiDefinition.instance());
+ definitions.add(OrmManyToOneMappingUiDefinition.instance());
+ definitions.add(OrmOneToManyMappingUiDefinition.instance());
+ definitions.add(OrmOneToOneMappingUiDefinition.instance());
+ definitions.add(OrmManyToManyMappingUiDefinition.instance());
+ definitions.add(OrmEmbeddedMappingUiDefinition.instance());
+ definitions.add(OrmTransientMappingUiDefinition.instance());
+
+ definitions.add(OrmElementCollectionMapping2_0UiDefinition.instance());
+ }
+
+ @Override
+ protected void addOrmTypeMappingUiDefinitionsTo(List<OrmTypeMappingUiDefinition<? extends TypeMapping>> definitions) {
+ definitions.add(OrmEntityUiDefinition.instance());
+ definitions.add(OrmMappedSuperclassUiDefinition.instance());
+ definitions.add(OrmEmbeddableUiDefinition.instance());
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.context.orm.OrmIdMapping;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.jpa2.GenericOrmXml2_0UiFactory;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmEntityComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmIdMappingComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmXmlUiFactory extends GenericOrmXml2_0UiFactory {
+
+ @Override
+ public JpaComposite createOrmBasicMappingComposite(
+ PropertyValueModel<OrmBasicMapping> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ return new HibernateBasicMappingComposite(subjectHolder, parent,
+ widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmIdMappingComposite(
+ PropertyValueModel<OrmIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new Hibernate2_0OrmIdMappingComposite((PropertyValueModel<? extends HibernateOrmIdMapping>) subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmEntityComposite(
+ PropertyValueModel<OrmEntity> subjectHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return new Hibernate2_0OrmEntityComposite((PropertyValueModel<? extends HibernateOrmEntity>) subjectHolder, parent, widgetFactory);
+ }
+
+
+}
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java (from rev 22779, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
+
+import org.eclipse.jpt.core.context.GeneratorContainer;
+import org.eclipse.jpt.ui.internal.details.GenerationComposite;
+import org.eclipse.jpt.ui.internal.details.GeneratorComposite.GeneratorBuilder;
+import org.eclipse.jpt.ui.internal.widgets.Pane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateGenerationComposite extends GenerationComposite {
+
+ private WritablePropertyValueModel<Boolean> genericGeneratorExpansionStateHolder;
+ private WritablePropertyValueModel<GenericGenerator> generatorHolder;
+ private boolean allowMany;
+
+ public HibernateGenerationComposite(Pane<?> parentPane,
+ PropertyValueModel<? extends HibernateGeneratorContainer> subjectHolder,
+ Composite parent, boolean allowMany) {
+ super(parentPane, subjectHolder, parent);
+ this.allowMany = allowMany;
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.genericGeneratorExpansionStateHolder = new SimplePropertyValueModel<Boolean>(Boolean.FALSE);
+ this.generatorHolder = buildGeneratorHolder();
+ }
+
+ private WritablePropertyValueModel<GenericGenerator> buildGeneratorHolder() {
+ return new SimplePropertyValueModel<GenericGenerator>();
+ }
+
+ @Override
+ public HibernateJavaGeneratorContainer getSubject() {
+ return (HibernateJavaGeneratorContainer) super.getSubject();
+ }
+
+ @Override
+ protected void doPopulate() {
+ super.doPopulate();
+ this.genericGeneratorExpansionStateHolder .setValue(Boolean.valueOf(getSubject() != null
+ && getSubject().genericGeneratorsSize() > 0));
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+ this.initializeGenericGeneratorPane(container);
+ }
+
+ private void initializeGenericGeneratorPane(Composite container) {
+
+ // Generic Generator sub-section
+ container = this.addCollapsibleSubSection(
+ this.addSubPane(container, 10),
+ HibernateUIMappingMessages.HibernateGeneratorsComposite_SectionLabel,
+ this.genericGeneratorExpansionStateHolder
+ );
+
+ // Generic Generator check box
+ Button genericGeneratorCheckBox = addCheckBox(
+ this.addSubPane(container, 5),
+ HibernateUIMappingMessages.HibernateGeneratorsComposite_CheckBoxLabel,
+ buildGenericGeneratorBooleanHolder(),
+ null
+ );
+
+ if (allowMany){
+ //FIXME add table with generators
+ }
+ //FIXME for many generators
+ if (getSubject().genericGeneratorsSize() > 0){
+ generatorHolder.setValue(getSubject().genericGenerators().next());
+ }
+
+ // Generic Generator pane
+ this.addGenericGeneratorComposite(
+ container, 0,
+ genericGeneratorCheckBox.getBorderWidth() + 16);
+ }
+
+ protected void addGenericGeneratorComposite(Composite container, int topMargin, int leftMargin) {
+ new GenericGeneratorComposite(
+ this,
+ this.generatorHolder,
+ this.addSubPane(container, topMargin, leftMargin),
+ this.buildGenericGeneratorBuilder()
+ );
+ }
+
+ protected GeneratorBuilder<GenericGenerator> buildGenericGeneratorBuilder() {
+ return new GeneratorBuilder<GenericGenerator>() {
+ public GenericGenerator addGenerator() {
+ HibernateJavaGeneratorContainer container = (HibernateJavaGeneratorContainer)getSubject();
+ JavaGenericGenerator generator = container.addGenericGenerator(container.genericGeneratorsSize());
+ generatorHolder.setValue(generator);
+ return generator;
+ }
+ };
+ }
+
+ /*private ListValueModel<JavaGenericGenerator> buildGenericGeneratorHolder() {
+ return new ListAspectAdapter<HibernateJavaGeneratorContainer, JavaGenericGenerator>(
+ (PropertyValueModel)getSubjectHolder(),
+ HibernateGeneratorContainer.GENERIC_GENERATORS_LIST)
+ {
+ @Override
+ protected ListIterator<JavaGenericGenerator> listIterator_() {
+ return ((HibernateJavaGeneratorContainer)subject).genericGenerators();
+ }
+
+ @Override
+ protected int size_() {
+ return ((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize();
+ }
+ };
+ }*/
+
+ private WritablePropertyValueModel<Boolean> buildGenericGeneratorBooleanHolder() {
+ return new PropertyAspectAdapter<GeneratorContainer, Boolean>(getSubjectHolder(), HibernateGeneratorContainer.GENERIC_GENERATORS_LIST) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize() > 0);
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ HibernateJavaGeneratorContainer container = (HibernateJavaGeneratorContainer)subject;
+ if (value.booleanValue()) {
+ JavaGenericGenerator gc = container.addGenericGenerator(container.genericGeneratorsSize());
+ generatorHolder.setValue(gc);
+ } else if (!value.booleanValue()) {
+ for (int i = 0; i < container.genericGeneratorsSize(); i++) {
+ container.removeGenericGenerator(0);
+ }
+ generatorHolder.setValue(null);
+ }
+ }
+ };
+ }
+
+}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
-
-import org.eclipse.jpt.core.context.GeneratorContainer;
-import org.eclipse.jpt.ui.internal.details.GenerationComposite;
-import org.eclipse.jpt.ui.internal.details.GeneratorComposite.GeneratorBuilder;
-import org.eclipse.jpt.ui.internal.widgets.Pane;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainer;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class HibernateGenerationComposite2 extends GenerationComposite {
-
- private WritablePropertyValueModel<Boolean> genericGeneratorExpansionStateHolder;
- private WritablePropertyValueModel<GenericGenerator> generatorHolder;
- private boolean allowMany;
-
- public HibernateGenerationComposite2(Pane<?> parentPane,
- PropertyValueModel<? extends HibernateGeneratorContainer> subjectHolder,
- Composite parent, boolean allowMany) {
- super(parentPane, subjectHolder, parent);
- this.allowMany = allowMany;
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.genericGeneratorExpansionStateHolder = new SimplePropertyValueModel<Boolean>(Boolean.FALSE);
- this.generatorHolder = buildGeneratorHolder();
- }
-
- private WritablePropertyValueModel<GenericGenerator> buildGeneratorHolder() {
- return new SimplePropertyValueModel<GenericGenerator>();
- }
-
- @Override
- public HibernateJavaGeneratorContainer getSubject() {
- return (HibernateJavaGeneratorContainer) super.getSubject();
- }
-
- @Override
- protected void doPopulate() {
- super.doPopulate();
- this.genericGeneratorExpansionStateHolder .setValue(Boolean.valueOf(getSubject() != null
- && getSubject().genericGeneratorsSize() > 0));
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- this.initializeGenericGeneratorPane(container);
- }
-
- private void initializeGenericGeneratorPane(Composite container) {
-
- // Generic Generator sub-section
- container = this.addCollapsibleSubSection(
- this.addSubPane(container, 10),
- HibernateUIMappingMessages.HibernateGeneratorsComposite_SectionLabel,
- this.genericGeneratorExpansionStateHolder
- );
-
- // Generic Generator check box
- Button genericGeneratorCheckBox = addCheckBox(
- this.addSubPane(container, 5),
- HibernateUIMappingMessages.HibernateGeneratorsComposite_CheckBoxLabel,
- buildGenericGeneratorBooleanHolder(),
- null
- );
-
- if (allowMany){
- //FIXME add table with generators
- }
- //FIXME for many generators
- if (getSubject().genericGeneratorsSize() > 0){
- generatorHolder.setValue(getSubject().genericGenerators().next());
- }
-
- // Generic Generator pane
- this.addGenericGeneratorComposite(
- container, 0,
- genericGeneratorCheckBox.getBorderWidth() + 16);
- }
-
- protected void addGenericGeneratorComposite(Composite container, int topMargin, int leftMargin) {
- new GenericGeneratorComposite(
- this,
- this.generatorHolder,
- this.addSubPane(container, topMargin, leftMargin),
- this.buildGenericGeneratorBuilder()
- );
- }
-
- protected GeneratorBuilder<GenericGenerator> buildGenericGeneratorBuilder() {
- return new GeneratorBuilder<GenericGenerator>() {
- public GenericGenerator addGenerator() {
- HibernateJavaGeneratorContainer container = (HibernateJavaGeneratorContainer)getSubject();
- JavaGenericGenerator generator = container.addGenericGenerator(container.genericGeneratorsSize());
- generatorHolder.setValue(generator);
- return generator;
- }
- };
- }
-
- /*private ListValueModel<JavaGenericGenerator> buildGenericGeneratorHolder() {
- return new ListAspectAdapter<HibernateJavaGeneratorContainer, JavaGenericGenerator>(
- (PropertyValueModel)getSubjectHolder(),
- HibernateGeneratorContainer.GENERIC_GENERATORS_LIST)
- {
- @Override
- protected ListIterator<JavaGenericGenerator> listIterator_() {
- return ((HibernateJavaGeneratorContainer)subject).genericGenerators();
- }
-
- @Override
- protected int size_() {
- return ((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize();
- }
- };
- }*/
-
- private WritablePropertyValueModel<Boolean> buildGenericGeneratorBooleanHolder() {
- return new PropertyAspectAdapter<GeneratorContainer, Boolean>(getSubjectHolder(), HibernateGeneratorContainer.GENERIC_GENERATORS_LIST) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize() > 0);
- }
-
- @Override
- protected void setValue_(Boolean value) {
- HibernateJavaGeneratorContainer container = (HibernateJavaGeneratorContainer)subject;
- if (value.booleanValue()) {
- JavaGenericGenerator gc = container.addGenericGenerator(container.genericGeneratorsSize());
- generatorHolder.setValue(gc);
- } else if (!value.booleanValue()) {
- for (int i = 0; i < container.genericGeneratorsSize(); i++) {
- container.removeGenericGenerator(0);
- }
- generatorHolder.setValue(null);
- }
- }
- };
- }
-
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
-import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite;
@@ -51,6 +50,7 @@
this.initializeIndexCollapsibleSection(container);
}
+ @SuppressWarnings("unchecked")
@Override
protected void initializeIdSection(Composite container) {
new HibernateColumnComposite(this, (PropertyValueModel<? extends HibernateColumn>) buildColumnHolder(), container);
@@ -69,7 +69,7 @@
protected void initializeGenerationCollapsibleSection(Composite container) {
if (getSubject() instanceof HibernateJavaIdMapping) {
// Generic Generator required only for Java.
- new HibernateGenerationComposite2(this, buildGeneratorContainer(), addSubPane(container, 10), false);
+ new HibernateGenerationComposite(this, buildGeneratorContainer(), addSubPane(container, 10), false);
} else {
super.initializeGenerationCollapsibleSection(container);
}
@@ -87,6 +87,7 @@
}
+ @SuppressWarnings("unchecked")
protected void initializeIndexSection(Composite container) {
new IndexHolderComposite((Pane<? extends IndexHolder>) this, container);
}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009-2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.db.Schema;
-import org.eclipse.jpt.db.SchemaContainer;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages;
-import org.eclipse.jpt.ui.internal.details.db.CatalogCombo;
-import org.eclipse.jpt.ui.internal.details.db.SchemaCombo;
-import org.eclipse.jpt.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.ui.internal.widgets.Pane;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
-import org.jboss.tools.hibernate.jpt.ui.internal.mappings.db.xpl.TableCombo;
-
-/**
- * @author Dmitry Geraskov
- *
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | - Table ----------------------------------------------------------------- |
- * | | ------------------------------------------------------------ | |
- * | | Table: | TableCombo | | |
- * | | ------------------------------------------------------------ | |
- * | | ------------------------------------------------------------ | |
- * | | Catalog: | CatalogCombo | | |
- * | | ------------------------------------------------------------ | |
- * | | ------------------------------------------------------------ | |
- * | | Schema: | SchemaCombo | | |
- * | | ------------------------------------------------------------ | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see Table
- * @see EntityComposite - The parent container
- * @see TableCombo
- * @see CatalogCombo
- * @see SchemaCombo
- *
- * @TODO repopulate this panel based on the Entity table changing
- *
- * @version 2.0
- * @since 1.0
- */
-public class HibernateTableComposite extends Pane<HibernateEntity>
-{
- /**
- * Creates a new <code>HibernateTableComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param subjectHolder The holder of the subject
- * @param parent The parent container
- */
- public HibernateTableComposite(Pane<? extends HibernateEntity> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- // Table group pane
- Group tableGroupPane = addTitledGroup(
- container,
- JptUiDetailsMessages.TableComposite_tableSection
- );
-
- PropertyValueModel<HibernateTable> subjectHolder = buildTableHolder();
-
- // Table widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.TableChooser_label,
- addTableCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_TABLE
- );
-
- // Catalog widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.CatalogChooser_label,
- addCatalogCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_CATALOG
- );
-
- // Schema widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.SchemaChooser_label,
- addSchemaCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_SCHEMA
- );
-
- new PaneEnabler(buildTableEnabledHolder(), this);
- }
-
- protected WritablePropertyValueModel<HibernateTable> buildTableHolder() {
-
- return new PropertyAspectAdapter<HibernateEntity, HibernateTable>(getSubjectHolder(), HibernateEntity.TABLE_IS_UNDEFINED_PROPERTY) {
- @Override
- protected HibernateTable buildValue_() {
- return this.subject.tableIsUndefined() ? null : this.subject.getTable();
- }
- };
- }
-
- protected WritablePropertyValueModel<Boolean> buildTableEnabledHolder() {
- return new PropertyAspectAdapter<HibernateEntity, Boolean>(getSubjectHolder(), HibernateEntity.SPECIFIED_TABLE_IS_ALLOWED_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.specifiedTableIsAllowed());
- }
- };
- }
-
- private CatalogCombo<HibernateTable> addCatalogCombo(PropertyValueModel<HibernateTable> tableHolder, Composite container) {
-
- return new CatalogCombo<HibernateTable>(this, tableHolder, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
- }
-
- @Override
- protected String getDefaultValue() {
- return getSubject().getDefaultCatalog();
- }
-
- @Override
- protected void setValue(String value) {
- getSubject().setSpecifiedCatalog(value);
- }
-
- @Override
- protected String getValue() {
- return getSubject().getSpecifiedCatalog();
- }
- };
- }
-
- private SchemaCombo<HibernateTable> addSchemaCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite container) {
-
- return new SchemaCombo<HibernateTable>(this, subjectHolder, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
- }
-
- @Override
- protected String getDefaultValue() {
- return getSubject().getDefaultSchema();
- }
-
- @Override
- protected void setValue(String value) {
- getSubject().setSpecifiedSchema(value);
- }
-
- @Override
- protected String getValue() {
- return getSubject().getSpecifiedSchema();
- }
-
- @Override
- protected SchemaContainer getDbSchemaContainer_() {
- return this.getSubject().getDbSchemaContainer();
- }
- };
- }
-
- private TableCombo<HibernateTable> addTableCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite container) {
-
- return new TableCombo<HibernateTable>(this, subjectHolder, container) {
-
- @Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- comboBox.addFocusListener(new FocusListener() {
-
- public void focusGained(FocusEvent e) {
- if (comboBox.getSelectionIndex() != 0){
- setPopulating(true);
- comboBox.setText(getSubject().getName());
- setPopulating(false);
- }
- }
-
- public void focusLost(FocusEvent e) {
- if (comboBox.getSelectionIndex() != 0){
- setPopulating(true);
- comboBox.setText(getValue());
- setPopulating(false);
- }
- }
- });
- }
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(HibernateTable.DEFAULT_NAME_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_NAME_PROPERTY);
- propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
- propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
- }
-
- @Override
- protected void propertyChanged(String propertyName) {
- super.propertyChanged(propertyName);
- if (propertyName == HibernateTable.DEFAULT_SCHEMA_PROPERTY
- || propertyName == HibernateTable.SPECIFIED_SCHEMA_PROPERTY
- || propertyName == HibernateTable.DEFAULT_CATALOG_PROPERTY
- || propertyName == HibernateTable.SPECIFIED_CATALOG_PROPERTY ) {
- repopulate();
- }
- }
-
- @Override
- protected String getDefaultValue() {
- return this.getSubject().getDefaultDBTableName();
- }
-
- @Override
- protected void setValue(String value) {
- this.getSubject().setSpecifiedName(value);
- }
-
- @Override
- public String getValue() {
- String specifiedName = this.getSubject().getSpecifiedName();
- if (specifiedName == null){
- return null;
- }
- String dbTableName = this.getSubject().getDBTableName();
- if (specifiedName.equals(dbTableName)){
- return specifiedName;
- } else {
- return specifiedName + " (" + dbTableName +")"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- @Override
- protected Schema getDbSchema_() {
- return this.getSubject().getDbSchema();
- }
-
- };
- }
-
-}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java;
+
+import java.util.List;
+
+import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.java.DefaultJavaAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.java.JavaAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.java.JavaTypeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.java.JavaUiFactory;
+import org.eclipse.jpt.ui.internal.details.java.AbstractJavaResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.DefaultBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.DefaultEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEmbeddableUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEmbeddedIdMappingUDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEntityUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaManyToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaManyToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaMappedSuperclassUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaOneToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaOneToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaTransientMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaVersionMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.NullJavaAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.jpa2.details.java.JavaElementCollectionMapping2_0UiDefinition;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0JavaResourceUiDefinition extends AbstractJavaResourceUiDefinition {
+
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new Hibernate2_0JavaResourceUiDefinition();
+
+ /**
+ * Return the singleton.
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * zero-argument constructor
+ */
+ protected Hibernate2_0JavaResourceUiDefinition() {
+ super();
+ }
+
+ @Override
+ protected JavaUiFactory buildJavaUiFactory() {
+ return new Hibernate2_0JavaUiFactory();
+ }
+
+ @Override
+ protected void addSpecifiedAttributeMappingUiDefinitionsTo(List<JavaAttributeMappingUiDefinition<? extends AttributeMapping>> definitions) {
+ definitions.add(JavaElementCollectionMapping2_0UiDefinition.instance());
+ definitions.add(JavaIdMappingUiDefinition.instance());
+ definitions.add(JavaEmbeddedIdMappingUDefinition.instance());
+ definitions.add(JavaBasicMappingUiDefinition.instance());
+ definitions.add(JavaVersionMappingUiDefinition.instance());
+ definitions.add(JavaManyToOneMappingUiDefinition.instance());
+ definitions.add(JavaOneToManyMappingUiDefinition.instance());
+ definitions.add(JavaOneToOneMappingUiDefinition.instance());
+ definitions.add(JavaManyToManyMappingUiDefinition.instance());
+ definitions.add(JavaEmbeddedMappingUiDefinition.instance());
+ definitions.add(JavaTransientMappingUiDefinition.instance());
+ }
+
+ @Override
+ protected void addDefaultAttributeMappingUiDefinitionsTo(List<DefaultJavaAttributeMappingUiDefinition<?>> definitions) {
+ definitions.add(DefaultBasicMappingUiDefinition.instance());
+ definitions.add(DefaultEmbeddedMappingUiDefinition.instance());
+ definitions.add(NullJavaAttributeMappingUiDefinition.instance());
+ }
+
+ @Override
+ protected void addSpecifiedTypeMappingUiDefinitionsTo(List<JavaTypeMappingUiDefinition<? extends TypeMapping>> definitions) {
+ definitions.add(JavaEntityUiDefinition.instance());
+ definitions.add(JavaMappedSuperclassUiDefinition.instance());
+ definitions.add(JavaEmbeddableUiDefinition.instance());
+ }
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java;
+
+import org.eclipse.jpt.core.context.java.JavaBasicMapping;
+import org.eclipse.jpt.core.context.java.JavaEntity;
+import org.eclipse.jpt.core.context.java.JavaIdMapping;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.details.java.BaseJavaUiFactory;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.java.details.HibernateJavaEntityComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmEntityComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0JavaUiFactory extends BaseJavaUiFactory {
+
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createJavaIdMappingComposite(
+ PropertyValueModel<JavaIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new HibernateIdMappingComposite((PropertyValueModel<? extends HibernateJavaIdMapping>) subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createJavaEntityComposite(PropertyValueModel<JavaEntity> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ return new HibernateJavaEntityComposite((PropertyValueModel<? extends HibernateJavaEntity>) subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmEntityComposite(
+ PropertyValueModel<OrmEntity> subjectHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return new Hibernate2_0OrmEntityComposite((PropertyValueModel<? extends HibernateOrmEntity>) subjectHolder, parent, widgetFactory);
+ }
+
+ public JpaComposite createJavaBasicMappingComposite(
+ PropertyValueModel<JavaBasicMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new HibernateBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ }
+
+
+
+}
\ No newline at end of file
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -22,10 +22,10 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.orm.HibernateOrmEntityComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.java.details.HibernateJavaEntityComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
-import org.jboss.tools.hibernate.jpt.ui.internal.orm.details.HibernateOrmEntityComposite;
/**
* @author Dmitry Geraskov
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -11,15 +11,18 @@
package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm;
import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
import org.eclipse.jpt.core.context.orm.OrmIdMapping;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.orm.BaseOrmXmlUiFactory;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.orm.HibernateOrmEntityComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.orm.HibernateOrmIdMappingComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
-import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
/**
* @author Dmitry Geraskov
@@ -41,7 +44,15 @@
PropertyValueModel<OrmIdMapping> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- return new HibernateIdMappingComposite((PropertyValueModel<? extends HibernateOrmIdMapping>) subjectHolder, parent, widgetFactory);
+ return new HibernateOrmIdMappingComposite((PropertyValueModel<? extends HibernateOrmIdMapping>) subjectHolder, parent, widgetFactory);
}
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmEntityComposite(
+ PropertyValueModel<OrmEntity> subjectHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return new HibernateOrmEntityComposite((PropertyValueModel<? extends HibernateOrmEntity>) subjectHolder, parent, widgetFactory);
+ }
}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2;
+
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.persistence.details.AbstractPersistenceXmlResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.ui.internal.structure.PersistenceResourceModelStructureProvider;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernatePersistenceXml2_0UiDefinition extends
+ AbstractPersistenceXmlResourceUiDefinition {
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new HibernatePersistenceXml2_0UiDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernatePersistenceXml2_0UiDefinition() {
+ super();
+ }
+
+
+ @Override
+ protected PersistenceXmlUiFactory buildPersistenceXmlUiFactory() {
+ return new HibernatePersistenceXml2_0UiFactory();
+ }
+
+ public boolean providesUi(JpaResourceType resourceType) {
+ return resourceType.equals(JptCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE);
+ }
+
+ public JpaStructureProvider getStructureProvider() {
+ return PersistenceResourceModelStructureProvider.instance();
+ }
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2;
+
+import java.util.ArrayList;
+import java.util.ListIterator;
+
+import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.connection.JpaConnection2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.options.JpaOptions2_0;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaPageComposite;
+import org.eclipse.jpt.ui.internal.jpa2.persistence.connection.GenericPersistenceUnit2_0ConnectionTab;
+import org.eclipse.jpt.ui.internal.jpa2.persistence.options.GenericPersistenceUnit2_0OptionsTab;
+import org.eclipse.jpt.ui.internal.persistence.details.GenericPersistenceUnitGeneralComposite;
+import org.eclipse.jpt.ui.internal.persistence.details.PersistenceUnitPropertiesComposite;
+import org.eclipse.jpt.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.basic.BasicHibernateProperties;
+import org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePropertiesComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernatePersistenceXml2_0UiFactory implements
+ PersistenceXmlUiFactory {
+
+ // **************** persistence unit composites ****************************
+ public ListIterator<JpaPageComposite> createPersistenceUnitComposites(
+ PropertyValueModel<PersistenceUnit> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+
+ ArrayList<JpaPageComposite> pages = new ArrayList<JpaPageComposite>(4);
+
+ PropertyValueModel<JpaConnection2_0> connection2_0Holder = this
+ .buildJpaConnection2_0Holder(subjectHolder);
+ PropertyValueModel<JpaOptions2_0> options2_0Holder = this
+ .buildJpaOptions2_0Holder(subjectHolder);
+
+ pages.add(new GenericPersistenceUnitGeneralComposite(subjectHolder,
+ parent, widgetFactory));
+ pages.add(new GenericPersistenceUnit2_0ConnectionTab(
+ connection2_0Holder, parent, widgetFactory));
+ pages.add(new GenericPersistenceUnit2_0OptionsTab(options2_0Holder,
+ parent, widgetFactory));
+ pages.add(new PersistenceUnitPropertiesComposite(subjectHolder, parent,
+ widgetFactory));
+
+ // ************Hibernate pages***************
+ PropertyValueModel<BasicHibernateProperties> basicHolder = this
+ .buildBasicHolder(subjectHolder);
+ pages.add(new HibernatePropertiesComposite(basicHolder, parent,
+ widgetFactory));
+
+ return pages.listIterator();
+ }
+
+ // ********** private methods **********
+
+ private PropertyValueModel<JpaConnection2_0> buildJpaConnection2_0Holder(
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, JpaConnection2_0>(
+ subjectHolder) {
+ @Override
+ protected JpaConnection2_0 transform_(PersistenceUnit value) {
+ return (JpaConnection2_0) ((PersistenceUnit2_0) value)
+ .getConnection();
+ }
+ };
+ }
+
+ private PropertyValueModel<JpaOptions2_0> buildJpaOptions2_0Holder(
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, JpaOptions2_0>(
+ subjectHolder) {
+ @Override
+ protected JpaOptions2_0 transform_(PersistenceUnit value) {
+ return (JpaOptions2_0) ((PersistenceUnit2_0) value)
+ .getOptions();
+ }
+ };
+ }
+
+ private PropertyValueModel<BasicHibernateProperties> buildBasicHolder(
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, BasicHibernateProperties>(
+ subjectHolder) {
+ @Override
+ protected BasicHibernateProperties transform_(PersistenceUnit value) {
+ return ((HibernatePersistenceUnit) value)
+ .getHibernatePersistenceUnitProperties();
+ }
+ };
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.platform;
+
+import org.eclipse.jpt.ui.JpaPlatformUi;
+import org.eclipse.jpt.ui.JpaPlatformUiFactory;
+import org.eclipse.jpt.ui.internal.platform.generic.GenericNavigatorProvider;
+import org.jboss.tools.hibernate.jpt.ui.internal.HibernateJpa2_0PlatformUiProvider;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformUiFactory implements JpaPlatformUiFactory {
+
+ public HibernateJpa2_0PlatformUiFactory() {
+ super();
+ }
+
+ public JpaPlatformUi buildJpaPlatformUi() {
+ return new HibernateJpaPlatformUi(
+ new GenericNavigatorProvider(),
+ HibernateJpa2_0PlatformUiProvider.instance()
+ );
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -282,7 +282,7 @@
private String createConsoleConfiguration(){
ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
String dialect = determineDialect();
- String ccName = launchManager.generateUniqueLaunchConfigurationNameFrom(HibernateConsoleMessages.AddConfigurationAction_hibernate);
+ String ccName = launchManager.generateLaunchConfigurationName(HibernateConsoleMessages.AddConfigurationAction_hibernate);
ConsoleConfigurationPreferences prefs = new EclipseConsoleConfigurationPreferences(ccName,
ConfigurationMode.JPA, jpaProject.getName(), true,
null, null, null,
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
+ <attributes>
+ <attribute name="owner.project.facets" value="java"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="lib" path="lib/ejb3-persistence.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/postgresql-8.4-701.jdbc3.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate3.jar"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>testHibernateJpaOrmProject</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.hibernate.eclipse.console.hibernateBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.hibernate.eclipse.console.hibernateNature</nature>
+ </natures>
+</projectDescription>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,8 @@
+#Mon May 10 13:11:51 EEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,3 @@
+#Mon May 10 13:11:52 EEST 2010
+eclipse.preferences.version=1
+org.eclipse.jpt.core.platform=hibernate
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="testHibernateJpaProject">
+ <wb-resource deploy-path="/" source-path="/src"/>
+ </wb-module>
+</project-modules>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,7 @@
+<root>
+ <facet id="jpt.jpa">
+ <node name="libprov">
+ <attribute name="provider-id" value="jpa-no-op-library-provider"/>
+ </node>
+ </facet>
+</root>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <fixed facet="java"/>
+ <fixed facet="jst.utility"/>
+ <fixed facet="jpt.jpa"/>
+ <installed facet="java" version="1.5"/>
+ <installed facet="jst.utility" version="1.0"/>
+ <installed facet="jpt.jpa" version="1.0"/>
+</faceted-project>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,4 @@
+#Tue Jun 22 10:32:56 EEST 2010
+default.configuration=testHibernateJpaOrmProject
+eclipse.preferences.version=1
+hibernate3.enabled=true
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/ejb3-persistence.jar
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/ejb3-persistence.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate-annotations.jar
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate-annotations.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate3.jar
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/postgresql-8.4-701.jdbc3.jar
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/postgresql-8.4-701.jdbc3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
+ <entity class="entity.JustData" access="FIELD">
+ <attributes>
+ <id name="id3">
+ </id>
+ <one-to-many name="mtm1">
+ </one-to-many>
+ </attributes>
+ </entity>
+ <entity class="entity.ManyToMany1" access="FIELD">
+ <attributes>
+ <id name="id1"/>
+ <many-to-one name="justData1"/>
+ <many-to-many name="mtm2" mapped-by="mtm1"/>
+ </attributes>
+ </entity>
+ <entity class="entity.ManyToMany2" name="e.m22" access="FIELD">
+ <table name="ManyToMany22">
+ </table>
+ <attributes>
+ <id name="id2">
+ <column name="id"/></id>
+ <basic name="simpleData2">
+ <column name="simpleData"/></basic>
+ <many-to-many name="mtm1" />
+ </attributes>
+ </entity>
+</entity-mappings>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
+ <persistence-unit name="testHibernateJpaOrmProject">
+ </persistence-unit>
+</persistence>
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,15 @@
+package entity;
+
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+public class JustData {
+
+ private int id3;
+
+ Set<ManyToMany1> mtm1;
+
+}
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,21 @@
+package entity;
+
+import java.io.Serializable;
+import java.util.Set;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+
+public class ManyToMany1 implements Serializable {
+
+ private int id1;
+
+ private JustData justData1;
+
+ private Set<ManyToMany2> mtm2;
+}
\ No newline at end of file
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,24 @@
+package entity;
+
+import java.io.Serializable;
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.Column;
+import javax.persistence.Table;
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.annotations.NamedQuery;
+import javax.persistence.JoinTable;
+import javax.persistence.JoinColumn;
+import static javax.persistence.FetchType.EAGER;
+
+public class ManyToMany2 implements Serializable {
+
+ private int id2;
+
+ private String simpleData2;
+
+ private Set<ManyToMany1> mtm1;
+}
\ No newline at end of file
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,76 @@
+package ns;
+
+
+public class NamingStrategy implements org.hibernate.cfg.NamingStrategy{
+
+ private static final long serialVersionUID = 1L;
+
+ private static final String CT_PREFIX = "ctn_";
+
+ private static final String TN_PREFIX = "tn_";
+
+ private static final String PC_PREFIX = "pc_";
+
+ private static final String CN_PREFIX = "cn_";
+
+ private static final String FK_PREFIX = "fk_";
+
+ private static final String COL_PREFIX = "col_";
+
+ private static final String JKCN_PREFIX = "jkcn_";
+
+ public String classToTableName(String className) {
+ return CT_PREFIX + unqualify(className);
+ }
+
+ public String propertyToColumnName(String propertyName) {
+ return PC_PREFIX + unqualify(propertyName);
+ }
+
+ public String tableName(String tableName) {
+ return TN_PREFIX + tableName;
+ }
+
+ public String collectionTableName(String ownerEntity,
+ String ownerEntityTable, String associatedEntity,
+ String associatedEntityTable, String propertyName) {
+ return COL_PREFIX + unqualify(ownerEntity) + "_"+ associatedEntity+ "_" +
+ associatedEntityTable + "_" + unqualify( associatedEntity ) +
+ "_" +propertyName;
+ }
+
+ public String columnName(String columnName) {
+ return CN_PREFIX + columnName;
+ }
+
+ public String joinKeyColumnName(String joinedColumn, String joinedTable) {
+ return JKCN_PREFIX + joinedColumn + '_' + joinedTable;
+ }
+
+ public String foreignKeyColumnName(String propertyName,
+ String propertyEntityName, String propertyTableName,
+ String referencedColumnName) {
+ return FK_PREFIX + propertyName + "_"+ unqualify(propertyEntityName)
+ + "_" + propertyTableName + "_" + referencedColumnName;
+ }
+
+ private String unqualify(String s) {
+ if (s != null) return s;//.replaceAll("\\.", "");
+ return "null";
+ }
+
+ public String logicalCollectionColumnName(String arg0, String arg1,
+ String arg2) {
+ return (arg0 + "_" + arg1 + "_" + arg2);
+ }
+
+ public String logicalCollectionTableName(String arg0, String arg1,
+ String arg2, String arg3) {
+ return (arg0 + "_" + arg1 + "_" + arg2 + "_" + arg3).toUpperCase();
+ }
+
+ public String logicalColumnName(String arg0, String arg1) {
+ return (arg0 + "_" + arg1).toUpperCase();
+ }
+
+}
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,55 @@
+
+ create table col_entity.JustData_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1 (
+ fk_null_entity.JustData_JustData_NULL_ID3 int4 not null,
+ fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1 int4 not null,
+ primary key (fk_null_entity.JustData_JustData_NULL_ID3, fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1),
+ unique (fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ );
+
+ create table col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1 (
+ fk_mtm2_entity.ManyToMany2_ManyToMany22_ID_ID2 int4 not null,
+ fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1 int4 not null,
+ primary key (fk_mtm2_entity.ManyToMany2_ManyToMany22_ID_ID2, fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ );
+
+ create table ctn_JustData (
+ pc_id3 int4 not null,
+ primary key (pc_id3)
+ );
+
+ create table ctn_ManyToMany1 (
+ pc_id1 int4 not null,
+ fk_justData1_entity.JustData_JustData_NULL_ID3 int4,
+ primary key (pc_id1)
+ );
+
+ create table tn_ManyToMany22 (
+ cn_id int4 not null,
+ cn_simpleData varchar(255),
+ primary key (cn_id)
+ );
+
+ alter table col_entity.JustData_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK9F2D79611090434E
+ foreign key (fk_null_entity.JustData_JustData_NULL_ID3)
+ references ctn_JustData;
+
+ alter table col_entity.JustData_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK9F2D79616057A2A
+ foreign key (fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ references ctn_ManyToMany1;
+
+ alter table col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK46F84CB66057A2A
+ foreign key (fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ references ctn_ManyToMany1;
+
+ alter table col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK46F84CB65013FC2F
+ foreign key (fk_mtm2_entity.ManyToMany2_ManyToMany22_ID_ID2)
+ references tn_ManyToMany22;
+
+ alter table ctn_ManyToMany1
+ add constraint FKB4665956A5274FEE
+ foreign key (fk_justData1_entity.JustData_JustData_NULL_ID3)
+ references ctn_JustData;
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.hibernate.eclipse.launch.ConsoleConfigurationLaunchConfigurationType">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="testHibernateJpaOrmProject"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="testHibernateJpaOrmProject"/>
+<stringAttribute key="org.hibernate.eclipse.launch.CONFIGURATION_FACTORY" value="JPA"/>
+<listAttribute key="org.hibernate.eclipse.launch.FILE_MAPPINGS"/>
+<stringAttribute key="org.hibernate.eclipse.launchDIALECT" value="org.hibernate.dialect.PostgreSQLDialect"/>
+<stringAttribute key="org.hibernate.eclipse.launchNAMING_STRATEGY" value="ns.NamingStrategy"/>
+</launchConfiguration>
Deleted: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class HibernateJpaAllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(
- "Test for org.jboss.tools.hibernate.jpt.core.test"); //$NON-NLS-1$
- suite.addTestSuite(HibernateJpaModelTests.class);
- suite.addTestSuite(HibernateJpaModelTests.class);
- return suite;
- }
-
-}
Modified: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java 2010-06-23 07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -13,7 +13,7 @@
import java.util.ArrayList;
import java.util.List;
-import junit.framework.TestCase;
+import static junit.framework.Assert.*;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -40,26 +40,31 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToManyMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTable;
import org.jboss.tools.test.util.ResourcesUtils;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJpaModelTests extends TestCase {
+public class HibernateJpaModelTests {
private static final String PROJECT_NAME = "testHibernateJpaProject";
private static final String PROJECT_PATH = "res/" + PROJECT_NAME;
- IProject project = null;
- JpaProject jpaProject = null;
+ static IProject project = null;
+ static JpaProject jpaProject = null;
- public void setUp() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
project = ResourcesUtils.importProject(Platform.getBundle("org.jboss.tools.hibernate.jpt.core.test"),
PROJECT_PATH, new NullProgressMonitor());
project.refreshLocal(IResource.DEPTH_INFINITE, null);
jpaProject = (JpaProject) project.getAdapter(JpaProject.class);
}
+ @Test
public void testDefaultMapping(){
assertNotNull(jpaProject);
JpaRootContextNode rootContextNode = jpaProject.getRootContextNode();
@@ -78,9 +83,10 @@
}
}
+ @Test
public void testNamigStrategyMapping(){
ConsoleConfiguration cc = KnownConfigurations.getInstance().find(PROJECT_NAME);
- assertNotNull("Console configuration not foun for project " + PROJECT_NAME, cc);
+ assertNotNull("Console configuration not found for project " + PROJECT_NAME, cc);
cc.build();
assertNotNull("Console configuration build problem", cc.getConfiguration());
assertNotNull("Naming Strategy not found", cc.getConfiguration().getNamingStrategy());
@@ -230,7 +236,8 @@
assertEquals("col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1", hjjt.getDBTableName());
}
- protected void tearDown() throws Exception {
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
if(project != null) {
boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
try {
Added: trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java
===================================================================
--- trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java (rev 0)
+++ trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java 2010-06-23 11:53:25 UTC (rev 22942)
@@ -0,0 +1,249 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static junit.framework.Assert.*;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.JpaRootContextNode;
+import org.eclipse.jpt.core.context.orm.OrmJoinTable;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
+import org.eclipse.jpt.core.context.persistence.MappingFileRef;
+import org.eclipse.jpt.core.context.persistence.Persistence;
+import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmXml;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.eclipse.jpt.utility.internal.CollectionTools;
+import org.hibernate.console.ConsoleConfiguration;
+import org.hibernate.console.KnownConfigurations;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmBasicMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmColumn;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntityImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTable;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToManyMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToOneMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmTable;
+import org.jboss.tools.test.util.ResourcesUtils;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpaOrmModelTests {
+
+ private static final String PROJECT_NAME = "testHibernateJpaOrmProject";
+ private static final String PROJECT_PATH = "res/" + PROJECT_NAME;
+
+ static IProject project = null;
+ static JpaProject jpaProject = null;
+
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ project = ResourcesUtils.importProject(Platform.getBundle("org.jboss.tools.hibernate.jpt.core.test"),
+ PROJECT_PATH, new NullProgressMonitor());
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
+ jpaProject = (JpaProject) project.getAdapter(JpaProject.class);
+ }
+
+ @Test
+ public void testDefaultMapping(){
+ assertNotNull(jpaProject);
+ JpaRootContextNode rootContextNode = jpaProject.getRootContextNode();
+ Persistence p = rootContextNode.getPersistenceXml().getPersistence();
+ assertTrue(p.persistenceUnits().hasNext());
+ assertTrue(p.persistenceUnits().next() instanceof HibernatePersistenceUnit);
+ HibernatePersistenceUnit hpu = (HibernatePersistenceUnit) p.persistenceUnits().next();
+ List<MappingFileRef> mfrs = CollectionTools.list(hpu.mappingFileRefs());
+ assertTrue(mfrs.size() == 1);
+ assertTrue(mfrs.get(0).getMappingFile() instanceof GenericOrmXml);
+ GenericOrmXml orm = (GenericOrmXml)mfrs.get(0).getMappingFile();
+ List<OrmPersistentType> pTypes = CollectionTools.list(orm.getEntityMappings().getPersistentTypes());
+ assertTrue( pTypes.size() == 3 );
+ checkManyToMany1(orm.getEntityMappings().getPersistentType("entity.ManyToMany1"));
+ checkManyToMany2(orm.getEntityMappings().getPersistentType("entity.ManyToMany2"));
+ }
+
+ @Test
+ public void testNamigStrategyMapping(){
+ ConsoleConfiguration cc = KnownConfigurations.getInstance().find(PROJECT_NAME);
+ assertNotNull("Console configuration not found for project " + PROJECT_NAME, cc);
+ cc.build();
+ assertNotNull("Console configuration build problem", cc.getConfiguration());
+ assertNotNull("Naming Strategy not found", cc.getConfiguration().getNamingStrategy());
+ assertEquals("ns.NamingStrategy", cc.getConfiguration().getNamingStrategy().getClass().getName());
+
+ jpaProject = (JpaProject) project.getAdapter(JpaProject.class);
+ assertNotNull(jpaProject);
+ JpaRootContextNode rootContextNode = jpaProject.getRootContextNode();
+ Persistence p = rootContextNode.getPersistenceXml().getPersistence();
+ assertTrue(p.persistenceUnits().hasNext());
+ assertTrue(p.persistenceUnits().next() instanceof HibernatePersistenceUnit);
+ HibernatePersistenceUnit hpu = (HibernatePersistenceUnit) p.persistenceUnits().next();
+ List<MappingFileRef> mfrs = CollectionTools.list(hpu.mappingFileRefs());
+ assertTrue(mfrs.size() == 1);
+ assertTrue(mfrs.get(0).getMappingFile() instanceof GenericOrmXml);
+ GenericOrmXml orm = (GenericOrmXml)mfrs.get(0).getMappingFile();
+ checkManyToMany1NS(orm.getEntityMappings().getPersistentType("entity.ManyToMany1"));
+ checkManyToMany2NS(orm.getEntityMappings().getPersistentType("entity.ManyToMany2"));
+ cc.reset();
+ }
+
+ public void checkManyToMany1(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("ManyToMany1", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs = CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("id1", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmManyToOneMapping);
+ @SuppressWarnings("unchecked")
+ HibernateOrmManyToOneMapping<XmlManyToOne> hjbm = (HibernateOrmManyToOneMapping<XmlManyToOne>)attrs.get(1).getMapping();
+ assertEquals("justData1", hjbm.getName());
+ assertEquals("entity.JustData", hjbm.getDefaultTargetEntity());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm = (HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany2", hjmtmm.getTargetEntity());
+ }
+
+ public void checkManyToMany2(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("ManyToMany22", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs = CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("id", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmBasicMapping);
+ HibernateOrmBasicMapping hjbm = (HibernateOrmBasicMapping)attrs.get(1).getMapping();
+ hjc = (HibernateOrmColumn)hjbm.getColumn();
+ assertEquals("simpleData", hjc.getDBColumnName());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm = (HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany1", hjmtmm.getTargetEntity());
+ OrmJoinTableJoiningStrategy jtJoiningStrategy = hjmtmm.getRelationshipReference().getJoinTableJoiningStrategy();
+ OrmJoinTable joinTable = jtJoiningStrategy.getJoinTable();
+ assertTrue(joinTable instanceof HibernateOrmJoinTable);
+ HibernateOrmJoinTable hjjt = (HibernateOrmJoinTable)joinTable;
+ assertEquals("ManyToMany22_ManyToMany1", hjjt.getDBTableName());
+ }
+
+ public void checkManyToMany1NS(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("ctn_ManyToMany1", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs = CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("pc_id1", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmManyToOneMapping);
+ @SuppressWarnings("unchecked")
+ HibernateOrmManyToOneMapping<XmlManyToOne> hjbm = (HibernateOrmManyToOneMapping<XmlManyToOne>)attrs.get(1).getMapping();
+ assertEquals("justData1", hjbm.getName());
+ assertEquals("entity.JustData", hjbm.getDefaultTargetEntity());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm = (HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany2", hjmtmm.getTargetEntity());
+ }
+
+ public void checkManyToMany2NS(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("tn_ManyToMany22", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs = CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("cn_id", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmBasicMapping);
+ HibernateOrmBasicMapping hjbm = (HibernateOrmBasicMapping)attrs.get(1).getMapping();
+ hjc = (HibernateOrmColumn)hjbm.getColumn();
+ assertEquals("cn_simpleData", hjc.getDBColumnName());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm = (HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany1", hjmtmm.getTargetEntity());
+ OrmJoinTableJoiningStrategy jtJoiningStrategy = hjmtmm.getRelationshipReference().getJoinTableJoiningStrategy();
+ OrmJoinTable joinTable = jtJoiningStrategy.getJoinTable();
+ assertTrue(joinTable instanceof HibernateOrmJoinTable);
+ HibernateOrmJoinTable hjjt = (HibernateOrmJoinTable)joinTable;
+ assertEquals("col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1", hjjt.getDBTableName());
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ if(project != null) {
+ boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ try {
+ project.delete(true,true, null);
+ } finally {
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+ }
+ }
+
+}
15 years, 10 months
JBoss Tools SVN: r22941 - trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/wizard/newfile.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2010-06-23 03:30:21 -0400 (Wed, 23 Jun 2010)
New Revision: 22941
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/wizard/newfile/NewFacesConfigFileWizard.java
Log:
https://jira.jboss.org/browse/JBIDE-6392 Rolled back
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/wizard/newfile/NewFacesConfigFileWizard.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/wizard/newfile/NewFacesConfigFileWizard.java 2010-06-23 07:23:11 UTC (rev 22940)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/wizard/newfile/NewFacesConfigFileWizard.java 2010-06-23 07:30:21 UTC (rev 22941)
@@ -22,13 +22,13 @@
protected NewFileContextEx createNewFileContext() {
return new NewFacesConfigFileContext();
}
-
- public void createPageControls(Composite parent) {
- super.createPageControls(parent);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJSFHelpContextIds.NEW_FACES_CONFIG_FILE_WIZARD);
- }
-
+// TODO https://jira.jboss.org/browse/JBIDE-6392
+// public void createPageControls(Composite parent) {
+// super.createPageControls(parent);
+// PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJSFHelpContextIds.NEW_FACES_CONFIG_FILE_WIZARD);
+// }
+
class NewFacesConfigFileContext extends NewFileContextEx {
protected SpecialWizardSupport createSupport() {
return new CreateFacesConfigSupport();
15 years, 10 months
JBoss Tools SVN: r22940 - in trunk/as/plugins: org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3 and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-06-23 03:23:11 -0400 (Wed, 23 Jun 2010)
New Revision: 22940
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB30SupportVerifier.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB3ClasspathContainer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.ui/src/org/jboss/ide/eclipse/as/classpath/ui/ejb3/JBossEJB3LibrariesPage.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeResourceConstants.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
Log:
JBIDE-6249 - trunk
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB30SupportVerifier.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB30SupportVerifier.java 2010-06-23 07:10:04 UTC (rev 22939)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB30SupportVerifier.java 2010-06-23 07:23:11 UTC (rev 22940)
@@ -17,6 +17,7 @@
import org.eclipse.wst.server.core.IRuntime;
import org.jboss.ide.eclipse.as.classpath.core.runtime.WebtoolsProjectJBossClasspathContainerInitializer.WebtoolsProjectJBossClasspathContainer;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
/**
*
@@ -24,7 +25,18 @@
*
*/
public class EJB30SupportVerifier {
+ protected static boolean definitelySupports(IRuntime rt) {
+ IJBossServerRuntime jbRuntime = (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
+ String jbossVersion = jbRuntime.getRuntime().getRuntimeType().getVersion();
+ if( jbossVersion.compareTo(IJBossToolingConstants.V5_0) < 0)
+ return false;
+ return true;
+ }
+
public static boolean verify(IRuntime rt) {
+ if( definitelySupports(rt))
+ return true;
+
IJBossServerRuntime ajbsr = (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
// i refuse to verify. if they say they support, believe them
if( ajbsr == null ) return true;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB3ClasspathContainer.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB3ClasspathContainer.java 2010-06-23 07:10:04 UTC (rev 22939)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/ejb3/EJB3ClasspathContainer.java 2010-06-23 07:23:11 UTC (rev 22940)
@@ -11,6 +11,7 @@
package org.jboss.ide.eclipse.as.classpath.core.ejb3;
+import java.io.FileNotFoundException;
import java.util.ArrayList;
import org.eclipse.core.runtime.CoreException;
@@ -101,14 +102,18 @@
}
public IClasspathEntry[] getClasspathEntries() {
- ArrayList entries = new ArrayList();
- String id = jbossServer.getServer().getServerType().getRuntimeType().getId();
- if( id.equals(AS_40)) return get40Jars();
- if( id.equals(AS_42)) return get42Jars();
- return (IClasspathEntry[]) entries.toArray(new IClasspathEntry[entries.size()]);
+ try {
+ String id = jbossServer.getServer().getServerType().getRuntimeType().getId();
+ if( id.equals(AS_40)) return get40Jars(homePath, configPath);
+ if( id.equals(AS_42)) return get42Jars(homePath, configPath);
+ if( id.equals(AS_50)) return get50Jars(homePath, configPath);
+ if( id.equals(AS_51)) return get51Jars(homePath, configPath);
+ if( id.equals(AS_60)) return get60Jars(homePath, configPath);
+ } catch( FileNotFoundException fnfe ) {}
+ return new IClasspathEntry[]{};
}
- public IClasspathEntry[] get40Jars() {
+ protected static IClasspathEntry[] get40Jars(IPath homePath, IPath configPath) throws FileNotFoundException {
ArrayList list = new ArrayList();
// path roots
@@ -128,9 +133,9 @@
// hibernate
list.add(getEntry(homePath.append(CLIENT).append(HIBERNATE_CLIENT_JAR)));
return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
- }
-
- public IClasspathEntry[] get42Jars() {
+ }
+
+ protected static IClasspathEntry[] get42Jars(IPath homePath, IPath configPath) throws FileNotFoundException {
ArrayList list = new ArrayList();
// path roots
@@ -153,10 +158,58 @@
// persistence jar
list.add(getEntry(client.append(EJB3_PERSISTENCE_JAR)));
return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
+ }
+
+ protected static IClasspathEntry[] get50Jars(IPath homePath, IPath configPath) throws FileNotFoundException {
+ IPath deployers = configPath.append(DEPLOYERS);
+ IPath deployer = deployers.append(EJB3_DEPLOYER);
+ IPath aopDeployer = deployers.append(AOP_JBOSS5_DEPLOYER);
+ IPath client = homePath.append(CLIENT);
+ ArrayList<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
+ list.add(getEntry(aopDeployer.append(JBOSS5_ASPECT_LIBRARY_JAR)));
+ list.add(getEntry(deployer.append(JB5_EJB_DEPLOYER_JAR)));
+ list.add(getEntry(deployer.append(JB5_EJB_IIOP_JAR)));
+ list.add(getEntry(client.append(EJB3_PERSISTENCE_JAR)));
+ list.add(getEntry(client.append(jboss_ejb3_common_client)));
+ list.add(getEntry(client.append(jboss_ejb3_core_client)));
+ list.add(getEntry(client.append(jboss_ejb3_ext_api_impl)));
+ list.add(getEntry(client.append(jboss_ejb3_ext_api)));
+ list.add(getEntry(client.append(jboss_ejb3_proxy_client)));
+ list.add(getEntry(client.append(jboss_ejb3_proxy_clustered_client)));
+ list.add(getEntry(client.append(jboss_ejb3_security_client)));
+ list.add(getEntry(homePath.append(CLIENT).append(JB50_HIBERNATE_ANNOTATIONS_JAR)));
+ return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
}
-
- protected IClasspathEntry getEntry(IPath path) {
+ protected static IClasspathEntry[] get51Jars(IPath homePath, IPath configPath) throws FileNotFoundException {
+ return get50Jars(homePath, configPath);
+ }
+
+ protected static IClasspathEntry[] get60Jars(IPath homePath, IPath configPath) throws FileNotFoundException {
+ IPath deployers = configPath.append(DEPLOYERS);
+ IPath aopDeployer = deployers.append(AOP_JBOSS5_DEPLOYER);
+ IPath client = homePath.append(CLIENT);
+ ArrayList<IClasspathEntry> list = new ArrayList<IClasspathEntry>();
+ list.add(getEntry(aopDeployer.append(JBOSS6_AOP_ASPECTS_JAR)));
+ list.add(getEntry(aopDeployer.append(JBOSS6_AS_ASPECT_LIBRARY_JAR)));
+ list.add(getEntry(deployers.append(JB6_EJB3_ENDPOINT_DEPLOYER_JAR)));
+ list.add(getEntry(deployers.append(JB6_EJB3_METRICS_DEPLOYER_JAR)));
+ list.add(getEntry(client.append(jboss_ejb3_common_client)));
+ list.add(getEntry(client.append(jboss_ejb3_core_client)));
+ list.add(getEntry(client.append(jboss_ejb3_ext_api_impl)));
+ list.add(getEntry(client.append(jboss_ejb3_ext_api)));
+ list.add(getEntry(client.append(jboss6_ejb3_proxy_spi_client)));
+ list.add(getEntry(client.append(jboss6_ejb3_proxy_impl_client)));
+ list.add(getEntry(client.append(jboss_ejb3_proxy_clustered_client)));
+ list.add(getEntry(client.append(jboss_ejb3_security_client)));
+ list.add(getEntry(homePath.append(CLIENT).append(JB50_HIBERNATE_ANNOTATIONS_JAR)));
+ return (IClasspathEntry[]) list.toArray(new IClasspathEntry[list.size()]);
+ }
+
+ protected static IClasspathEntry getEntry(IPath path) throws FileNotFoundException {
+ System.out.println("ls " + path.toOSString().substring(45));
+ if( !path.toFile().exists())
+ throw new FileNotFoundException();
return JavaRuntime.newArchiveRuntimeClasspathEntry(path).getClasspathEntry();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/messages.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/messages.properties 2010-06-23 07:10:04 UTC (rev 22939)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/messages.properties 2010-06-23 07:23:11 UTC (rev 22940)
@@ -4,7 +4,7 @@
DirectoryLibraryContainerInitializer_libraries_found_no_dir=Libraries found in [No directory specified]
DirectoryLibraryContainerInitializer_libraries_found_in_dir=Libraries found in {0}
EJB3ClasspathContainer_ejb3_description=JBoss EJB3 Libraries
-EJB3ClasspathContainer_ejb30_description=JBoss EJB 3.0 Libraries
+EJB3ClasspathContainer_ejb30_description=JBoss EJB 3.x Libraries
J2EE13ClasspathContainerInitializer_description=J2EE 1.3 Libraries (JBoss Tools)
J2EE14ClasspathContainerInitializer_description=J2EE 1.4 Libraries (JBoss Tools)
J2EE50ClasspathContainerInitializer_description=J2EE 5.0 Libraries (JBoss Tools)
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.ui/src/org/jboss/ide/eclipse/as/classpath/ui/ejb3/JBossEJB3LibrariesPage.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.ui/src/org/jboss/ide/eclipse/as/classpath/ui/ejb3/JBossEJB3LibrariesPage.java 2010-06-23 07:10:04 UTC (rev 22939)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.ui/src/org/jboss/ide/eclipse/as/classpath/ui/ejb3/JBossEJB3LibrariesPage.java 2010-06-23 07:23:11 UTC (rev 22940)
@@ -22,13 +22,16 @@
package org.jboss.ide.eclipse.as.classpath.ui.ejb3;
import java.text.MessageFormat;
+
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.widgets.Composite;
import org.jboss.ide.eclipse.as.classpath.core.ejb3.EJB30SupportVerifier;
import org.jboss.ide.eclipse.as.classpath.core.ejb3.EJB3ClasspathContainer;
-import org.jboss.ide.eclipse.as.classpath.ui.ClasspathUIPlugin;
import org.jboss.ide.eclipse.as.classpath.ui.Messages;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
@@ -49,31 +52,44 @@
}
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ servers.addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ validateSelection();
+ }
+ });
+ }
+
+
+ protected void validateSelection() {
+ if( !jbossServerHasEJB3(jbossServer)) {
+ String error = MessageFormat.format(
+ Messages.JBossEJB3LibrariesPage_ConfigurationDoesNotContainEJB3Libraries,
+ jbossServer.getServer().getName());
+ setErrorMessage(error);
+ getContainer().updateButtons();
+ } else {
+ setErrorMessage(null);
+ }
+ }
+
private boolean jbossServerHasEJB3(JBossServer jbossServer) {
return EJB30SupportVerifier.verify(jbossServer.getServer().getRuntime());
}
public boolean finish() {
-
- if (jbossServer != null) {
- if (jbossServerHasEJB3(jbossServer)) {
+ if (jbossServer != null && jbossServerHasEJB3(jbossServer)) {
classpathEntry = JavaCore.newContainerEntry(new Path(EJB3ClasspathContainer.CONTAINER_ID)
.append(jbossServer.getServer().getName()), true);
return true;
- } else {
- ClasspathUIPlugin
- .error(MessageFormat
- .format(
- Messages.JBossEJB3LibrariesPage_ConfigurationDoesNotContainEJB3Libraries,
- jbossServer.getServer().getName()));
- }
}
-
return false;
}
public boolean isPageComplete() {
- return jbossServer != null && isCurrentPage();
+ return jbossServer != null && isCurrentPage() && jbossServerHasEJB3(jbossServer);
}
public IClasspathEntry getSelection() {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeResourceConstants.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeResourceConstants.java 2010-06-23 07:10:04 UTC (rev 22939)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossRuntimeResourceConstants.java 2010-06-23 07:23:11 UTC (rev 22940)
@@ -37,12 +37,15 @@
public static final String JSF_LIB = "jsf-libs"; //$NON-NLS-1$
public static final String JBOSSWEB_TOMCAT55_SAR = "jbossweb-tomcat55.sar"; //$NON-NLS-1$
public static final String JBOSSWEB_SAR = "jbossweb.sar"; //$NON-NLS-1$
+ public static final String JSTL_JAR = "jstl.jar"; //$NON-NLS-1$
public static final String JBOSS_WEB_SERVICE_JAR = "jboss-web-service.jar"; //$NON-NLS-1$
- public static final String JSTL_JAR = "jstl.jar"; //$NON-NLS-1$
public static final String EJB3_DEPLOYER = "ejb3.deployer"; //$NON-NLS-1$
+ public static final String JB6_EJB3_ENDPOINT_DEPLOYER_JAR = "jboss-ejb3-endpoint-deployer.jar";//$NON-NLS-1$
+ public static final String JB6_EJB3_METRICS_DEPLOYER_JAR = "jboss-ejb3-metrics-deployer.jar";//$NON-NLS-1$
public static final String WEBBEANS_DEPLOYER = "webbeans.deployer"; //$NON-NLS-1$
public static final String AS5_AOP_DEPLOYER = "jboss-aop-jboss5.deployer"; //$NON-NLS-1$
public static final String AOP_JDK5_DEPLOYER = "jboss-aop-jdk50.deployer"; //$NON-NLS-1$
+ public static final String AOP_JBOSS5_DEPLOYER = "jboss-aop-jboss5.deployer"; //$NON-NLS-1$
public static final String JBOSS_AOP_JDK5_JAR = "jboss-aop-jdk50.jar"; //$NON-NLS-1$
public static final String JBOSS_WEB_DEPLOYER = "jboss-web.deployer"; //$NON-NLS-1$
public static final String REST_EASY_DEPLOYER = "resteasy.deployer"; //$NON-NLS-1$
@@ -55,8 +58,26 @@
public static final String JBOSS_EJB3_JAR = "jboss-ejb3.jar"; //$NON-NLS-1$
public static final String JBOSS_ANNOTATIONS_EJB3_JAR = "jboss-annotations-ejb3.jar"; //$NON-NLS-1$
public static final String EJB3_PERSISTENCE_JAR = "ejb3-persistence.jar"; //$NON-NLS-1$
+ public static final String JB5_EJB_DEPLOYER_JAR = "jboss-ejb3-deployer.jar"; //$NON-NLS-1$
+ public static final String JB5_EJB_IIOP_JAR = "jboss-ejb3-iiop.jar"; //$NON-NLS-1$
+ public static final String jboss_ejb3_common_client = "jboss-ejb3-common-client.jar";//$NON-NLS-1$
+ public static final String jboss_ejb3_core_client = "jboss-ejb3-core-client.jar";//$NON-NLS-1$
+ public static final String jboss_ejb3_ext_api_impl = "jboss-ejb3-ext-api-impl.jar";//$NON-NLS-1$
+ public static final String jboss_ejb3_ext_api = "jboss-ejb3-ext-api.jar";//$NON-NLS-1$
+ public static final String jboss_ejb3_proxy_client = "jboss-ejb3-proxy-client.jar";//$NON-NLS-1$
+ public static final String jboss6_ejb3_proxy_spi_client = "jboss-ejb3-proxy-spi-client.jar";//$NON-NLS-1$
+ public static final String jboss6_ejb3_proxy_impl_client = "jboss-ejb3-proxy-impl-client.jar";//$NON-NLS-1$
+
+ public static final String jboss_ejb3_proxy_clustered_client = "jboss-ejb3-proxy-clustered-client.jar";//$NON-NLS-1$
+ public static final String jboss_ejb3_security_client = "jboss-ejb3-security-client.jar";//$NON-NLS-1$
+
public static final String JBOSS_ASPECT_LIBRARY_JDK5_0 = "jboss-aspect-library-jdk50.jar"; //$NON-NLS-1$
+ public static final String JBOSS5_ASPECT_LIBRARY_JAR = "jboss-aspect-library.jar"; //$NON-NLS-1$
+ public static final String JBOSS6_AOP_ASPECTS_JAR = "jboss-aop-aspects.jar"; //$NON-NLS-1$
+ public static final String JBOSS6_AS_ASPECT_LIBRARY_JAR = "jboss-as-aspects-jboss-aspect-library.jar"; //$NON-NLS-1$
+
public static final String HIBERNATE_CLIENT_JAR = "hibernate-client.jar"; //$NON-NLS-1$
+ public static final String JB50_HIBERNATE_ANNOTATIONS_JAR = "hibernate-annotations.jar"; //$NON-NLS-1$
public static final String JBOSSALL_CLIENT_JAR = "jbossall-client.jar"; //$NON-NLS-1$
public static final String JBOSSWEB_TOMCAT_50_SAR = "jbossweb-tomcat50.sar"; //$NON-NLS-1$
public static final String JSR299_API_JAR = "jsr299-api.jar"; //$NON-NLS-1$
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java 2010-06-23 07:10:04 UTC (rev 22939)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/IJBossToolingConstants.java 2010-06-23 07:23:11 UTC (rev 22940)
@@ -41,6 +41,8 @@
public static final String V4_0 = "4.0"; //$NON-NLS-1$
public static final String V4_2 = "4.2"; //$NON-NLS-1$
public static final String V5_0 = "5.0"; //$NON-NLS-1$
+ public static final String V5_1 = "5.1"; //$NON-NLS-1$
+ public static final String V6_0 = "6.0"; //$NON-NLS-1$
/* Files or folders inside the TOOLING */
15 years, 10 months