ServerCheckWizard.java Sample

This topic inludes the source code for the ServerCheckWizard.java Sample.

Sample Location

This sample is located in the following directory in your WebLogic Workshop installation:

BEA_HOME/weblogic81/samples/workshop/ExtensionDevKit/ControlDevKit/ControlFeatures/insertWizard/ide/

Sample Source Code


001 package insertWizard.ide; 
002 
003 import com.bea.ide.control.ControlWizardSimple;
004 import javax.swing.JComponent;
005 import java.util.ArrayList;
006 import com.bea.ide.control.EditorContext;
007 
008 /*
009  * The insert-wizard-class attribute in the jc-jar file for this
010  * control project specifies that this is the class WebLogic Workshop
011  * should use to provide a custom insert wizard.
012  
013  * This class extends ControlWizardSimple, which provides methods through
014  * which WebLogic Workshop retrieves the user interface to use, the 
015  * annotation values to insert into the control's container, and so on. 
016  */
017 public class ServerCheckWizard extends ControlWizardSimple
018 
019     private ServerCheckWizardPanel m_panel;
020     private boolean _createExtension = false;
021     private  EditorContext _context;
022 
023     /* 
024      * Initializes the user interface. UI components
025      * are assembled in the ServerCheckWizardPanel class.
026      */
027     public ServerCheckWizard ()
028     {
029         m_panel = new ServerCheckWizardPanel();
030     }
031 
032     /*
033      * Tells WebLogic Workshop whether to display an option
034      * to create a JCX file. The constant returned here
035      * tells it that an instance is all that is needed.
036      */
037     public int getConfigurationInfo()
038     {
039         return CONFIG_INSERT_INSTANCE;
040     }
041     /**
042      * Gives the wizard a way to interact with the IDE.
043      */
044     public void setContext(EditorContext ctx)
045     {
046         _context = ctx;
047         m_panel.setContext(ctx);
048     }
049 
050     /**
051      * Provides a way for subclasses to get the context as needed.
052      */
053     public EditorContext getContext()
054     {
055         return _context;
056     }
057 
058      /*
059      * Returns the user interface component to use.
060      */
061     public JComponent getComponent()
062     {
063         return m_panel;
064     }
065 
066     /*
067      * Provides a place to execute code when the control's user
068      * clicks the "Create" button on the insert dialog.
069      */
070     public boolean onFinish()
071     {
072         if (super.onFinish() == false){
073             return false;
074         else {
075             return true;
076         }
077     }
078 
079     /*
080      * Provides to WebLogic Workshop an ArrayList containing
081      * the annotations it should write preceding the control
082      * instance.
083      */
084   public ArrayList getInstanceAnnotations()
085   {
086         // An ArrayList for the annotation attributes. There are four.
087         ArrayList attributeList = new ArrayList();
088         // An ArrayList for this control's two annotations.
089         ArrayList annotationsList = new ArrayList();
090 
091         /*
092          * The attribute ArrayList is filled with TagAttributeValue
093          * instances containing attribute name/value mappings. These
094          * are used below for the jc:server-data annotation.
095          
096          * Attribute values are retrieved from the insert dialog box UI.
097          */
098         attributeList.add(new TagAttributeValue("server-name", m_panel.getServerName()));
099         attributeList.add(new TagAttributeValue("url", m_panel.getServerURL()));
100         attributeList.add(new TagAttributeValue("user-name", m_panel.getUserName()));
101         attributeList.add(new TagAttributeValue("password", m_panel.getPassword()));
102         
103         /*
104          * The annotation ArrayList is filled with TagAttributeList instances
105          * containing the annotation name/attribute-list mappings.
106          * Note that the second annotation uses the attribute ArrayList.
107          */
108         annotationsList.add(new TagAttributeList("common:control"null));
109         annotationsList.add(new TagAttributeList("jc:server-data", attributeList));
110     return annotationsList;
111   }
112