diff options
author | kmoore | 2009-04-24 22:14:48 +0000 |
---|---|---|
committer | kmoore | 2009-04-24 22:14:48 +0000 |
commit | c7cbc6a437694cb11aaa7037cda9148b5058b842 (patch) | |
tree | ed0f8ed02a1cc8a8355301ade222cc19ce5b2ac2 /jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence | |
parent | d4a5c4c3597856a524b52dc5fdecac924a010a61 (diff) | |
download | webtools.dali-c7cbc6a437694cb11aaa7037cda9148b5058b842.tar.gz webtools.dali-c7cbc6a437694cb11aaa7037cda9148b5058b842.tar.xz webtools.dali-c7cbc6a437694cb11aaa7037cda9148b5058b842.zip |
272964 - changing properties in persistence.xml source does not properly update the UI - I have changed the context model to be updated more explicitly instead of via model listeners on the properties
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence')
3 files changed, 62 insertions, 20 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java index fa7d9b329f..cd6fe7d8bd 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/DataSourcePropertiesComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Oracle. All rights reserved. + * Copyright (c) 2008, 2009 Oracle. All rights reserved. * This program and the accompanying materials are 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. @@ -9,6 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.eclipselink.ui.internal.persistence.connection; +import org.eclipse.jpt.core.context.persistence.PersistenceUnit; import org.eclipse.jpt.core.context.persistence.PersistenceUnitTransactionType; import org.eclipse.jpt.eclipselink.core.internal.context.persistence.connection.Connection; import org.eclipse.jpt.eclipselink.ui.internal.EclipseLinkUiMessages; @@ -41,10 +42,10 @@ public class DataSourcePropertiesComposite extends Pane<Connection> { } private WritablePropertyValueModel<String> buildJtaDataSourceHolder() { - return new PropertyAspectAdapter<Connection, String>(getSubjectHolder(), Connection.JTA_DATA_SOURCE_PROPERTY) { + return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) { @Override protected String buildValue_() { - return subject.getJtaDataSource(); + return this.subject.getJtaDataSource(); } @Override @@ -52,7 +53,7 @@ public class DataSourcePropertiesComposite extends Pane<Connection> { if (value.length() == 0) { value = null; } - subject.setJtaDataSource(value); + this.subject.setJtaDataSource(value); } }; } @@ -67,10 +68,10 @@ public class DataSourcePropertiesComposite extends Pane<Connection> { } private WritablePropertyValueModel<String> buildNonJtaDataSourceHolder() { - return new PropertyAspectAdapter<Connection, String>(getSubjectHolder(), Connection.NON_JTA_DATA_SOURCE_PROPERTY) { + return new PropertyAspectAdapter<PersistenceUnit, String>(buildPersistenceUnitHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) { @Override protected String buildValue_() { - return subject.getNonJtaDataSource(); + return this.subject.getNonJtaDataSource(); } @Override @@ -78,7 +79,7 @@ public class DataSourcePropertiesComposite extends Pane<Connection> { if (value.length() == 0) { value = null; } - subject.setNonJtaDataSource(value); + this.subject.setNonJtaDataSource(value); } }; } @@ -87,20 +88,33 @@ public class DataSourcePropertiesComposite extends Pane<Connection> { return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) { @Override protected Boolean transform(PersistenceUnitTransactionType value) { - return value == PersistenceUnitTransactionType.RESOURCE_LOCAL; + return Boolean.valueOf(value == PersistenceUnitTransactionType.RESOURCE_LOCAL); } }; } private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() { - return new PropertyAspectAdapter<Connection, PersistenceUnitTransactionType>(getSubjectHolder(), Connection.TRANSACTION_TYPE_PROPERTY) { + return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>( + buildPersistenceUnitHolder(), + PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY, + PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) { @Override protected PersistenceUnitTransactionType buildValue_() { - return subject.getTransactionType(); + return this.subject.getTransactionType(); } }; } + private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() { + return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) { + @Override + protected PersistenceUnit buildValue_() { + return this.subject.getPersistenceUnit(); + } + }; + + } + @Override protected void initializeLayout(Composite container) { diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java index aade59a729..a4b532efac 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/JdbcPropertiesComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2008 Oracle. All rights reserved. +* Copyright (c) 2008, 2009 Oracle. All rights reserved. * This program and the accompanying materials are 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. @@ -9,6 +9,7 @@ *******************************************************************************/ package org.eclipse.jpt.eclipselink.ui.internal.persistence.connection; +import org.eclipse.jpt.core.context.persistence.PersistenceUnit; import org.eclipse.jpt.core.context.persistence.PersistenceUnitTransactionType; import org.eclipse.jpt.eclipselink.core.internal.context.persistence.connection.Connection; import org.eclipse.jpt.eclipselink.ui.internal.EclipseLinkUiMessages; @@ -40,14 +41,27 @@ public class JdbcPropertiesComposite extends Pane<Connection> } private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() { - return new PropertyAspectAdapter<Connection, PersistenceUnitTransactionType>(getSubjectHolder(), Connection.TRANSACTION_TYPE_PROPERTY) { + return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>( + buildPersistenceUnitHolder(), + PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY, + PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY) { @Override protected PersistenceUnitTransactionType buildValue_() { - return subject.getTransactionType(); + return this.subject.getTransactionType(); } }; } + private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() { + return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) { + @Override + protected PersistenceUnit buildValue_() { + return this.subject.getPersistenceUnit(); + } + }; + + } + @Override protected void initializeLayout(Composite container) { diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java index 36b689271a..195c44c55a 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/persistence/connection/TransactionTypeComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Oracle. All rights reserved. + * Copyright (c) 2008, 2009 Oracle. All rights reserved. * This program and the accompanying materials are 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. @@ -10,11 +10,15 @@ package org.eclipse.jpt.eclipselink.ui.internal.persistence.connection; import java.util.Collection; + +import org.eclipse.jpt.core.context.persistence.PersistenceUnit; import org.eclipse.jpt.core.context.persistence.PersistenceUnitTransactionType; import org.eclipse.jpt.eclipselink.core.internal.context.persistence.connection.Connection; import org.eclipse.jpt.eclipselink.ui.internal.EclipseLinkUiMessages; import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; import org.eclipse.jpt.ui.internal.widgets.FormPane; +import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; /** @@ -37,12 +41,12 @@ public class TransactionTypeComposite extends FormPane<Connection> super( parentComposite, parent); } - private EnumFormComboViewer<Connection, PersistenceUnitTransactionType> addTransactionTypeCombo(Composite container) { - return new EnumFormComboViewer<Connection, PersistenceUnitTransactionType>(this, container) { + private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> addTransactionTypeCombo(Composite container) { + return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this, buildPersistenceUnitHolder(), container) { @Override protected void addPropertyNames(Collection<String> propertyNames) { super.addPropertyNames(propertyNames); - propertyNames.add(Connection.TRANSACTION_TYPE_PROPERTY); + propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY); } @Override @@ -67,7 +71,7 @@ public class TransactionTypeComposite extends FormPane<Connection> @Override protected void setValue(PersistenceUnitTransactionType value) { - getSubject().setTransactionType(value); + getSubject().setSpecifiedTransactionType(value); if (value == PersistenceUnitTransactionType.RESOURCE_LOCAL) { clearJTAProperties(); @@ -79,13 +83,23 @@ public class TransactionTypeComposite extends FormPane<Connection> }; } + private PropertyValueModel<PersistenceUnit> buildPersistenceUnitHolder() { + return new PropertyAspectAdapter<Connection, PersistenceUnit>(getSubjectHolder()) { + @Override + protected PersistenceUnit buildValue_() { + return this.subject.getPersistenceUnit(); + } + }; + + } + private void clearJTAProperties() { - getSubject().setJtaDataSource(null); + getSubject().getPersistenceUnit().setJtaDataSource(null); } private void clearResourceLocalProperties() { Connection connection = getSubject(); - connection.setNonJtaDataSource(null); + connection.getPersistenceUnit().setNonJtaDataSource(null); connection.setDriver(null); connection.setUrl(null); connection.setUser(null); |