/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.tools.workbench.mappingsplugin.ui.project; import java.awt.Component; import java.util.List; import javax.swing.BorderFactory; import org.eclipse.persistence.tools.workbench.framework.context.WorkbenchContextHolder; import org.eclipse.persistence.tools.workbench.mappingsmodel.project.MWProjectDefaultsPolicy; import org.eclipse.persistence.tools.workbench.mappingsmodel.project.MWTransactionalProjectDefaultsPolicy; import org.eclipse.persistence.tools.workbench.uitools.app.PropertyValueModel; import org.eclipse.persistence.tools.workbench.uitools.app.TransformationPropertyValueModel; /** * UI editor for transactional based project defaults. * * @version 10.1.3 */ public class TransactionalProjectDefaultsPropertiesPage extends ProjectDefaultsPropertiesPage { public TransactionalProjectDefaultsPropertiesPage( PropertyValueModel projectNodeHolder, WorkbenchContextHolder contextHolder) { super(projectNodeHolder, contextHolder); } protected List buildAdvancedPropertyHolders() { List holders = super.buildAdvancedPropertyHolders(); holders.add(new UIAdvancedPolicyHolder(MWTransactionalProjectDefaultsPolicy.EVENTS_POLICY, "TRANSACTIONAL_PROJECT_DEFAULTS_POLICY_EVENTS_POLICY")); holders.add(new UIAdvancedPolicyHolder(MWTransactionalProjectDefaultsPolicy.RETURNING_POLICY, "TRANSACTIONAL_PROJECT_DEFAULTS_POLICY_RETURNING_POLICY")); return holders; } protected Component buildCachingDefaultsPanel() { ProjectCachingPolicyPanel panel = new ProjectCachingPolicyPanel ( buildCachingPolicyHolder(), getWorkbenchContextHolder() ); panel.setBorder(BorderFactory.createCompoundBorder ( buildTitledBorder("TRANSACTIONAL_PROJECT_DEFAULTS_PROJECT_CACHING"), BorderFactory.createEmptyBorder(0, 5, 5, 5) )); return panel; } private PropertyValueModel buildCachingPolicyHolder() { return new TransformationPropertyValueModel(getSelectionHolder()) { protected Object transform(Object value) { if (value == null) return null; return ((MWProjectDefaultsPolicy) value).getCachingPolicy(); } }; } }