/** * This method checks if the current server is valid. If it is valid then it checks if there is * authentication required * * @return true if the server exists and can be accessed */ protected boolean canAccessServer() { // Try reading the public.serv file to see if we need a username/proj JTextField projFld = null; JTextField userFld = null; JComponent contents = null; JLabel label = null; boolean firstTime = true; while (true) { int status = checkIfServerIsOk(); if (status == STATUS_OK) { break; } if (status == STATUS_ERROR) { setState(STATE_UNCONNECTED); return false; } if (projFld == null) { projFld = new JTextField("", 10); userFld = new JTextField("", 10); GuiUtils.tmpInsets = GuiUtils.INSETS_5; contents = GuiUtils.doLayout( new Component[] { GuiUtils.rLabel("User ID:"), userFld, GuiUtils.rLabel("Project #:"), projFld, }, 2, GuiUtils.WT_N, GuiUtils.WT_N); label = new JLabel(" "); contents = GuiUtils.topCenter(label, contents); contents = GuiUtils.inset(contents, 5); } String lbl = (firstTime ? "The server: " + getServer() + " requires a user ID & project number for access" : "Authentication for server: " + getServer() + " failed. Please try again"); label.setText(lbl); if (!GuiUtils.showOkCancelDialog(null, "ADDE Project/User name", contents, null)) { setState(STATE_UNCONNECTED); return false; } firstTime = false; String userName = userFld.getText().trim(); String project = projFld.getText().trim(); if ((userName.length() > 0) && (project.length() > 0)) { passwords.put(getServer(), new String[] {userName, project}); } } return true; }
/** * Set the fields from the ProjectionClass * * @param projClass projection class to use */ private void setFieldsWithClassParams(ProjectionClass projClass) { // set the projection in the JComboBox String want = projClass.toString(); for (int i = 0; i < projClassCB.getItemCount(); i++) { ProjectionClass pc = (ProjectionClass) projClassCB.getItemAt(i); if (pc.toString().equals(want)) { projClassCB.setSelectedItem((Object) pc); break; } } // set the parameter fields paramPanel.removeAll(); paramPanel.setVisible(0 < projClass.paramList.size()); List widgets = new ArrayList(); for (int i = 0; i < projClass.paramList.size(); i++) { ProjectionParam pp = (ProjectionParam) projClass.paramList.get(i); // construct the label String name = pp.name; String text = ""; // Create a decent looking label for (int cIdx = 0; cIdx < name.length(); cIdx++) { char c = name.charAt(cIdx); if (cIdx == 0) { c = Character.toUpperCase(c); } else { if (Character.isUpperCase(c)) { text += " "; c = Character.toLowerCase(c); } } text += c; } widgets.add(GuiUtils.rLabel(text + ": ")); // text input field JTextField tf = new JTextField(); pp.setTextField(tf); tf.setColumns(12); widgets.add(tf); } GuiUtils.tmpInsets = new Insets(4, 4, 4, 4); JPanel widgetPanel = GuiUtils.doLayout(widgets, 2, GuiUtils.WT_N, GuiUtils.WT_N); paramPanel.add("North", widgetPanel); paramPanel.add("Center", GuiUtils.filler()); }
/** * Set the projection from the dialog properties * * @param projClass projection class * @param proj projection */ private void setProjFromDialog(ProjectionClass projClass, ProjectionImpl proj) { proj.setName(nameTF.getText().trim()); for (int i = 0; i < projClass.paramList.size(); i++) { ProjectionParam pp = (ProjectionParam) projClass.paramList.get(i); // fetch the value from the projection object try { String valstr = pp.getTextField().getText(); Double valdub = new Double(valstr); Object[] args = {valdub}; if (debugBeans) { System.out.println("Projection setProjFromDialog invoke writer on " + pp); } pp.writer.invoke(proj, args); } catch (Exception ee) { System.err.println( "ProjectionManager: setProjParams failed " + " invoking write " + pp.name + " class " + projClass); continue; } } }
/** * Set whether this a new projection * * @param v true for new projection * @param name name for new projection */ void setDoingNewProjection(boolean v, String name) { doingNew = v; // For now don't disable the type box nameTF.setText(name); if (typeLabel != null) { // typeLabel.setEnabled (doingNew); // projClassCB.setEnabled (doingNew); } }