package org.zend.php.zendserver.deployment.ui.editors; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import org.eclipse.jface.text.IDocument; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; import org.zend.php.zendserver.deployment.core.descriptor.IDescriptorContainer; import org.zend.php.zendserver.deployment.ui.HelpContextIds; public class DeploymentPropertiesPage extends DescriptorEditorPage { protected IDescriptorContainer model; private PropertiesTreeSection appdirSection; private PropertiesTreeSection scriptsdirSection; public DeploymentPropertiesPage(IDescriptorContainer model, DeploymentDescriptorEditor editor, String id, String title) { super(editor, id, title); this.model = model; } @Override public void refresh() { appdirSection.refresh(); scriptsdirSection.refresh(); } @Override public void setActive(boolean active) { if (active) { DeploymentDescriptorEditor editor = ((DeploymentDescriptorEditor) getEditor()); IDocument document = editor.getPropertiesDocument(); InputStream stream = new ByteArrayInputStream(document.get().getBytes()); try { model.getMappingModel().load(stream); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } super.setActive(active); } @Override protected void createFormContent(IManagedForm managedForm) { super.createFormContent(managedForm); final ScrolledForm form = managedForm.getForm(); form.getBody().setLayout(FormLayoutFactory.createFormGridLayout(true, 2)); createTreeSections(managedForm); } private void createTreeSections(IManagedForm managedForm) { ScrolledForm form = managedForm.getForm(); FormToolkit toolkit = managedForm.getToolkit(); appdirSection = new AppTreeSection(getEditor(), form.getBody(), toolkit, model); scriptsdirSection = new ScriptsTreeSection(getEditor(), form.getBody(), toolkit, model); } @Override protected String getHelpResource() { return HelpContextIds.PACKAGE_TAB; } }