Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package jason.infra.centralised;
  
  
  import java.awt.Frame;
 import java.io.File;
 
 
 public class StartNewAgentGUI extends BaseDialogGUI {
 
     private static final long serialVersionUID = 1L;
 
     protected JTextField agName;
     protected JTextField agSource;
     protected JTextField archClass;
     protected JTextField agClass;
     protected JTextField nbAgs;
     protected JTextField agHost;
     protected JComboBox  verbose;
     String               openDir;
 
     public StartNewAgentGUI(Frame fString titleString openDir) {
         super(ftitle);
         this. = openDir;
     }
 
     protected void initComponents() {
         getContentPane().setLayout(new BorderLayout());
 
         // Fields
 
          = new JTextField(10);
         createField("Agent name""The agent name");
 
          = new JTextField(15);
         JButton sourceBrowseBt = new JButton("Browse");
         sourceBrowseBt.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent arg0) {
                 try {
                     JFileChooser chooser = new JFileChooser();
                     chooser.setDialogTitle("Select the AgentSpeak source file");
                     chooser.setFileFilter(new AslFileFilter());
                     // chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                     if (chooser.showOpenDialog(null) == .) {
                         .setText(chooser.getSelectedFile().toString());
                     }
                 } catch (Exception e) {
                 }
             }
         });
         createField("Source"sourceBrowseBt"The path for the agent's source file (e.g. ../asl/code.asl). If left empty, the file will be the agent's name + .asl.");
 
          = new JTextField(20);
         createField("Agent class""The customisation class for the agent (<package.classname>). If not filled, the default agent class will be used.");
 
          = new JTextField(20);
         createField("Architecture class",
                 "The customisation class for the agent architecture (<package.classname>). If not filled, the default architecture will be used.");
 
          = new JTextField(4);
         .setText("1");
         createField("Number of agents""The number of agents that will be instantiated from this declaration.");
 
          = new JComboBox(new String[] { "no output""normal""debug" });
         .setSelectedIndex(1);
         createField("Verbose""Set the verbose level");
 
          = new JTextField(10);
         .setText("localhost");
         createField("Host to run""The host where this agent will run. The infrastructure must support distributed launching.");
 
         JPanel p = new JPanel(new BorderLayout());
         p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Agent parameters"..));
         p.add(.);
         p.add(.);
 
         getContentPane().add(p.);
     }
 
     protected boolean ok() {
         final AgentParameters ap = getAgDecl();
         if (ap == null) {
             JOptionPane.showMessageDialog(this"An agent name must be informed.");
            return false;
        }
        if (ap.asSource == null) {
            ap.asSource = new File(ap.name + "." + .);
        }
        if (!ap.asSource.exists()) {
            JOptionPane.showMessageDialog(this"The source file '" + ap.asSource + "' does not exist!");
            return false;
        }
        new Thread() {
            public void run() {
                boolean debug = RunCentralisedMAS.isDebug();
                boolean fs = RunCentralisedMAS.getRunner().getControllerInfraTier() != null;
                RuntimeServicesInfraTier services = RunCentralisedMAS.getRunner().getEnvironmentInfraTier().getRuntimeServices();
                try {
                    String agClass = null;
                    if (ap.agClass != null) {
                        agClass = ap.agClass.getClassName();
                    }
                    for (int i = 0; i < ap.qtyi++) {
                        String name = ap.name;
                        if (ap.qty > 1) {
                            name = name + (i + 1);
                        }
                        // TODO: implements bb class
                        name = services.createAgent(nameap.asSource.getAbsolutePath(), agClassap.getAgArchClasses(), nullap.getAsSetts(debugfs));
                        services.startAgent(name);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
        return true;
    }
    protected AgentParameters getAgDecl() {
        if (.getText().trim().length() == 0) {
            return null;
        }
        AgentParameters ap = new AgentParameters();
        ap.name = .getText().trim();
        if (Character.isUpperCase(ap.name.charAt(0))) {
            ap.name = Character.toLowerCase(ap.name.charAt(0)) + ap.name.substring(1);
        }
        if (.getSelectedIndex() != 1) {
            ap.addOption("verbose".getSelectedIndex() + "");
        }
        if (.getText().trim().length() > 0) {
            if (.getText().startsWith(.)) {
                ap.asSource = new File(.getText().trim());
            } else {
                ap.asSource = new File( + . + .getText().trim());
            }
        }
        if (.getText().trim().length() > 0) {
            ap.addArchClass(.getText().trim());
        }
        if (.getText().trim().length() > 0) {
            ap.agClass = new ClassParameters(.getText().trim());
        }
        if (!.getText().trim().equals("1")) {
            try {
                ap.qty = Integer.parseInt(.getText().trim());
            } catch (Exception e) {
                ..println("Number of hosts is not a number!");
            }
        }
        if (!.getText().trim().equals("localhost")) {
            ap.setHost(.getText().trim());
        }
        return ap;
    }
    class AslFileFilter extends FileFilter {
        public boolean accept(File f) {
            if (f.getName().endsWith(.) || f.isDirectory()) {
                return true;
            } else {
                return false;
            }
        }
        public String getDescription() {
            return "AgentSpeak language source";
        }
    }
New to GrepCode? Check out our FAQ X