package org.marketcetera.photon.internal.strategy.engine.sa.ui.workbench;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.marketcetera.photon.commons.ui.workbench.DataBindingPropertyPage;
import org.marketcetera.photon.strategy.engine.model.sa.StrategyAgentEngine;
import org.marketcetera.photon.strategy.engine.sa.ui.StrategyAgentEngineUI;
import org.marketcetera.photon.strategy.engine.ui.StrategyEngineImage;
import org.marketcetera.util.misc.ClassVersion;
/* $License$ */
/**
* Property page for {@link StrategyAgentEngine} connection properties.
*
* @author <a href="mailto:will@marketcetera.com">Will Horn</a>
* @version $Id: StrategyAgentConnectionPropertyPage.java 16154 2012-07-14 16:34:05Z colin $
* @since 2.0.0
*/
@ClassVersion("$Id: StrategyAgentConnectionPropertyPage.java 16154 2012-07-14 16:34:05Z colin $")
public class StrategyAgentConnectionPropertyPage extends DataBindingPropertyPage {
private StrategyAgentEngine mOriginalEngine;
private StrategyAgentEngine mNewEngine;
/**
* Constructor.
*/
public StrategyAgentConnectionPropertyPage() {
setImageDescriptor(StrategyEngineImage.ENGINE_OBJ.getImageDescriptor());
noDefaultAndApplyButton();
}
@Override
protected Control createContents(Composite parent) {
mOriginalEngine = (StrategyAgentEngine) getElement().getAdapter(
StrategyAgentEngine.class);
// make a copy so cancel works as expected
mNewEngine = (StrategyAgentEngine) EcoreUtil.copy(mOriginalEngine);
Composite composite = StrategyAgentEngineUI
.createStrategyAgentConnectionComposite(parent,
getDataBindingContext(), mNewEngine);
return composite;
}
@Override
public boolean performOk() {
mOriginalEngine.setJmsUrl(mNewEngine.getJmsUrl());
mOriginalEngine.setWebServiceHostname(mNewEngine.getWebServiceHostname());
mOriginalEngine.setWebServicePort(mNewEngine.getWebServicePort());
return true;
}
}