Author: vyemialyanchyk
Date: 2010-02-17 13:17:19 -0500 (Wed, 17 Feb 2010)
New Revision: 20324
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/CollectionPropertySource.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/EntityPropertySource.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/HibernatePropertySourceProvider.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5858 - fixed, npe fix for trunc and CR2 brunch
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/CollectionPropertySource.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/CollectionPropertySource.java 2010-02-17
17:56:35 UTC (rev 20323)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/CollectionPropertySource.java 2010-02-17
18:17:19 UTC (rev 20324)
@@ -29,29 +29,17 @@
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.hibernate.Session;
-import org.hibernate.console.execution.ExecutionContextHolder;
-import org.hibernate.metadata.CollectionMetadata;
public class CollectionPropertySource implements IPropertySource {
private Collection<?> collection;
IPropertyDescriptor[] descriptors = null;
-
- private final Session currentSession;
-
- private final CollectionMetadata collectionMetadata;
-
- private final ExecutionContextHolder currentConfiguration;
Map<Object, Object> values = new WeakHashMap<Object, Object>();
- public CollectionPropertySource(Collection<?> propertyValue, Session
currentSession, ExecutionContextHolder currentConfiguration, CollectionMetadata
collectionMetadata) {
+ public CollectionPropertySource(Collection<?> propertyValue) {
collection = propertyValue;
- this.currentSession = currentSession;
- this.currentConfiguration = currentConfiguration;
- this.collectionMetadata = collectionMetadata;
}
public Object getEditableValue() {
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/EntityPropertySource.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/EntityPropertySource.java 2010-02-17
17:56:35 UTC (rev 20323)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/EntityPropertySource.java 2010-02-17
18:17:19 UTC (rev 20324)
@@ -28,7 +28,9 @@
import org.eclipse.ui.views.properties.PropertyDescriptor;
import org.hibernate.EntityMode;
import org.hibernate.Session;
-import org.hibernate.console.execution.ExecutionContextHolder;
+import org.hibernate.console.ConsoleConfiguration;
+import org.hibernate.console.KnownConfigurations;
+import org.hibernate.console.execution.ExecutionContext;
import org.hibernate.console.execution.ExecutionContext.Command;
import org.hibernate.eclipse.console.HibernateConsoleMessages;
import org.hibernate.metadata.ClassMetadata;
@@ -42,14 +44,14 @@
private Object reflectedObject;
private IPropertyDescriptor[] propertyDescriptors;
- private final ExecutionContextHolder currentConfiguration;
+ private final String consoleConfigName;
private final Session currentSession;
private ClassMetadata classMetadata;
- public EntityPropertySource (final Object object, final Session currentSession,
ExecutionContextHolder currentConfiguration)
+ public EntityPropertySource(final Object object, final Session currentSession, String
consoleConfigName)
{
this.currentSession = currentSession;
- this.currentConfiguration = currentConfiguration;
+ this.consoleConfigName = consoleConfigName;
reflectedObject = object;
if(currentSession.isOpen()) {
classMetadata = currentSession.getSessionFactory().getClassMetadata(
currentSession.getEntityName(reflectedObject) );
@@ -65,16 +67,23 @@
}
public IPropertyDescriptor[] getPropertyDescriptors() {
- if(propertyDescriptors==null) {
- currentConfiguration.getExecutionContext().execute(new Command() {
-
- public Object execute() {
-
- propertyDescriptors = initializePropertyDescriptors(classMetadata);
- return null;
+ if (propertyDescriptors == null) {
+ ConsoleConfiguration consoleConfig =
KnownConfigurations.getInstance().find(consoleConfigName);
+ if (consoleConfig != null) {
+ ExecutionContext executionContext = consoleConfig.getExecutionContext();
+ if (executionContext == null) {
+ consoleConfig.build();
+ executionContext = consoleConfig.getExecutionContext();
}
-
- });
+ if (executionContext != null) {
+ executionContext.execute(new Command() {
+ public Object execute() {
+ propertyDescriptors = initializePropertyDescriptors(classMetadata);
+ return null;
+ }
+ });
+ }
+ }
}
return propertyDescriptors;
}
@@ -121,7 +130,7 @@
if (propertyValue instanceof Collection<?>) {
CollectionMetadata collectionMetadata =
currentSession.getSessionFactory().getCollectionMetadata(classMetadata.getEntityName() +
"." + id); //$NON-NLS-1$
if(collectionMetadata!=null) {
- propertyValue = new CollectionPropertySource((Collection<?>)
propertyValue,currentSession,currentConfiguration, collectionMetadata);
+ propertyValue = new CollectionPropertySource((Collection<?>) propertyValue);
}
}
return propertyValue;
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/HibernatePropertySourceProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/HibernatePropertySourceProvider.java 2010-02-17
17:56:35 UTC (rev 20323)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/views/properties/HibernatePropertySourceProvider.java 2010-02-17
18:17:19 UTC (rev 20324)
@@ -25,7 +25,6 @@
import org.eclipse.ui.views.properties.IPropertySourceProvider;
import org.hibernate.Session;
import org.hibernate.console.QueryPage;
-import org.hibernate.console.execution.ExecutionContextHolder;
import org.hibernate.eclipse.console.views.QueryPageTabView;
import org.hibernate.proxy.HibernateProxyHelper;
@@ -52,9 +51,9 @@
else {
// maybe we should be hooked up with the queryview to get this ?
Session currentSession = view.getSelectedQueryPage().getSession();
- ExecutionContextHolder currentConfiguration =
view.getSelectedQueryPage().getConsoleConfiguration();
+ String consoleConfigName =
view.getSelectedQueryPage().getConsoleConfiguration().getName();
if((currentSession.isOpen() && currentSession.contains(object)) ||
hasMetaData( object, currentSession) ) {
- return new EntityPropertySource(object, currentSession, currentConfiguration);
+ return new EntityPropertySource(object, currentSession, consoleConfigName);
} else {
return null;
}