/******************************************************************************* * Copyright (c) 2008 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. * * Contributors: * Oracle - initial API and implementation ******************************************************************************/ package org.eclipse.jpt.ui.internal.persistence.details; import java.util.Collection; import org.eclipse.jpt.core.context.persistence.PersistenceUnit; import org.eclipse.jpt.core.context.persistence.PersistenceUnitTransactionType; import org.eclipse.jpt.ui.internal.JpaHelpContextIds; import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages; import org.eclipse.jpt.ui.internal.widgets.Pane; import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; import org.eclipse.swt.widgets.Composite; /** * Here the layout of this pane: *
 * -----------------------------------------------------------------------------
 * |                    ------------------------------------------------------ |
 * | Transaction Type:  |                                                  |v| |
 * |                    ------------------------------------------------------ |
 * -----------------------------------------------------------------------------
* * @see PersistenceUnit * @see PersistenceUnitConnectionComposite - The parent container * * @version 2.0 * @since 2.0 */ public class PersistenceUnitConnectionGeneralComposite extends Pane { /** * Creates a new PersistenceUnitConnectionGeneralComposite. * * @param parentPane The parent pane of this one * @param parent The parent container */ public PersistenceUnitConnectionGeneralComposite(Pane subjectHolder, Composite container) { super(subjectHolder, container); } private EnumFormComboViewer buildTransactionTypeCombo(Composite container) { return new EnumFormComboViewer(this, container) { @Override protected void addPropertyNames(Collection propertyNames) { super.addPropertyNames(propertyNames); propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY); propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY); } @Override protected PersistenceUnitTransactionType[] getChoices() { return PersistenceUnitTransactionType.values(); } @Override protected PersistenceUnitTransactionType getDefaultValue() { return getSubject().getDefaultTransactionType(); } @Override protected String displayString(PersistenceUnitTransactionType value) { return buildDisplayString( JptUiPersistenceMessages.class, PersistenceUnitConnectionGeneralComposite.this, value ); } @Override protected PersistenceUnitTransactionType getValue() { return getSubject().getSpecifiedTransactionType(); } @Override protected void setValue(PersistenceUnitTransactionType value) { getSubject().setSpecifiedTransactionType(value); } }; } /* * (non-Javadoc) */ @Override protected void initializeLayout(Composite container) { // Transaction Type widgets addLabeledComposite( container, JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_transactionType, buildTransactionTypeCombo(container).getControl(), JpaHelpContextIds.PERSISTENCE_XML_CONNECTION ); } }