package com.farata.cleardatabuilder.extjs.facet.common; import java.io.File; import java.io.FilenameFilter; import java.util.Set; import org.eclipse.core.runtime.CoreException; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type; import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; import org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage; import org.eclipse.wst.common.project.facet.ui.IWizardContext; import com.farata.cleardatabuilder.extjs.facet.common.ui.CommonInstallWizardPageUI; import com.farata.cleardatabuilder.extjs.facet.sample.SampleInstallConfig; public class CommonInstallWizardPage extends AbstractFacetWizardPage { private CommonInstallConfig config; public CommonInstallWizardPage() { super(""); } public CommonInstallWizardPage(String name) { super(name); } @Override public void createControl(Composite composite) { Composite c = new Composite(composite, SWT.NONE); CommonInstallWizardPageUI impl = new CommonInstallWizardPageUI(this, c); impl.createParent(); setControl(c); setTitle("ClearDataBuilder for Ext JS Facet"); setDescription("Configure ClearDataBuilder for Ext JS settings."); setPageComplete(false); } public CommonInstallConfig getConfig() { return config; } @Override public void setConfig(Object config) { this.config = (CommonInstallConfig) config; if (this.config != null) { this.config.setWizardContext(context); } } public static boolean validateExtJSPath(final File path) { if (path != null && path.isDirectory()) { File[] files = path.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return dir.equals(path) && name.equalsIgnoreCase("ext.js"); } }); return files.length > 0; } return false; } public static SampleInstallConfig extractSampleConfiguration(CommonInstallConfig config) throws CoreException { IWizardContext wizardContext = config.getWizardContext(); Set<?> projectFacets = wizardContext.getSelectedProjectFacets(); for (Object oProjectFacet : projectFacets) { if (oProjectFacet instanceof IProjectFacetVersion) { Object conf = wizardContext.getConfig((IProjectFacetVersion) oProjectFacet, Type.INSTALL, ""); if (conf instanceof SampleInstallConfig) { return (SampleInstallConfig) conf; } } } return null; } public static boolean validateAppName(String text) { if (text == null || text.length() == 0) { return false; } if (!Character.isJavaIdentifierStart(text.charAt(0))) { return false; } for (int i = 1; i < text.length(); i++) { if (!Character.isJavaIdentifierPart(text.charAt(i))) { return false; } } return true; } }