X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/com/xaraya/wizard/XarayaModuleContainerPage.java b/net.sourceforge.phpeclipse/src/com/xaraya/wizard/XarayaModuleContainerPage.java deleted file mode 100644 index 34b50ff..0000000 --- a/net.sourceforge.phpeclipse/src/com/xaraya/wizard/XarayaModuleContainerPage.java +++ /dev/null @@ -1,384 +0,0 @@ -package com.xaraya.wizard; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.StringTokenizer; - -import net.sourceforge.phpdt.internal.ui.util.StringUtil; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceStatus; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.ui.actions.WorkspaceModifyOperation; -import org.eclipse.ui.dialogs.ContainerGenerator; -import org.eclipse.ui.help.WorkbenchHelp; -import org.eclipse.ui.internal.IHelpContextIds; -import org.eclipse.ui.internal.WorkbenchMessages; -import org.eclipse.ui.internal.WorkbenchPlugin; -import org.eclipse.ui.internal.misc.ResourceAndContainerGroup; - -public class XarayaModuleContainerPage extends WizardPage implements Listener { - private static final int SIZING_CONTAINER_GROUP_HEIGHT = 250; - private IStructuredSelection currentSelection; - private IContainer currentParent; - NewXarayaResourceWizard wizard; - private IPath newModulePath; - private IFolder newModule; - - // widgets - private ResourceAndContainerGroup resourceGroup; - -public XarayaModuleContainerPage(String pageName, IStructuredSelection selection) { - super(XarayaModuleMessages.getString("Xaraya.label.container")); - setTitle(pageName); - setDescription(XarayaModuleMessages.getString("Xaraya.label.container")); - this.currentSelection = selection; -} - -public void createControl(Composite parent) { - initializeDialogUnits(parent); - // top level group - Composite composite = new Composite(parent,SWT.NONE); - composite.setFont(parent.getFont()); - composite.setLayout(new GridLayout()); - composite.setLayoutData(new GridData( - GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL)); - - WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_FOLDER_WIZARD_PAGE); - - resourceGroup = new ResourceAndContainerGroup(composite,this, - XarayaModuleMessages.getString("Xaraya.label.container"), - XarayaModuleMessages.getString("Xaraya.label.modversionname"), - false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-2$ //$NON-NLS-1$ - resourceGroup.setAllowExistingResources(false); - initializePage(); - validatePage(); - // Show description on opening - setErrorMessage(null); - setMessage(null); - setControl(composite); -} - -protected void createFolder(IFolder folderHandle, IProgressMonitor monitor) throws CoreException { - try { - // Create the folder resource in the workspace - // Update: Recursive to create any folders which do not exist already - if (!folderHandle.exists()) { - IContainer parent= folderHandle.getParent(); - if (parent instanceof IFolder && (!((IFolder)parent).exists())) { - createFolder((IFolder)parent, monitor); - } - folderHandle.create(false, true, monitor); - } - } - catch (CoreException e) { - // If the folder already existed locally, just refresh to get contents - if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED) - folderHandle.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(monitor, 500)); - else - throw e; - } - - if (monitor.isCanceled()) - throw new OperationCanceledException(); -} - -protected IFolder createFolderHandle(IPath folderPath) { - return WorkbenchPlugin.getPluginWorkspace().getRoot().getFolder(folderPath); -} - -public IFolder createNewModuleFolder() { - if (newModule != null) - return newModule; - - // create the new folder and cache it if successful - final IPath containerPath = resourceGroup.getContainerFullPath(); - newModulePath = containerPath.append(resourceGroup.getResource()); - final IFolder newModuleHandle = createFolderHandle(newModulePath); - - WorkspaceModifyOperation op = new WorkspaceModifyOperation() { - public void execute(IProgressMonitor monitor) throws CoreException { - try { - monitor.beginTask(WorkbenchMessages.getString("WizardNewFolderCreationPage.progress"), 2000); //$NON-NLS-1$ - ContainerGenerator generator = new ContainerGenerator(containerPath); - generator.generateContainer(new SubProgressMonitor(monitor, 1000)); - createFolder(newModuleHandle, new SubProgressMonitor(monitor, 1000)); - } finally { - monitor.done(); - } - } - }; - - try { - getContainer().run(true, true, op); - } catch (Exception e) { - return null; - } - newModule = newModuleHandle; - return newModule; -} - -public boolean createNewGuiFolder() { - final IPath containerPath = newModulePath; - IPath newFolderPath = containerPath.append(XarayaModuleMessages.getString("Xaraya.folder.gui")); - final IFolder newFolderHandle = createFolderHandle(newFolderPath); - - WorkspaceModifyOperation op = new WorkspaceModifyOperation() { - public void execute(IProgressMonitor monitor) throws CoreException { - try { - monitor.beginTask(WorkbenchMessages.getString("WizardNewFolderCreationPage.progress"), 2000); //$NON-NLS-1$ - ContainerGenerator generator = new ContainerGenerator(containerPath); - generator.generateContainer(new SubProgressMonitor(monitor, 1000)); - createFolder(newFolderHandle, new SubProgressMonitor(monitor, 1000)); - } finally { - monitor.done(); - } - } - }; - - try { - getContainer().run(true, true, op); - } catch (Exception e) { - return false; - } - return true; -} - -protected void createFile(IFile fileHandle, InputStream contents, IProgressMonitor monitor) throws CoreException { - if (contents == null) - contents = new ByteArrayInputStream(new byte[0]); - - try { - fileHandle.create(contents, false, monitor); - } - catch (CoreException e) { - // If the file already existed locally, just refresh to get contents - if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED) - fileHandle.refreshLocal(IResource.DEPTH_ZERO, null); - else - throw e; - } - - if (monitor.isCanceled()) - throw new OperationCanceledException(); -} - -protected IFile createFileHandle(IPath filePath) { - return WorkbenchPlugin.getPluginWorkspace().getRoot().getFile(filePath); -} - -public Object[] createNewModuleFiles(){ - ArrayList fileAL = new ArrayList(); - boolean isGuiDirCreated = false; - fileAL.add(createNewFile(XarayaModuleMessages.getString("Xaraya.files.init"))); - fileAL.add(createNewFile(XarayaModuleMessages.getString("Xaraya.files.version"))); - if (XarayaVersionModel.isAdminApi()) fileAL.add(createNewFile(XarayaModuleMessages.getString("Xaraya.files.adminApi"))); - if (XarayaVersionModel.isAdminGui()) { - fileAL.add(createNewFile(XarayaModuleMessages.getString("Xaraya.files.adminGui"))); - isGuiDirCreated=createNewGuiFolder(); - } - if (XarayaVersionModel.isUserApi()) fileAL.add(createNewFile(XarayaModuleMessages.getString("Xaraya.files.userApi"))); - if (XarayaVersionModel.isUserGui()) { - fileAL.add(createNewFile(XarayaModuleMessages.getString("Xaraya.files.userGui"))); - if (!isGuiDirCreated) isGuiDirCreated=createNewGuiFolder(); - } - return fileAL.toArray(); -} - -public IFile createNewFile(String fileName) { - final IPath containerPath = newModulePath; - IPath newFilePath = containerPath.append(fileName); - final IFile newFileHandle = createFileHandle(newFilePath); - final InputStream initialContents = getInitialContents(fileName); - WorkspaceModifyOperation op = new WorkspaceModifyOperation() { - protected void execute(IProgressMonitor monitor) throws CoreException, - InterruptedException - { - try { - monitor.beginTask("Progress", 2000); //$NON-NLS-1$ - ContainerGenerator generator = new ContainerGenerator(containerPath); - generator.generateContainer(new SubProgressMonitor(monitor, 1000)); - createFile(newFileHandle,initialContents, new SubProgressMonitor(monitor, 1000)); - } finally { - monitor.done(); - } - } - }; - - try { - getContainer().run(true, true, op); - } catch (Exception e) { - return null; - } - return newFileHandle; -} - - protected InputStream getInitialContents(String fileName) { - StringBuffer inputString = new StringBuffer(); - if (fileName.equals(XarayaModuleMessages.getString("Xaraya.files.init"))) - inputString=XarayaModuleText.xarinit; - if (fileName.equals(XarayaModuleMessages.getString("Xaraya.files.adminGui"))) - inputString=XarayaModuleText.xaradmin; - if (fileName.equals(XarayaModuleMessages.getString("Xaraya.files.adminApi"))) - inputString=XarayaModuleText.xaradminapi; - if (fileName.equals(XarayaModuleMessages.getString("Xaraya.files.userGui"))) - inputString=XarayaModuleText.xaruser; - if (fileName.equals(XarayaModuleMessages.getString("Xaraya.files.userApi"))) - inputString=XarayaModuleText.xaruserapi; - if (fileName.equals(XarayaModuleMessages.getString("Xaraya.files.version"))) - inputString=XarayaModuleText.xarversion; - - ArrayList inserts = new ArrayList(); - //makes things simpler to just refer to the arraylist... - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.name")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.id")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.version")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.description")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.official")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.author")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.contact")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.admin")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.user")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.securityschema")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.class")); - inserts.add(XarayaModuleMessages.getString("Xaraya.insert.category")); - - ArrayList names = new ArrayList(); - names.add(XarayaVersionModel.getModversionname()); - names.add(XarayaVersionModel.getModversionid()); - names.add(XarayaVersionModel.getModversionversion()); - names.add(XarayaVersionModel.getModversiondescription()); - names.add(XarayaVersionModel.getModversionofficial()); - names.add(XarayaVersionModel.getModversionauthor()); - names.add(XarayaVersionModel.getModversioncontact()); - names.add(XarayaVersionModel.getModversionadmin()); - names.add(XarayaVersionModel.getModversionuser()); - names.add(XarayaVersionModel.getModversionsecurityschema()); - names.add(XarayaVersionModel.getModversionclass()); - names.add(XarayaVersionModel.getModversioncategory()); - - PipedOutputStream ps = null; - PipedInputStream is = null; - String buffer = inputString.toString(); - for (int i=0; i 0) - nameStatus = workspace.validateName(folderName, IResource.FOLDER); - if (nameStatus != null && !nameStatus.isOK()) { - setErrorMessage(nameStatus.getMessage()); - return false; - } - - if (!resourceGroup.areAllValuesValid()) { - // if blank name then fail silently - if (resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_RESOURCE_EMPTY - || resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_CONTAINER_EMPTY) { - setMessage(resourceGroup.getProblemMessage()); - setErrorMessage(null); - } else { - setErrorMessage(resourceGroup.getProblemMessage()); - } - valid = false; - } - if (valid) { - XarayaVersionModel.setModversionname(moduleName); - setErrorMessage(null); - } - return valid; -} - -} -