Author: dgeraskov
Date: 2007-12-22 08:12:17 -0500 (Sat, 22 Dec 2007)
New Revision: 5430
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/actions/OpenMappingAction.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1412
Open mapping file with annotations added for component properties
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/actions/OpenMappingAction.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/actions/OpenMappingAction.java 2007-12-22
11:58:37 UTC (rev 5429)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/actions/OpenMappingAction.java 2007-12-22
13:12:17 UTC (rev 5430)
@@ -121,21 +121,34 @@
java.io.File configXMLFile = consoleConfiguration.getPreferences().getConfigXMLFile();
IResource resource = OpenFileActionUtils.getResource(consoleConfiguration, proj,
configXMLFile, parentProperty.getPersistentClass());
- IEditorPart editorPart = openMapping(resource);
- ITextEditor textEditor = getTextEditor(editorPart);
- if (textEditor == null) return;
- textEditor.selectAndReveal(0, 0);
- FindReplaceDocumentAdapter findAdapter = getFindDocAdapter(textEditor);
- IRegion parentRegion = findSelection(parentProperty, findAdapter);
- if (parentRegion == null) return;
- try {
- IRegion propRegion =
findAdapter.find(parentRegion.getOffset()+parentRegion.getLength(),
generatePattern(compositeProperty), true, true, false, true);
- if (propRegion != null){
- textEditor.selectAndReveal(propRegion.getOffset(), propRegion.getLength());
+ IEditorPart editorPart = null;
+ if (resource != null){
+ editorPart = openMapping(resource);
+ if (editorPart != null){
+ ITextEditor textEditor = getTextEditor(editorPart);
+ if (textEditor == null) return;
+ textEditor.selectAndReveal(0, 0);
+ FindReplaceDocumentAdapter findAdapter = getFindDocAdapter(textEditor);
+ IRegion parentRegion = findSelection(parentProperty, findAdapter);
+ if (parentRegion == null) return;
+ try {
+ IRegion propRegion =
findAdapter.find(parentRegion.getOffset()+parentRegion.getLength(),
generatePattern(compositeProperty), true, true, false, true);
+ if (propRegion != null){
+ textEditor.selectAndReveal(propRegion.getOffset(), propRegion.getLength());
+ }
+ } catch (BadLocationException e) {
+ }
}
- } catch (BadLocationException e) {
return;
- }
+ }
+
+ if (parentProperty.getPersistentClass() != null){
+ PersistentClass rootClass = parentProperty.getPersistentClass();
+ if (OpenFileActionUtils.rootClassHasAnnotations(consoleConfiguration, configXMLFile,
rootClass)) {
+ String fullyQualifiedName = OpenFileActionUtils.getPersistentClassName(rootClass);
+ new OpenSourceAction().run(compositeProperty, proj, fullyQualifiedName);
+ }
+ }
}
/**