summaryrefslogtreecommitdiff
path: root/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'scripting')
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderCookie.java6
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderSupport.java58
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolder.java93
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolderDataLoader.java6
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/resources/templates/EmptyParcelDescriptor.xml_4
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelContentsIterator.java55
6 files changed, 141 insertions, 81 deletions
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderCookie.java b/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderCookie.java
index 98e1c8262b1a..0a1cbd4d0540 100644
--- a/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderCookie.java
+++ b/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderCookie.java
@@ -2,9 +2,9 @@
*
* $RCSfile: ParcelFolderCookie.java,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: toconnor $ $Date: 2003-02-24 12:53:09 $
+ * last change: $Author: toconnor $ $Date: 2003-06-12 11:31:25 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -71,4 +71,6 @@ public interface ParcelFolderCookie extends Node.Cookie
public void setClasspath(String value);
public String getClasspath();
+
+ public String getLanguage();
}
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderSupport.java b/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderSupport.java
index 5baafa2f758b..dab1ae8b77d9 100644
--- a/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderSupport.java
+++ b/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelFolderSupport.java
@@ -2,9 +2,9 @@
*
* $RCSfile: ParcelFolderSupport.java,v $
*
- * $Revision: 1.10 $
+ * $Revision: 1.11 $
*
- * last change: $Author: toconnor $ $Date: 2003-06-04 13:19:53 $
+ * last change: $Author: toconnor $ $Date: 2003-06-12 11:31:26 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -104,46 +104,55 @@ public class ParcelFolderSupport implements ParcelFolderCookie
{
protected ParcelFolder parcelFolder;
private ConfigurePanel configuror = null;
- private ParcelDescriptor descriptor = null;
public ParcelFolderSupport(ParcelFolder parcelFolder) {
this.parcelFolder = parcelFolder;
}
+ public String getLanguage() {
+ ParcelDescriptor descriptor = getParcelDescriptor();
+
+ if (descriptor == null) {
+ return "";
+ }
+ else {
+ return descriptor.getLanguage();
+ }
+ }
+
public String getClasspath() {
+ ParcelDescriptor descriptor = getParcelDescriptor();
+
if (descriptor == null) {
- try {
- descriptor = getParcelDescriptor();
- }
- catch (IOException ioe) {
- ErrorManager.getDefault().notify(ioe);
- return null;
- }
+ return "";
+ }
+ else {
+ return descriptor.getLanguageProperty("classpath");
}
- return descriptor.getLanguageProperty("classpath");
}
public void setClasspath(String value) {
- try {
- if (descriptor == null) {
- descriptor = getParcelDescriptor();
- }
+ ParcelDescriptor descriptor = getParcelDescriptor();
+
+ if (descriptor != null) {
descriptor.setLanguageProperty("classpath", value);
- descriptor.write();
- }
- catch (IOException ioe) {
- ErrorManager.getDefault().notify(ioe);
+
+ try {
+ descriptor.write();
+ }
+ catch (IOException ioe) {
+ ErrorManager.getDefault().notify(ioe);
+ }
}
}
- private ParcelDescriptor getParcelDescriptor() throws IOException {
+ private ParcelDescriptor getParcelDescriptor() {
FileObject primary = parcelFolder.getPrimaryFile();
File contents = FileUtil.toFile(
primary.getFileObject(ParcelZipper.CONTENTS_DIRNAME));
- return new ParcelDescriptor(
- new File(contents, ParcelZipper.PARCEL_DESCRIPTOR_XML));
+ return ParcelDescriptor.getParcelDescriptor(contents);
}
public void generate() {
@@ -203,8 +212,9 @@ public class ParcelFolderSupport implements ParcelFolderCookie
classpath.addElement(contents.getAbsolutePath());
try {
+ ParcelDescriptor descriptor = getParcelDescriptor();
if (descriptor == null) {
- descriptor = getParcelDescriptor();
+ descriptor = ParcelDescriptor.createParcelDescriptor(contents);
}
if (configuror == null) {
@@ -229,7 +239,7 @@ public class ParcelFolderSupport implements ParcelFolderCookie
if (dd.getValue() == DialogDescriptor.OK_OPTION) {
try {
- descriptor = configuror.getConfiguration();
+ ParcelDescriptor descriptor = configuror.getConfiguration();
descriptor.write();
}
catch (Exception e) {
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolder.java b/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolder.java
index e3ac000cd713..d8676531aad2 100644
--- a/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolder.java
+++ b/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolder.java
@@ -2,9 +2,9 @@
*
* $RCSfile: ParcelContentsFolder.java,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: toconnor $ $Date: 2002-11-13 17:44:32 $
+ * last change: $Author: toconnor $ $Date: 2003-06-12 11:31:26 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -61,14 +61,101 @@
package org.openoffice.netbeans.modules.office.loader;
+import java.io.IOException;
+
+import org.openide.TopManager;
+import org.openide.NotifyDescriptor;
+import org.openide.ErrorManager;
+
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+import org.openide.filesystems.FileSystem;
+import org.openide.filesystems.Repository;
+
+import org.openide.loaders.DataObject;
import org.openide.loaders.DataFolder;
import org.openide.loaders.DataObjectExistsException;
-import org.openide.filesystems.FileObject;
+import org.openide.nodes.Node;
+import org.openide.util.datatransfer.NewType;
+
+import org.openoffice.netbeans.modules.office.actions.ParcelFolderCookie;
+import org.openoffice.netbeans.modules.office.utils.PackageRemover;
public class ParcelContentsFolder extends DataFolder {
public ParcelContentsFolder(FileObject pf, ParcelContentsFolderDataLoader loader)
throws DataObjectExistsException {
super(pf, loader);
}
+
+ public Node createNodeDelegate() {
+ return new DataFolder.FolderNode() {
+ public NewType[] getNewTypes() {
+ NewType[] newtypes = new NewType[1];
+ newtypes[0] = new NewType() {
+ public String getName() {
+ return "New Script";
+ }
+
+ public void create() {
+ DataFolder contents = (DataFolder)getDataObject();
+ ParcelFolderCookie cookie =
+ (ParcelFolderCookie)contents.getFolder().
+ getCookie(ParcelFolderCookie.class);
+
+ String language = cookie.getLanguage();
+ ParcelContentsFolder.createEmptyScript(contents,
+ language);
+ }
+ };
+ return newtypes;
+ }
+ };
+ }
+
+ public static void createEmptyScript(DataFolder parent, String language) {
+ String sourceFile = "Templates/OfficeScripting/EmptyScript/Empty";
+
+ if (language.toLowerCase().equals("java")) {
+ sourceFile += ".java";
+ }
+ else if (language.toLowerCase().equals("beanshell")) {
+ sourceFile += ".bsh";
+ }
+ else {
+ NotifyDescriptor d = new NotifyDescriptor.Message(
+ "Language not defined for this Parcel Folder");
+ TopManager.getDefault().notify(d);
+ return;
+ }
+
+ FileSystem fs = Repository.getDefault().getDefaultFileSystem();
+ DataObject result = null;
+ try {
+ DataObject dObj = DataObject.find(fs.findResource(sourceFile));
+ result = dObj.createFromTemplate(parent);
+ }
+ catch (IOException ioe) {
+ ErrorManager.getDefault().notify(ioe);
+ }
+
+ FileObject fo = result.getPrimaryFile();
+ if (fo.getExt().equals("java")) {
+ try {
+ PackageRemover.removeDeclaration(FileUtil.toFile(fo));
+
+ // IssueZilla 11986 - rename the FileObject
+ // so the JavaNode is resynchronized
+ fo.rename(fo.lock(), fo.getName(), fo.getExt());
+ }
+ catch (IOException ioe) {
+ NotifyDescriptor d = new NotifyDescriptor.Message(
+ "Error removing package declaration from file: " +
+ fo.getNameExt() +
+ ". You should manually remove this declaration " +
+ "before building the Parcel Recipe");
+ TopManager.getDefault().notify(d);
+ }
+ }
+ }
}
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolderDataLoader.java b/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolderDataLoader.java
index 90b8a4365f83..2e78e98a1545 100644
--- a/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolderDataLoader.java
+++ b/scripting/java/org/openoffice/netbeans/modules/office/loader/ParcelContentsFolderDataLoader.java
@@ -2,9 +2,9 @@
*
* $RCSfile: ParcelContentsFolderDataLoader.java,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: toconnor $ $Date: 2003-01-16 17:58:24 $
+ * last change: $Author: toconnor $ $Date: 2003-06-12 11:31:26 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -99,7 +99,7 @@ public class ParcelContentsFolderDataLoader extends UniFileLoader {
protected SystemAction[] defaultActions() {
return new SystemAction[] {
SystemAction.get(PasteAction.class),
- SystemAction.get(NewTemplateAction.class),
+ SystemAction.get(NewAction.class),
// null,
// SystemAction.get(PropertiesAction.class),
};
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/resources/templates/EmptyParcelDescriptor.xml_ b/scripting/java/org/openoffice/netbeans/modules/office/resources/templates/EmptyParcelDescriptor.xml_
index 14bb82951002..7c016c322e0a 100644
--- a/scripting/java/org/openoffice/netbeans/modules/office/resources/templates/EmptyParcelDescriptor.xml_
+++ b/scripting/java/org/openoffice/netbeans/modules/office/resources/templates/EmptyParcelDescriptor.xml_
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<parcel>
-</parcel> \ No newline at end of file
+<parcel language="Java" xmlns:parcel="scripting.dtd">
+</parcel>
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelContentsIterator.java b/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelContentsIterator.java
index 233228ef0447..2f0cca3eac61 100644
--- a/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelContentsIterator.java
+++ b/scripting/java/org/openoffice/netbeans/modules/office/wizard/ParcelContentsIterator.java
@@ -2,9 +2,9 @@
*
* $RCSfile: ParcelContentsIterator.java,v $
*
- * $Revision: 1.5 $
+ * $Revision: 1.6 $
*
- * last change: $Author: toconnor $ $Date: 2003-03-04 17:42:27 $
+ * last change: $Author: toconnor $ $Date: 2003-06-12 11:31:28 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -62,6 +62,7 @@
package org.openoffice.netbeans.modules.office.wizard;
import java.awt.Component;
+import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.Collections;
@@ -73,7 +74,6 @@ import javax.swing.JComponent;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
-import org.openide.ErrorManager;
import org.openide.TopManager;
import org.openide.NotifyDescriptor;
import org.openide.WizardDescriptor;
@@ -86,8 +86,8 @@ import org.openide.filesystems.*;
import org.openoffice.idesupport.zip.ParcelZipper;
import org.openoffice.idesupport.xml.ParcelDescriptor;
import org.openoffice.netbeans.modules.office.loader.ParcelFolder;
+import org.openoffice.netbeans.modules.office.loader.ParcelContentsFolder;
import org.openoffice.netbeans.modules.office.filesystem.OpenOfficeDocFileSystem;
-import org.openoffice.netbeans.modules.office.utils.PackageRemover;
/** A template wizard iterator (sequence of panels).
* Used to fill in the second and subsequent panels in the New wizard.
@@ -156,16 +156,8 @@ public class ParcelContentsIterator implements TemplateWizard.Iterator {
DataFolder targetFolder = wiz.getTargetFolder();
targetFolder = checkTarget(targetFolder);
- String sourceFile = "Templates/OfficeScripting/EmptyScript/Empty";
String language = (String)wiz.getProperty(PROP_LANGUAGE);
- if (language.toLowerCase().equals("java"))
- sourceFile += ".java";
- else if (language.toLowerCase().equals("beanshell"))
- sourceFile += ".bsh";
- else
- sourceFile = null;
-
DataObject template = wiz.getTemplate();
DataObject result;
if (name == null) {
@@ -180,45 +172,14 @@ public class ParcelContentsIterator implements TemplateWizard.Iterator {
FileObject contents =
recipe.getFileObject(ParcelZipper.CONTENTS_DIRNAME);
- FileObject descriptor =
- contents.getFileObject(ParcelZipper.PARCEL_DESCRIPTOR_XML);
-
- if (descriptor != null) {
- ParcelDescriptor pd =
- new ParcelDescriptor(FileUtil.toFile(descriptor));
+ if (contents != null) {
+ File f = FileUtil.toFile(contents);
+ ParcelDescriptor pd = ParcelDescriptor.createParcelDescriptor(f);
pd.setLanguage(language);
pd.write();
- }
- if (contents != null) {
DataFolder parent = DataFolder.findFolder(contents);
-
- FileSystem fs = Repository.getDefault().getDefaultFileSystem();
- DataObject dObj = DataObject.find(fs.findResource(sourceFile));
- dObj.createFromTemplate(parent);
-
- DataObject[] objs = parent.getChildren();
-
- for (int i = 0; i < objs.length; i++) {
- FileObject fo = objs[i].getPrimaryFile();
- if (fo.getExt().equals("java")) {
- try {
- PackageRemover.removeDeclaration(FileUtil.toFile(fo));
-
- // IssueZilla 11986 - rename the FileObject
- // so the JavaNode is resynchronized
- fo.rename(fo.lock(), fo.getName(), fo.getExt());
- }
- catch (IOException ioe) {
- NotifyDescriptor d = new NotifyDescriptor.Message(
- "Error removing package declaration from file: " +
- fo.getNameExt() +
- ". You should manually remove this declaration " +
- "before building the Parcel Recipe");
- TopManager.getDefault().notify(d);
- }
- }
- }
+ ParcelContentsFolder.createEmptyScript(parent, language);
}
return Collections.singleton(result);