Index: /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/Callback.java
===================================================================
--- /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/Callback.java	(revision 21989)
+++ /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/Callback.java	(revision 21990)
@@ -1,5 +1,7 @@
 package org.greenstone.admin.guiext;
 
+import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
+
 import javax.swing.JTextArea;
 
@@ -8,4 +10,5 @@
 public class Callback implements Runnable
 {
+    String _class = null;
     String _param = null;
     CommandStep _parent = null;
@@ -16,5 +19,6 @@
 
 	if(callbackElement != null){
-	    _param = ExtXMLHelper.getValueFromSingleElement(callbackElement, true);
+	    _class = ExtXMLHelper.getValueFromSingleElement(callbackElement, true);
+	    _param = callbackElement.getAttribute("type");
 	}
 	else{
@@ -25,7 +29,27 @@
     public void run()
     {
+	_parent.getParent().getParent().loadGuiExtFile();
 	JTextArea messageArea = _parent.getMessageArea();
 
-	Object extObj = _parent.getParent().getParent().getExtObject();
+	Class extClass = null;
+	try{
+	    extClass = Class.forName(_class);
+	}
+	catch(Exception ex){
+	    System.err.println("Could not create the extension class used for callback methods, either the class name is incorrect or the class does not exist inside the guiext.jar file");
+	}
+	Constructor classConstructor = null;
+	Object extObj = null;
+	
+	try{
+	    classConstructor = extClass.getConstructor(new Class[0]);
+	    extObj = classConstructor.newInstance(new Object[0]);
+	}
+	catch(Exception ex){
+	    ex.printStackTrace();
+	    System.err.println("Could not create the extension class used for callback methods, either the class name is incorrect or the class does not exist inside the guiext.jar file");
+	    return;
+	}
+
 	Class[] params = new Class[]{String.class};
 	
Index: /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/ExtXMLHelper.java
===================================================================
--- /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/ExtXMLHelper.java	(revision 21989)
+++ /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/ExtXMLHelper.java	(revision 21990)
@@ -9,6 +9,5 @@
     static public final String EXTENSION = "extension";
     static public final String GROUP = "group";
-    static public final String BASE_EXT = "base_ext";
-    static public final String FILE_STEM = "file_stem";
+    static public final String FILE_STEM = "fileStem";
     static public final String NAME = "name";
     static public final String DOWNLOAD = "download";
@@ -23,5 +22,5 @@
     static public final String DESCRIPTION = "description";
     static public final String PROPERTY = "property";
-    static public final String SEQUENCE_LIST = "sequence_list";
+    static public final String SEQUENCE_LIST = "sequenceList";
     static public final String STEP ="step";
     static public final String COMMAND ="command";
Index: /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/ExtensionInformation.java
===================================================================
--- /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/ExtensionInformation.java	(revision 21989)
+++ /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/ExtensionInformation.java	(revision 21990)
@@ -25,5 +25,4 @@
     protected String _fileStem = null;
     protected String _description = null;
-    protected String _baseExt = null;
     protected String _baseURL = null;
     protected SequenceList _sequenceList= null;
@@ -38,5 +37,4 @@
 	    _fileStem = ExtXMLHelper.getValueFromSingleElement(extensionElement, ExtXMLHelper.FILE_STEM, true);
 	    _description = ExtXMLHelper.getValueFromSingleElement(extensionElement, ExtXMLHelper.DESCRIPTION, true);
-	    _baseExt = ExtXMLHelper.getValueFromSingleElement(extensionElement, ExtXMLHelper.BASE_EXT, true);
 	    _baseURL = baseURL;
 	    _sequenceList = new SequenceList(ExtXMLHelper.getSingleChildElement(extensionElement, ExtXMLHelper.SEQUENCE_LIST, true), this);
@@ -71,39 +69,8 @@
 	return _description;
     }
- 
-    public String getBaseClassName()
-    {
-	return _baseExt;
-    }
 
     public SequenceList getSequenceList()
     {
 	return _sequenceList;
-    }
-
-    public Object getExtObject()
-    {
-	loadGuiExtFile();
-	Class extClass = null;
-	try{
-	    extClass = Class.forName(_baseExt);
-	}
-	catch(Exception ex){
-	    System.err.println("Could not create the extension class used for callback methods, either the class name is incorrect or the class does not exist inside the guiext.jar file");
-	}
-	Constructor classConstructor = null;
-	Object classObj = null;
-	
-	try{
-	    classConstructor = extClass.getConstructor(new Class[0]);
-	    classObj = classConstructor.newInstance(new Object[0]);
-	}
-	catch(Exception ex){
-	    ex.printStackTrace();
-	    System.err.println("Could not create the extension class used for callback methods, either the class name is incorrect or the class does not exist inside the guiext.jar file");
-	    return null;
-	}
-	
-	return classObj;
     }
 
Index: /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/Option.java
===================================================================
--- /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/Option.java	(revision 21989)
+++ /main/trunk/greenstone3/src/java/org/greenstone/admin/guiext/Option.java	(revision 21990)
@@ -15,12 +15,12 @@
 
 	if(optionElement != null){
-	    _name = optionElement.getAttribute("label");
-	    if(_name == null || _name.equals("")){
-		System.err.println("This option element does not have a label");
-	    }
-
 	    _id = optionElement.getAttribute("id");
 	    if(_id == null || _id.equals("")){
 		System.err.println("This option element does not have an id");
+	    }
+
+	    _name = optionElement.getAttribute("label");
+	    if(_name == null || _name.equals("")){
+		_name = id;
 	    }
 	    
