X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java index a0e659d..992f064 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java @@ -12,19 +12,31 @@ Contributors: Klaus Hartlage - www.eclipseproject.de **********************************************************************/ +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.Wizard; import org.eclipse.ui.INewWizard; import org.eclipse.ui.IWorkbench; -import org.eclipse.core.runtime.*; -import org.eclipse.jface.operation.*; -import java.lang.reflect.InvocationTargetException; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.core.resources.*; -import org.eclipse.core.runtime.CoreException; -import java.io.*; -import org.eclipse.ui.*; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; /** * This wizard creates one file with the extension @@ -99,8 +111,15 @@ public class PHPFileWizard extends Wizard implements INewWizard { } IContainer container = (IContainer) resource; final IFile file = container.getFile(new Path(fileName)); + String className = getClassName(fileName); + try { - InputStream stream = openContentStream(); + InputStream stream; + if (className == null) { + stream = openContentStream(); + } else { + stream = openContentStreamClass(className); + } if (file.exists()) { file.setContents(stream, true, true, monitor); } else { @@ -124,10 +143,39 @@ public class PHPFileWizard extends Wizard implements INewWizard { } /** + * Check if the filename is like this anyname.class.php + * @param fileName the filename + * @return the anyname or null + */ + private static final String getClassName(final String fileName) { + final int lastDot = fileName.lastIndexOf('.'); + if (lastDot == -1) return null; + final int precLastDot = fileName.lastIndexOf('.',lastDot-1); + if (precLastDot == -1) return null; + if (!fileName.substring(precLastDot+1,lastDot).toUpperCase().equals("CLASS")) return null; + return fileName.substring(0,precLastDot-1); + } + + /** + * We will initialize file contents for a class + * @param className the classname + */ + private InputStream openContentStreamClass(final String className) { + StringBuffer contents = new StringBuffer(""); + return new ByteArrayInputStream(contents.toString().getBytes()); + } + + /** * We will initialize file contents with a sample text. */ private InputStream openContentStream() { - String className = fileName.substring(0, fileName.length() - 3); StringBuffer contents = new StringBuffer("