dma(a)exadel.com wrote:
Hi Michael,
Great that you are trying to fix JBIDE-611.
Got some comments on that:
1) Any way that this could be done in the hibernate tools plugin instead
of the unrelated diagram plugin ? (I don't see you are using any
new plugins for this so should be in the core of hibernate tools imo)
+++
Yes, hibernate tools core is better place for that code but I thougth I
can't change this plugin. If I can't use the original code of core how I
can do it? Should I ask you to make some changes or can I do it myself?
+++
For this thing where you are only adding an entry to plugin.xml and add
a new class you can just do it your self and i'll look at it when you
commit it.
3) This code looks like it is assuming everything are done in mapping
files and with a cfg.xml file; is that correct ? What about annotated
classes?
+++
I remember comment in jira about it. I work with this point now.
+++
Basically it probably should just try and see if it can find the mapped
class mentioned in hibernate.cfg.xml (if that exists) and if no listing
is found there load the java file.
4) you have copied a large chunk of code from hibernate tools plugin
to
locate the default project; why don't you use the existing code for that ?
+++
You speak about code
ILaunchManager launchManager =
DebugPlugin.getDefault().getLaunchManager();
ILaunchConfigurationType launchConfigurationType =
launchManager.getLaunchConfigurationType(
"org.hibernate.eclipse.launch.ConsoleConfigurationLaunchConfigurationType" );
ILaunchConfiguration[] launchConfigurations;
try {
launchConfigurations = launchManager.getLaunchConfigurations(
launchConfigurationType );
for (int i = 0; i < launchConfigurations.length; i++) { // can't
believe there is no look up by name API
ILaunchConfiguration launchConfiguration = launchConfigurations[i];
if(launchConfiguration.getName().equals(consoleConfiguration.getName()))
{
proj =
ProjectUtils.findJavaProject(launchConfiguration.getAttribute(IConsoleConfigurationLaunchConstants.PROJECT_NAME,
""));
}
}
} catch (CoreException e1) {
ViewPlugin.getDefault().logError("Can't find java project.", e1);
}
in OpenMappingActionDelegate class. Is that correct?
+++
Yes.
And now that I read it more thoroughly I can see your code is a bit
different since it scan's all hibernate console configurations to find
the config and possible matching project name.
It's not pretty but the following should work:
((EclipseConsoleConfigurationPreferences)consoleConfiguration.getPreferences()).getProjectName();
Isn't that what you want ? The java project associated with the console
configuration ? (remember that this can be null so remember check for null ;
/max