From: Wolfgang T. <ta...@us...> - 2005-08-16 15:38:10
|
Update of /cvsroot/sblim/wbemsmt-dns-eui/jswing/org/sblim/wbemsmt/dns/gui/wizard In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15299/jswing/org/sblim/wbemsmt/dns/gui/wizard Added Files: DNSZoneSwingAdapter.java DNSResourceRecordWizardContainer.java DNSResourceRecordSwingAdapter.java DNSZoneWizardContainer.java DNSACLWizardContainer.java DNSACLSwingAdapter.java Log Message: WBEM-SMT DNS EUI component. First initial upload. --- NEW FILE: DNSACLSwingAdapter.java --- /** * DNSACLSwingAdapter.java * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://www.opensource.org/licenses/cpl1.0.php * * Author: Fernando Aires <fa...@br...> * * Contributors: * Rodrigo Ceron <rc...@br...> **/ /* * Created on Jul 27, 2005, aires */ package org.sblim.wbemsmt.dns.gui.wizard; import java.awt.Dimension; import java.util.Vector; import javax.swing.DefaultListModel; import javax.swing.JOptionPane; import javax.swing.JPanel; import org.sblim.wbemsmt.dns.bl.fco.DNSAddressMatchList; import org.sblim.wbemsmt.dns.gui.AddressMatchListComponent; import org.sblim.wbemsmt.dns.gui.DNSApplication; import org.sblim.wbemsmt.dns.gui.ServiceListComponent; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardPage1; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardPage2; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardPage3; import org.sblim.wbemsmt.tools.wizard.adapter.IPageWizardAdapter; import org.sblim.wbemsmt.tools.wizard.adapter.SwingWizardAdapterBase; import org.sblim.wbemsmt.tools.wizard.container.IWizardContainer; public class DNSACLSwingAdapter extends SwingWizardAdapterBase implements IPageWizardAdapter { private DNSApplication owner = null; private DNSACLWizardContainer dnsContainer = null; private int actualPanelNumber = 0; public DNSACLSwingAdapter(Dimension dimension, DNSApplication owner, String wizardName) { super(owner); this.owner = owner; this.dnsContainer = new DNSACLWizardContainer(owner.getCIMClient(), wizardName); super.initialize(dimension, wizardName); try { super.initWizard((IWizardContainer)dnsContainer, this); } catch (Exception ex) { ex.printStackTrace(); return; } System.out.println("Wizard initialized"); } public void cleanUPPage(String panelName) { if (panelName.equals(DNSACLWizardContainer.ACLWIZARDPAGE1)); if (panelName.equals(DNSACLWizardContainer.ACLWIZARDPAGE2)) dnsContainer.getPages().put(panelName, new ACLWizardPage2()); if (panelName.equals(DNSACLWizardContainer.ACLWIZARDPAGE3)) dnsContainer.getPages().put(panelName, new ACLWizardPage3()); } public boolean savePageValues(String actualPanelName) { Vector result = new Vector(); String errorMsg = null; JPanel jPanel = (JPanel)(container.getPages().get(actualPanelName)); if (this.saveData(jPanel,result)) return true; errorMsg = result.toString().replaceAll("[\\[\\],]",""); JOptionPane.showMessageDialog(this, errorMsg, "ERROR", JOptionPane.ERROR_MESSAGE); return false; } public void setSummaryText(String nextPanelName) { JPanel panel = (JPanel)(container.getPages().get(nextPanelName)); StringBuffer sbText = new StringBuffer(); for (int i=0; i<dnsContainer.getSummary().length; i++) { sbText.append(dnsContainer.getSummary()[i]); } ( (ACLWizardPage3) panel).getJTextArea().setText(sbText.toString()); } public String wizardComplete() { System.out.println("count of used wizard panels: "+dnsContainer.getUsedPages().size()); try { dnsContainer.preWizardFinish(); } catch (Exception ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Creation of DNSZone CIM instance failed.", "ERROR", JOptionPane.ERROR_MESSAGE); return ""; } int originalCount = owner.getJComboBox2().getItemCount(); owner.getJComboBox2().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox2().setSelectedIndex(originalCount); owner.getJComboBox7().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox1().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox8().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox9().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox11().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox12().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox13().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox14().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); owner.getJComboBox15().addItem(new AddressMatchListComponent(dnsContainer.createdACL)); System.out.println("executed preWizardFinish()"); this.setVisible(false); this.dispose(); dnsContainer.postWizardFinish(); System.out.println("sent values from wizard to business logic"); return null; } private boolean saveData(JPanel jpanel, Vector result) { boolean error = false; if (container.getCurrentPageName().equals(DNSACLWizardContainer.ACLWIZARDPAGE1)) { String serviceName = null; try{ serviceName = (String) ((ServiceListComponent)((ACLWizardPage1) jpanel).getJComboBox().getSelectedItem()).getUserObject().getName(); }catch(Exception e){ System.err.println("System internal error while creating ACL: could not retrieve service name"); return false; } String name = ((ACLWizardPage1) jpanel).getJTextField().getText(); Short addressListType = new Short((short) ((ACLWizardPage1) jpanel).getJComboBox1().getSelectedIndex()); try { if(!dnsContainer.isValid(DNSAddressMatchList.CIM_PROPERTY_SERVICENAME, serviceName, result)) error = true; if(!dnsContainer.isValid(DNSAddressMatchList.CIM_PROPERTY_NAME, name, result)) error = true; if(!dnsContainer.isValid(DNSAddressMatchList.CIM_PROPERTY_ADDRESSLISTTYPE, addressListType, result)) error = true; dnsContainer.getACLWizardData().getACL().setServiceName(serviceName); dnsContainer.getACLWizardData().getACL().setName(name); dnsContainer.getACLWizardData().getACL().setAddressListType(addressListType); } catch (Exception e) { System.err.println("Unable to set type properly"); return false; } } if (dnsContainer.getCurrentPageName().equals(DNSACLWizardContainer.ACLWIZARDPAGE2)) { Object[] oList = null; oList = ((DefaultListModel) ((ACLWizardPage2) jpanel).getJList().getModel()).toArray(); String[] addressList = new String[oList.length]; for(int i=0; i<oList.length; i++) addressList[i] = (String) oList[i]; try { if(!dnsContainer.isValid(DNSAddressMatchList.CIM_PROPERTY_ADDRESSLIST, addressList, result)) return false; dnsContainer.getACLWizardData().getACL().setAddressList(addressList); } catch (Exception e) { System.err.println("Unable to set type properly"); return false; } } return true; } /** * @return Returns the dnsContainer. */ public DNSACLWizardContainer getDnsContainer() { return dnsContainer; } /** * @param dnsContainer The dnsContainer to set. */ public void setDnsContainer(DNSACLWizardContainer dnsContainer) { this.dnsContainer = dnsContainer; } } --- NEW FILE: DNSResourceRecordWizardContainer.java --- /** * DNSResourceRecordWizardContainer.java * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://www.opensource.org/licenses/cpl1.0.php * * Author: Fernando Aires <fa...@br...> * * Contributors: * Rodrigo Ceron <rc...@br...> **/ /* * Created on Jul 27, 2005, aires */ package org.sblim.wbemsmt.dns.gui.wizard; import java.util.HashMap; import java.util.Vector; import org.sblim.wbem.client.CIMClient; import org.sblim.wbemsmt.dns.bl.fco.DNSResourceRecord; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardData; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardPage1; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardPage2; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardPage5; import org.sblim.wbemsmt.exception.CimConnectionException; import org.sblim.wbemsmt.exception.InvalidParameterException; import org.sblim.wbemsmt.exception.PropertyNotFoundException; import org.sblim.wbemsmt.tools.wizard.container.IWizardContainer; import org.sblim.wbemsmt.tools.wizard.container.WizardContainerBase; public class DNSResourceRecordWizardContainer extends WizardContainerBase implements IWizardContainer { protected CIMClient cimClient = null; public ResourceRecordWizardData rrWizardData = null; public DNSResourceRecord createdResourceRecord = null; private String serviceName; public static final String RRWIZARDPAGE1 = "rrWizardPage1"; public static final String RRWIZARDPAGE2 = "rrWizardPage2"; public static final String RRWIZARDPAGE5 = "rrWizardPage5"; public DNSResourceRecordWizardContainer(CIMClient cimClient, String serviceName) { super(); this.cimClient = cimClient; this.serviceName = serviceName; } public void initWizardContainer() { if (hmPages == null) { hmPages = new HashMap(); if (wizardRunType.equals("JSWING")) { System.out.println("initWizardContainer - JSWING"); hmPages.put(RRWIZARDPAGE1, new ResourceRecordWizardPage1()); hmPages.put(RRWIZARDPAGE2, new ResourceRecordWizardPage2()); hmPages.put(RRWIZARDPAGE5, new ResourceRecordWizardPage5()); } else if (wizardRunType.equals("JSF")) { //aires TODO fill with JSF code } } if (hmPages.size() == 0) noPages = true; this.rrWizardData = new ResourceRecordWizardData(cimClient); } public String getNextWizardPageName() { System.out.println("next - currentPageName: "+getCurrentPageName()); if (getCurrentPageName().equals("")) { return RRWIZARDPAGE1; } if (getCurrentPageName().equals(RRWIZARDPAGE1)) { return RRWIZARDPAGE2; } if (getCurrentPageName().equals(RRWIZARDPAGE2)) { this.buildSummaryText(); return RRWIZARDPAGE5; } else return ""; } public boolean isLast(String pageName) { if (pageName.equals(RRWIZARDPAGE5)) { return true; } else return false; } public boolean isFirst(String pageName) { if (pageName.equals(RRWIZARDPAGE1)) { return true; } else return false; } public void cleanUP(String pageName) { System.out.println("cleanUP - currentPageName: "+pageName); if (pageName.equals(RRWIZARDPAGE1)) { try{ rrWizardData.getResourceRecord().setType(new Short((short)0)); } catch(Exception e){ e.printStackTrace(); } } if (pageName.equals(RRWIZARDPAGE2)) { rrWizardData.getResourceRecord().setName(""); rrWizardData.getResourceRecord().setValue(""); } if (pageName.equals(RRWIZARDPAGE5)) { } } public boolean isValid(String propertyName, Object value, Vector result) { try { if(propertyName.equals(DNSResourceRecord.CIM_PROPERTY_TYPE) || propertyName.equals(DNSResourceRecord.CIM_PROPERTY_NAME) || propertyName.equals(DNSResourceRecord.CIM_PROPERTY_VALUE) || propertyName.equals(DNSResourceRecord.CIM_PROPERTY_ZONENAME)){ if (!DNSResourceRecord.checkProperty(propertyName,value,rrWizardData.getResourceRecord().getType())){ result.add("Invalid " + propertyName + "\n"); } else return true; } } catch (Exception e) { System.err.println("Error defining Resource Record type"); } return false; } private void buildSummaryText() { summary = new String[3]; String na = "= n/a"+System.getProperty("line.separator"); try { summary[0] = new String("RR Type "); if (this.rrWizardData.getResourceRecord().getType() != null) summary[0] = summary[0]+("= "+this.rrWizardData.getResourceRecord().getTypeString()+System.getProperty("line.separator")); else summary[0] = summary[0]+(na); summary[1] = new String("RR Name "); if (this.rrWizardData.getResourceRecord().getName() != null && !this.rrWizardData.getResourceRecord().getName().trim().equals("")) summary[1] = summary[1]+("= "+this.rrWizardData.getResourceRecord().getName()+System.getProperty("line.separator")); else summary[1] = summary[1]+(na); summary[2] = new String("RR Value "); if (this.rrWizardData.getResourceRecord().getValue() != null && !this.rrWizardData.getResourceRecord().getValue().trim().equals("")) summary[2] = summary[2]+("= "+this.rrWizardData.getResourceRecord().getValue()+System.getProperty("line.separator")); else summary[2] = summary[2]+(na); } catch (PropertyNotFoundException nfe) { System.out.println("caught exception: "+nfe); } } public void preWizardFinish() throws InvalidParameterException, CimConnectionException, PropertyNotFoundException { System.out.println("calling preWizardFinish()"); DNSResourceRecord myRR = this.getResourceRecordWizardData().getResourceRecord(); try{ myRR.setFamily(new Short(DNSResourceRecord.CIM_FAMILY_INTERNET)); } catch (Exception e) { System.err.println("Could not get Property"); e.printStackTrace(); } createdResourceRecord = DNSResourceRecord.createInstance(cimClient, myRR); } public void postWizardFinish() { } /** * @return Returns the ResourceRecordWizardData. */ public ResourceRecordWizardData getResourceRecordWizardData() { return rrWizardData; } /** * @param rrWizardData The ResourceRecordWizardData to set. */ public void setResourceRecordWizardData(ResourceRecordWizardData rrWizardData) { this.rrWizardData = rrWizardData; } } --- NEW FILE: DNSResourceRecordSwingAdapter.java --- /** * DNSResourceRecordSwingAdapter.java * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://www.opensource.org/licenses/cpl1.0.php * * Author: Fernando Aires <fa...@br...> * * Contributors: * Rodrigo Ceron <rc...@br...> **/ /* * Created on Jul 27, 2005, aires */ package org.sblim.wbemsmt.dns.gui.wizard; import java.awt.Dimension; import java.util.Vector; import javax.swing.JOptionPane; import javax.swing.JPanel; import org.sblim.wbemsmt.dns.bl.fco.DNSResourceRecord; import org.sblim.wbemsmt.dns.bl.fco.DNSZone; import org.sblim.wbemsmt.dns.gui.DNSApplication; import org.sblim.wbemsmt.dns.gui.ZoneListComponent; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardPage1; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardPage2; import org.sblim.wbemsmt.dns.gui.wizard.panels.ResourceRecordWizardPage5; import org.sblim.wbemsmt.tools.wizard.adapter.IPageWizardAdapter; import org.sblim.wbemsmt.tools.wizard.adapter.SwingWizardAdapterBase; import org.sblim.wbemsmt.tools.wizard.container.IWizardContainer; public class DNSResourceRecordSwingAdapter extends SwingWizardAdapterBase implements IPageWizardAdapter { private DNSApplication owner = null; private DNSResourceRecordWizardContainer dnsContainer = null; private int actualPanelNumber = 0; public DNSResourceRecordSwingAdapter(Dimension dimension, DNSApplication owner, String wizardName) { super(owner); this.owner = owner; this.dnsContainer = new DNSResourceRecordWizardContainer(owner.getCIMClient(), wizardName); super.initialize(dimension, wizardName); try { super.initWizard((IWizardContainer)dnsContainer, this); } catch (Exception ex) { ex.printStackTrace(); return; } System.out.println("Wizard initialized"); } public void cleanUPPage(String panelName) { if (panelName.equals(DNSResourceRecordWizardContainer.RRWIZARDPAGE1)) dnsContainer.getPages().put(panelName, new ResourceRecordWizardPage1()); if (panelName.equals(DNSResourceRecordWizardContainer.RRWIZARDPAGE2)) dnsContainer.getPages().put(panelName, new ResourceRecordWizardPage2()); if (panelName.equals(DNSResourceRecordWizardContainer.RRWIZARDPAGE5)) dnsContainer.getPages().put(panelName, new ResourceRecordWizardPage5()); } public boolean savePageValues(String actualPanelName) { Vector result = new Vector(); String errorMsg = null; JPanel jPanel = (JPanel)(container.getPages().get(actualPanelName)); if (this.saveData(jPanel,result)) return true; errorMsg = result.toString().replaceAll("[\\[\\],]",""); JOptionPane.showMessageDialog(this, errorMsg, "ERROR", JOptionPane.ERROR_MESSAGE); return false; } public void setSummaryText(String nextPanelName) { JPanel panel = (JPanel)(container.getPages().get(nextPanelName)); StringBuffer sbText = new StringBuffer(); for (int i=0; i<dnsContainer.getSummary().length; i++) { sbText.append(dnsContainer.getSummary()[i]); } ( (ResourceRecordWizardPage5) panel).getJTextArea().setText(sbText.toString()); } public String wizardComplete() { System.out.println("count of used wizard panels: "+dnsContainer.getUsedPages().size()); try { dnsContainer.preWizardFinish(); } catch (Exception ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Creation of DNS resource record instance failed.", "ERROR", JOptionPane.ERROR_MESSAGE); return ""; } DNSZone myZone = (DNSZone) ((ZoneListComponent) owner.getJComboBox10().getSelectedItem()).getUserObject(); owner.displayValuesZoneOpt(myZone); owner.displayValuesDetails(myZone); System.out.println("executed preWizardFinish()"); this.setVisible(false); this.dispose(); dnsContainer.postWizardFinish(); System.out.println("sent values from wizard to business logic"); return null; } private boolean saveData(JPanel jpanel, Vector result) { boolean error = false; if (container.getCurrentPageName().equals(DNSResourceRecordWizardContainer.RRWIZARDPAGE1)) { String sType = ((String) ((ResourceRecordWizardPage1) jpanel).getJList().getSelectedValue()); try { String zoneName = ((DNSZone) ((ZoneListComponent) owner.getJComboBox10().getSelectedItem()).getUserObject()).getName(); Short type = dnsContainer.getResourceRecordWizardData().getResourceRecord().getMappedType(sType); if(!dnsContainer.isValid(DNSResourceRecord.CIM_PROPERTY_ZONENAME, zoneName, result)) error = true; if(!dnsContainer.isValid(DNSResourceRecord.CIM_PROPERTY_TYPE, type, result)) error = true; if(error) return false; dnsContainer.getResourceRecordWizardData().getResourceRecord().setZoneName(zoneName); dnsContainer.getResourceRecordWizardData().getResourceRecord().setType(type); } catch (Exception e) { System.err.println("Unable to set type properly"); return false; } } if (dnsContainer.getCurrentPageName().equals(DNSResourceRecordWizardContainer.RRWIZARDPAGE2)) { String name = ((ResourceRecordWizardPage2) jpanel).getJTextField().getText(); String value = ((ResourceRecordWizardPage2) jpanel).getJTextField1().getText(); try { if (!dnsContainer.isValid(DNSResourceRecord.CIM_PROPERTY_NAME, name, result)) error = true; if (!dnsContainer.isValid(DNSResourceRecord.CIM_PROPERTY_VALUE, value, result)) error = true; if(error) return false; dnsContainer.getResourceRecordWizardData().getResourceRecord().setName(name); dnsContainer.getResourceRecordWizardData().getResourceRecord().setValue(value); } catch (Exception e) { System.err.println("Unable to set type properly"); return false; } } return true; } /** * @return Returns the dnsContainer. */ public DNSResourceRecordWizardContainer getDnsContainer() { return dnsContainer; } /** * @param dnsContainer The dnsContainer to set. */ public void setDnsContainer(DNSResourceRecordWizardContainer dnsContainer) { this.dnsContainer = dnsContainer; } } --- NEW FILE: DNSZoneWizardContainer.java --- /** * DNSZoneWizardContainer.java * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://www.opensource.org/licenses/cpl1.0.php * * Author: Bert Lange <la...@de...> * * Contributors: * Rodrigo Ceron <rc...@br...> **/ /* * Created on Jul 26, 2005, ceron */ package org.sblim.wbemsmt.dns.gui.wizard; import java.util.ArrayList; import java.util.HashMap; import java.util.Vector; import org.sblim.wbem.cim.CIMException; import org.sblim.wbem.client.CIMClient; import org.sblim.wbemsmt.dns.bl.adapter.ReverseZone; import org.sblim.wbemsmt.dns.bl.fco.DNSForwardZone; import org.sblim.wbemsmt.dns.bl.fco.DNSHintZone; import org.sblim.wbemsmt.dns.bl.fco.DNSIPAddress; import org.sblim.wbemsmt.dns.bl.fco.DNSMasterZone; import org.sblim.wbemsmt.dns.bl.fco.DNSResourceRecord; import org.sblim.wbemsmt.dns.bl.fco.DNSSlaveZone; import org.sblim.wbemsmt.dns.bl.fco.DNSZone; //import org.sblim.wbemsmt.dns.gui.wizard.panels.ReverseZoneWizardPage1; //import org.sblim.wbemsmt.dns.gui.wizard.panels.ReverseZoneWizardPage3; //import org.sblim.wbemsmt.dns.gui.wizard.panels.ReverseZoneWizardPage4; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardData; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage01; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage1; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage2; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage21; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage31; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage3a; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage3b; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage3c; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage5; import org.sblim.wbemsmt.exception.CimConnectionException; import org.sblim.wbemsmt.exception.InvalidParameterException; import org.sblim.wbemsmt.exception.PropertyNotFoundException; import org.sblim.wbemsmt.tools.wizard.container.IWizardContainer; import org.sblim.wbemsmt.tools.wizard.container.WizardContainerBase; /** * Author B. Lange * @version 02.06.05 * * Implementation sample for DNSZone creation wizard task with common parts for JSF/SWING user interface * */public class DNSZoneWizardContainer extends WizardContainerBase implements IWizardContainer { protected CIMClient cimClient = null; public ZoneWizardData zoneWizardData = null; public DNSZone createdDNSZone = null; private String serviceName; public static final String ZONEWIZARDPAGE1 = "zoneWizardPage1"; public static final String ZONEWIZARDPAGE2 = "zoneWizardPage2"; public static final String ZONEWIZARDPAGE3a = "zoneWizardPage3a"; public static final String ZONEWIZARDPAGE3b = "zoneWizardPage3b"; public static final String ZONEWIZARDPAGE3c = "zoneWizardPage3c"; public static final String ZONEWIZARDPAGE5 = "zoneWizardPage5"; //reverse zone pages public static final String ZONEWIZARDPAGE01 = "zoneWizardPage01"; public static final String ZONEWIZARDPAGE21 = "zoneWizardPage21"; public static final String ZONEWIZARDPAGE31 = "zoneWizardPage31"; public static final String FINISHPAGE1 = "finishPage"; public DNSZoneWizardContainer(CIMClient cimClient, String serviceName) { super(); this.cimClient = cimClient; this.serviceName = serviceName; } public void initWizardContainer() { if (hmPages == null) { hmPages = new HashMap(); if (wizardRunType.equals("JSWING")) { System.out.println("initWizardContainer - JSWING"); hmPages.put(ZONEWIZARDPAGE1, new ZoneWizardPage1()); hmPages.put(ZONEWIZARDPAGE2, new ZoneWizardPage2()); hmPages.put(ZONEWIZARDPAGE3a, new ZoneWizardPage3a()); hmPages.put(ZONEWIZARDPAGE3b, new ZoneWizardPage3b()); hmPages.put(ZONEWIZARDPAGE3c, new ZoneWizardPage3c()); hmPages.put(ZONEWIZARDPAGE5, new ZoneWizardPage5()); hmPages.put(ZONEWIZARDPAGE01, new ZoneWizardPage01()); hmPages.put(ZONEWIZARDPAGE21, new ZoneWizardPage21(this.cimClient)); hmPages.put(ZONEWIZARDPAGE31, new ZoneWizardPage31(this.cimClient)); } else if (wizardRunType.equals("JSF")) { System.out.println("initWizardContainer - JSF"); hmPages.put(ZONEWIZARDPAGE1, ZONEWIZARDPAGE1); hmPages.put(ZONEWIZARDPAGE2, ZONEWIZARDPAGE2); hmPages.put(ZONEWIZARDPAGE3a, ZONEWIZARDPAGE3a); hmPages.put(ZONEWIZARDPAGE3b, ZONEWIZARDPAGE3b); hmPages.put(ZONEWIZARDPAGE5, ZONEWIZARDPAGE5); } } if (hmPages.size() == 0) noPages = true; this.zoneWizardData = new ZoneWizardData(cimClient); } public String getNextWizardPageName() { System.out.println("next - currentPageName: "+getCurrentPageName()); if (getCurrentPageName().equals("")) { return ZONEWIZARDPAGE1; } if (getCurrentPageName().equals(ZONEWIZARDPAGE1)) { if(zoneWizardData.getReverse()) return ZONEWIZARDPAGE01; else return ZONEWIZARDPAGE2; } if (getCurrentPageName().equals(ZONEWIZARDPAGE3a)) { this.buildSummaryText(); return ZONEWIZARDPAGE5; } if (getCurrentPageName().equals(ZONEWIZARDPAGE3b)) { this.buildSummaryText(); return ZONEWIZARDPAGE5; } if (getCurrentPageName().equals(ZONEWIZARDPAGE3c)) { this.buildSummaryText(); return ZONEWIZARDPAGE5; } if (getCurrentPageName().equals(ZONEWIZARDPAGE01)) { switch(zoneWizardData.getReverseWizardType()){ case 1: this.buildSummaryText(); return ZONEWIZARDPAGE5; case 2: return ZONEWIZARDPAGE21; case 3: return ZONEWIZARDPAGE31; } } if (getCurrentPageName().equals(ZONEWIZARDPAGE21)) { this.buildSummaryText(); return ZONEWIZARDPAGE5; } if (getCurrentPageName().equals(ZONEWIZARDPAGE31)) { this.buildSummaryText(); return ZONEWIZARDPAGE5; } if (getCurrentPageName().equals(ZONEWIZARDPAGE2)) { try { if (zoneWizardData.getDNSZone().getType() != null) { if (zoneWizardData.getDNSZone().getType().equals(new Short(DNSZone.TYPE_MASTER))) { return ZONEWIZARDPAGE3b; } else if(zoneWizardData.getDNSZone().getType().equals(new Short(DNSZone.TYPE_SLAVE))|| zoneWizardData.getDNSZone().getType().equals(new Short(DNSZone.TYPE_STUB))){ return ZONEWIZARDPAGE3a; } else if(zoneWizardData.getDNSZone().getType().equals(new Short(DNSZone.TYPE_FORWARD))){ return ZONEWIZARDPAGE3c; } else { this.buildSummaryText(); return ZONEWIZARDPAGE5; } } }catch (Exception ex) { ex.printStackTrace(); return ""; } } return ""; } public boolean isLast(String pageName) { if (pageName.equals(ZONEWIZARDPAGE5)) { return true; } else return false; } public boolean isFirst(String pageName) { if (pageName.equals(ZONEWIZARDPAGE1)) { return true; } else return false; } public void cleanUP(String pageName) { // cleanUP could be necessary for data object and for page object System.out.println("cleanUP - currentPageName: "+pageName); if (pageName.equals(ZONEWIZARDPAGE1)) { zoneWizardData.setZone("Unknown"); } if (pageName.equals(ZONEWIZARDPAGE2)) { zoneWizardData.getDNSZone().setName(""); } if (pageName.equals(ZONEWIZARDPAGE01)) { zoneWizardData.clearReverseZoneAdapter(); } if (pageName.equals(ZONEWIZARDPAGE3a)) { zoneWizardData.setIpAddresses(null); } if (pageName.equals(ZONEWIZARDPAGE3b)) { DNSMasterZone mz = (DNSMasterZone) zoneWizardData.getDNSZone(); mz.setContact(""); mz.setSoaServer(""); DNSResourceRecord aRR = this.zoneWizardData.getAResourceRecord(); aRR.setName(""); aRR.setValue(""); DNSResourceRecord nsRR = this.zoneWizardData.getNSResourceRecord(); nsRR.setName(""); nsRR.setValue(""); } if (pageName.equals(ZONEWIZARDPAGE3c)) { zoneWizardData.setIpAddresses(null); try{ ((DNSForwardZone)zoneWizardData.getDNSZone()).setForward(new Short((short)0)); }catch(Exception ex){ System.err.println("Error while resetting forward attribute"); ex.printStackTrace(); } } if (pageName.equals(ZONEWIZARDPAGE5)) { } } public boolean isValid(String propertyName, Object value, Vector result) { try{ if(propertyName == DNSZone.CIM_PROPERTY_NAME || propertyName == DNSZone.CIM_PROPERTY_TYPE || propertyName == DNSMasterZone.CIM_PROPERTY_CONTACT || propertyName == DNSMasterZone.CIM_PROPERTY_SERVER) if(!DNSMasterZone.checkProperty(propertyName, value)){ result.add("Invalid " + propertyName + "\n"); return false; }else return true; else if(propertyName == DNSResourceRecord.CIM_PROPERTY_NAME){ DNSResourceRecord nsrr = zoneWizardData.getNSResourceRecord(); if(!DNSResourceRecord.checkProperty(propertyName,value,nsrr.getType())){ result.add("Ivalid " + propertyName + "\n"); return false; }else return true; }else if(propertyName == DNSResourceRecord.CIM_PROPERTY_VALUE){ DNSResourceRecord arr = zoneWizardData.getAResourceRecord(); if(!DNSResourceRecord.checkProperty(propertyName,value,arr.getType())){ result.add("Ivalid " + propertyName + "\n"); return false; } else return true; }else if(propertyName == DNSIPAddress.CIM_PROPERTY_IPADDRESS){ if(!DNSIPAddress.checkProperty(propertyName,value)){ result.add("Ivalid " + propertyName + "\n"); return false; }else return true; } }catch (Exception e){ e.printStackTrace(); return false; } result.add("Property "+ propertyName + " not found"); return false; } private void buildSummaryText() { summary = new String[5]; String na = "= n/a"+System.getProperty("line.separator"); try { if(zoneWizardData.getReverse()){ String line1 = new String("Reverse zones ="); String[] names = zoneWizardData.getReverseZoneAdapter().getReverseZoneNames(); for(int i=0;i<names.length;i++) line1 = line1 + " " + names[i] + ","; summary[0] = line1; summary[1] = ""; summary[2] = ""; summary[3] = ""; summary[4] = ""; }else{ String line1 = new String("Zone Name "); if (this.zoneWizardData.getDNSZone().getName() != null && !this.zoneWizardData.getDNSZone().getName().trim().equals("")) line1 = line1+("= "+this.zoneWizardData.getDNSZone().getName()+System.getProperty("line.separator")); else line1 = line1+(na); summary[0] = line1; String line2 = new String("Zone Type "); if (this.zoneWizardData.getDNSZone().getTypeString() != null && !this.zoneWizardData.getDNSZone().getTypeString().trim().equals("")) line2 = line2+("= "+this.zoneWizardData.getDNSZone().getTypeString()+System.getProperty("line.separator")); else line2 = line2+(na); summary[1] = line2; if (this.zoneWizardData.getDNSZone().getType().shortValue() == DNSZone.TYPE_MASTER) { String line3 = new String("Zone Contact "); DNSMasterZone mz = (DNSMasterZone) this.zoneWizardData.getDNSZone(); if (mz.getContact()!= null && !mz.getContact().trim().equals("")) line3 = line3+("= "+mz.getContact()+System.getProperty("line.separator")); else line3 = line3+(na); summary[2] = line3; String line4 = new String("NameServer Name "); if (zoneWizardData.getNSResourceRecord().getValue() != null && !this.zoneWizardData.getNSResourceRecord().getValue().trim().equals("")) line4 = line4+("= "+zoneWizardData.getNSResourceRecord().getValue()+System.getProperty("line.separator")); else line4 = line4+(na); summary[3] = line4; String line5 = new String("NameServer IP "); if (mz.getSoaServer() != null && !mz.getSoaServer().trim().equals("")) line5 = line5+("= "+mz.getSoaServer()+System.getProperty("line.separator")); else line5 = line5+(na); summary[4] = line5; } else if(this.zoneWizardData.getDNSZone().getType().shortValue() == DNSZone.TYPE_SLAVE || this.zoneWizardData.getDNSZone().getType().shortValue() == DNSZone.TYPE_STUB){ String line3 = new String("Master Servers "); if (this.zoneWizardData.getIpAddresses() != null){ String[] m = this.zoneWizardData.getIpAddresses(); line3 = line3+("= "); for (int i=0;i<m.length;i++) line3 = line3+(" "+m[i]+","); line3 = line3 + System.getProperty("line.separator"); }else line3 = line3+(na); summary[2] = line3; summary[3] = ""; summary[4] = ""; }else if(this.zoneWizardData.getDNSZone().getType().shortValue() == DNSZone.TYPE_FORWARD){ String line4 = new String("Forwarders "); String line3 = new String("Forward "); line3 = line3 + "= " + ((DNSForwardZone)this.zoneWizardData.getDNSZone()).getForwardString() + System.getProperty("line.separator"); if (this.zoneWizardData.getIpAddresses() != null){ String[] m = this.zoneWizardData.getIpAddresses(); line4 = line4+("= "); for (int i=0;i<m.length;i++) line4 = line4+(" "+m[i]+","); line4 = line4 + System.getProperty("line.separator"); }else line4 = line4+(na); summary[2] = line3; summary[3] = line4; summary[4] = ""; } else{ summary[2] = ""; summary[3] = ""; summary[4] = ""; } } } catch (PropertyNotFoundException nfe) { System.out.println("caught exception: "+nfe); } } public void preWizardFinish() throws InvalidParameterException, CimConnectionException, PropertyNotFoundException { System.out.println("calling preWizardFinish()"); DNSResourceRecord aRR = this.getZoneWizardData().getAResourceRecord(); DNSResourceRecord nsRR = this.getZoneWizardData().getNSResourceRecord(); String info = ""; ArrayList mastersOfSlave = new ArrayList(); String[] ipAddresses = this.getZoneWizardData().getIpAddresses(); try { if((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_MASTER) { nsRR.setName(""); //abreviation of zone name, BIND9 nsRR.setZoneName(this.getZoneWizardData().getDNSZone().getName()); nsRR.setFamily(new Short(DNSResourceRecord.CIM_FAMILY_INTERNET)); aRR.setName(nsRR.getValue()); aRR.setZoneName(this.getZoneWizardData().getDNSZone().getName()); aRR.setFamily(new Short(DNSResourceRecord.CIM_FAMILY_INTERNET)); }else if((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_SLAVE || (this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_STUB){ for(int i=0; i<ipAddresses.length;i++){ DNSIPAddress ip = new DNSIPAddress(this.cimClient); ip.setIPAddress(ipAddresses[i]); ip.setZoneName(this.getZoneWizardData().getDNSZone().getName()); mastersOfSlave.add(ip); } }else if((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_FORWARD){ } } catch (Exception e) { System.err.println("Could not get Property"); e.printStackTrace(); } try{ //check here the type of the DNS zone to create and create the derived type if(zoneWizardData.getReverse()){ ReverseZone revZone = null; DNSMasterZone zone = null; DNSResourceRecord r = null; ArrayList revZones = zoneWizardData.getReverseZoneAdapter().createReverseZones(); ArrayList records = null; for(int i=0; i<revZones.size();i++){ revZone = (ReverseZone) revZones.get(i); zone = revZone.getZone(); try{ DNSMasterZone.createInstance(this.cimClient,zone); }catch(CIMException e){ if(e.getDescription().indexOf("ALREADY_EXISTS")==-1) System.err.println("Error while creating reverse zone "+zone.getName()); } records = revZone.getZoneResourceRecords(); for(int j=0;j<records.size();j++){ r = (DNSResourceRecord) records.get(j); try{ DNSResourceRecord.createInstance(this.cimClient,r); }catch(CIMException e){ if(e.getDescription().indexOf("ALREADY_EXISTS")==-1) System.err.println("Error while creating reverse zone resource record "+r.getName()); continue; } } } } else if ((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_MASTER) { createdDNSZone = DNSMasterZone.createInstance(this.cimClient,(DNSMasterZone)this.getZoneWizardData().getDNSZone()); info = "Created Master zone only"; DNSResourceRecord.createInstance(this.cimClient, this.zoneWizardData.getNSResourceRecord()); info = "Created Master zone and NS resource record only"; DNSResourceRecord.createInstance(this.cimClient, this.zoneWizardData.getAResourceRecord()); }else if((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_SLAVE || (this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_STUB){ createdDNSZone = DNSSlaveZone.createInstance(this.cimClient,(DNSSlaveZone)this.getZoneWizardData().getDNSZone()); info = "Created slave zone only"; for(int i=0; i<mastersOfSlave.size();i++){ DNSIPAddress.createInstance(cimClient,(DNSIPAddress)mastersOfSlave.get(i)); info = "Created slave zone and reference to some of its masters"; } }else if((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_HINT){ createdDNSZone = DNSHintZone.createInstance(this.cimClient,(DNSHintZone)this.getZoneWizardData().getDNSZone()); }else if((this.zoneWizardData.getDNSZone().getType()!=null?this.zoneWizardData.getDNSZone().getType().shortValue():DNSZone.TYPE_UNKNOWN) == DNSZone.TYPE_FORWARD){ createdDNSZone = DNSForwardZone.createInstance(this.cimClient,(DNSForwardZone)this.getZoneWizardData().getDNSZone()); } }catch(CIMException e){ throw new CIMException(info); } } public void postWizardFinish() { } /** * @return Returns the zoneWizardData. */ public ZoneWizardData getZoneWizardData() { return zoneWizardData; } /** * @param zoneWizardData The zoneWizardData to set. */ public void setZoneWizardData(ZoneWizardData zoneWizardData) { this.zoneWizardData = zoneWizardData; } } --- NEW FILE: DNSZoneSwingAdapter.java --- /** * DNSZoneSwingAdapter.java * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://www.opensource.org/licenses/cpl1.0.php * * Author: Bert Lange <la...@de...> * * Contributors: * Rodrigo Ceron <rc...@br...> **/ /* * Created on Jul 26, 2005, ceron */ package org.sblim.wbemsmt.dns.gui.wizard; import java.awt.Dimension; import java.util.ArrayList; import java.util.Enumeration; import java.util.Vector; import javax.swing.DefaultListModel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import org.sblim.wbemsmt.dns.bl.adapter.ReverseZoneAdapter; import org.sblim.wbemsmt.dns.bl.fco.DNSForwardZone; import org.sblim.wbemsmt.dns.bl.fco.DNSMasterZone; import org.sblim.wbemsmt.dns.bl.fco.DNSResourceRecord; import org.sblim.wbemsmt.dns.bl.fco.DNSZone; import org.sblim.wbemsmt.dns.gui.DNSApplication; import org.sblim.wbemsmt.dns.gui.ResourceRecordListComponent; import org.sblim.wbemsmt.dns.gui.ZoneListComponent; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage01; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage1; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage2; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage21; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage31; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage3a; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage3b; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage3c; import org.sblim.wbemsmt.dns.gui.wizard.panels.ZoneWizardPage5; import org.sblim.wbemsmt.tools.wizard.adapter.IPageWizardAdapter; import org.sblim.wbemsmt.tools.wizard.adapter.SwingWizardAdapterBase; import org.sblim.wbemsmt.tools.wizard.container.IWizardContainer; /** * Author B. Lange * @version 02.06.05 * * Implementation sample for DNSZone creation wizard task controlling JSwing wizard pages * */public class DNSZoneSwingAdapter extends SwingWizardAdapterBase implements IPageWizardAdapter { private DNSApplication owner = null; private DNSZoneWizardContainer dnsContainer = null; private int actualPanelNumber = 0; public DNSZoneSwingAdapter(Dimension dimension, DNSApplication owner, String wizardName) { super(owner); this.owner = owner; this.dnsContainer = new DNSZoneWizardContainer(owner.getCIMClient(), wizardName); super.initialize(dimension, wizardName); try { super.initWizard((IWizardContainer)dnsContainer, this); } catch (Exception ex) { ex.printStackTrace(); return; } System.out.println("Wizard initialized"); } public void cleanUPPage(String panelName) { if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE1)) { } if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE2)) { dnsContainer.getPages().put(panelName, new ZoneWizardPage2()); } if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE3a)) { dnsContainer.getPages().put(panelName, new ZoneWizardPage3a()); } if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE3b)) { dnsContainer.getPages().put(panelName, new ZoneWizardPage3b()); } if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE3c)) { dnsContainer.getPages().put(panelName, new ZoneWizardPage3c()); } if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE01)) { dnsContainer.getPages().put(panelName, new ZoneWizardPage01()); } if (panelName.equals(DNSZoneWizardContainer.ZONEWIZARDPAGE5)) { } } public boolean savePageValues(String actualPanelName) { Vector result = new Vector(); String errorMsg = null; JPanel jPanel = (JPanel)(container.getPages().get(actualPanelName)); if (this.saveData(jPanel,result)) return true; errorMsg = result.toString().replaceAll("[\\[\\],]",""); JOptionPane.showMessageDialog(this, errorMsg, "ERROR", JOptionPane.ERROR_MESSAGE); return false; } public void setSummaryText(String nextPanelName) { JPanel panel = (JPanel)(container.getPages().get(nextPanelName)); StringBuffer sbText = new StringBuffer(); for (int i=0; i<dnsContainer.getSummary().length; i++) { sbText.append(dnsContainer.getSummary()[i]); } ((ZoneWizardPage5) panel).getJTextArea().setText(sbText.toString()); } public String wizardComplete() { System.out.println("count of used wizard panels: "+dnsContainer.getUsedPages().size()); try { dnsContainer.preWizardFinish(); } catch (Exception ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(this, "DNS Zone wizard failed: " + ex.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE); return ""; } if(!dnsContainer.zoneWizardData.getReverse()){ int originalCount = owner.getJComboBox10().getItemCount(); owner.getJComboBox10().addItem(new ZoneListComponent(dnsContainer.createdDNSZone)); owner.getJComboBox10().setSelectedIndex(originalCount); owner.getJComboBox3().addItem(new ZoneListComponent(dnsContainer.createdDNSZone)); owner.getJComboBox3().setSelectedIndex(originalCount); owner.displayValuesZoneOpt(dnsContainer.createdDNSZone); }else{ owner.initializeZoneCombos(); } System.out.println("executed preWizardFinish()"); this.setVisible(false); this.dispose(); dnsContainer.postWizardFinish(); System.out.println("sent values from wizard to business logic"); return null; } private boolean saveData(JPanel jpanel, Vector result) { boolean error = false; if (container.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE1)) { JRadioButton button = null; Enumeration eButtons = ((ZoneWizardPage1)jpanel).getBGroup().getElements(); boolean selected = false; while (eButtons.hasMoreElements()) { button = (JRadioButton) eButtons.nextElement(); if (button.isSelected()) { selected = true; break; } } dnsContainer.zoneWizardData.setZone(button.getName()); if (!dnsContainer.isValid(DNSZone.CIM_PROPERTY_TYPE, new Boolean(selected), result)) return false; try{ if(!dnsContainer.zoneWizardData.getReverse()) dnsContainer.zoneWizardData.getDNSZone().setType(button.getName()); else dnsContainer.zoneWizardData.getDNSZone().setType("Master"); }catch(Exception e){ e.printStackTrace(); return false; } } //Check zone name if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE2)) { if (!dnsContainer.isValid(DNSZone.CIM_PROPERTY_NAME, ((ZoneWizardPage2)jpanel).getJTextField().getText(), result)) return false; dnsContainer.zoneWizardData.getDNSZone().setName(((ZoneWizardPage2)jpanel).getJTextField().getText()); } //Slave zone specific if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE3a)) { DefaultListModel model = (DefaultListModel)((ZoneWizardPage3a)jpanel).getJList().getModel(); Object[] o = model.toArray(); if(o.length==0){ result.add("A slave needs at least one master!"); return false; } String[] s = new String[o.length]; for(int i=0; i<o.length;i++) s[i] = (String) o[i]; dnsContainer.zoneWizardData.setIpAddresses(s); } //Master zone specific if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE3b)) { DNSResourceRecord aRR = dnsContainer.zoneWizardData.getAResourceRecord(); DNSResourceRecord nsRR = dnsContainer.zoneWizardData.getNSResourceRecord(); try{ aRR.setType(new Short(DNSResourceRecord.CIM_TYPE_A)); nsRR.setType(new Short(DNSResourceRecord.CIM_TYPE_NS)); }catch (Exception e) { System.err.println("Error while setting zone resource record type"); e.printStackTrace(); } if(!dnsContainer.isValid(DNSMasterZone.CIM_PROPERTY_CONTACT, (((ZoneWizardPage3b)jpanel).getJTextField2().getText()), result)) error = true; if(!dnsContainer.isValid(DNSMasterZone.CIM_PROPERTY_SERVER, (((ZoneWizardPage3b)jpanel).getJTextField1().getText()), result)) error = true; if(!dnsContainer.isValid(DNSResourceRecord.CIM_PROPERTY_VALUE, (((ZoneWizardPage3b)jpanel).getJTextField().getText()), result)) error = true; if(error) return false; ((DNSMasterZone)dnsContainer.zoneWizardData.getDNSZone()).setContact(((ZoneWizardPage3b)jpanel).getJTextField2().getText()); ((DNSMasterZone)dnsContainer.zoneWizardData.getDNSZone()).setSoaServer(((ZoneWizardPage3b)jpanel).getJTextField1().getText()); try { nsRR.setValue(((ZoneWizardPage3b)jpanel).getJTextField1().getText()); aRR.setName(((ZoneWizardPage3b)jpanel).getJTextField1().getText()); aRR.setValue(((ZoneWizardPage3b)jpanel).getJTextField().getText()); } catch (Exception e) { System.err.println("Error while creating zone resource record"); e.printStackTrace(); } } //Forward zone specific if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE3c)) { DNSForwardZone zone = (DNSForwardZone) dnsContainer.zoneWizardData.getDNSZone(); DefaultListModel model = (DefaultListModel)((ZoneWizardPage3c)jpanel).getJList().getModel(); Object[] o = model.toArray(); String[] s = new String[o.length]; if(o.length>0){ for(int i=0; i<o.length;i++) s[i] = (String) o[i]; dnsContainer.zoneWizardData.setIpAddresses(s); zone.setForwarders(s); } try{ if(((ZoneWizardPage3c)jpanel).getJRadioButton().isSelected()) zone.setForward(new Short(DNSForwardZone.FORWARD_ONLY)); else if(((ZoneWizardPage3c)jpanel).getJRadioButton1().isSelected()) zone.setForward(new Short(DNSForwardZone.FORWARD_FIRST)); }catch(Exception ex){ System.err.println("Error while setting forward attribute"); ex.printStackTrace(); } } //Reverse Zone - create all of them if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE01)) { if(((ZoneWizardPage01)jpanel).getJRadioButton6().isSelected()){ dnsContainer.zoneWizardData.setReverseWizardType((short)1); dnsContainer.zoneWizardData.setReverseZoneAdapter(); ReverseZoneAdapter revZoneAdapter = dnsContainer.zoneWizardData.getReverseZoneAdapter(); revZoneAdapter.builReverseInfo(); return true; }else if(((ZoneWizardPage01)jpanel).getJRadioButton().isSelected()){ dnsContainer.zoneWizardData.setReverseWizardType((short)2); return true; } else if(((ZoneWizardPage01)jpanel).getJRadioButton1().isSelected()){ dnsContainer.zoneWizardData.setReverseWizardType((short)3); return true; } result.add("Select a valid wizard"); return false; } if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE21)) { if( ((ZoneWizardPage21)jpanel).getJComboBox().getSelectedIndex()>=0){ DNSMasterZone zone = (DNSMasterZone)((ZoneListComponent)((ZoneWizardPage21)jpanel).getJComboBox().getSelectedItem()).getUserObject(); dnsContainer.zoneWizardData.setReverseZoneAdapter(zone); ReverseZoneAdapter revZoneAdapter = dnsContainer.zoneWizardData.getReverseZoneAdapter(); revZoneAdapter.builReverseInfo(); return true; } result.add("Select a master zone"); return false; } if (dnsContainer.getCurrentPageName().equals(DNSZoneWizardContainer.ZONEWIZARDPAGE31)) { if( ((ZoneWizardPage31)jpanel).getJList().getSelectedIndex()>=0){ ArrayList rrs = new ArrayList(); DefaultListModel model = (DefaultListModel) ((ZoneWizardPage31)jpanel).getJList().getModel(); int[] indices = ((ZoneWizardPage31)jpanel).getJList().getSelectedIndices(); for(int i=0; i<indices.length;i++) rrs.add(((ResourceRecordListComponent)model.get(indices[i])).getUserObject()); dnsContainer.zoneWizardData.setReverseZoneAdapter(rrs); ReverseZoneAdapter revZoneAdapter = dnsContainer.zoneWizardData.getReverseZoneAdapter(); revZoneAdapter.builReverseInfo(); return true; } result.add("Select at least one resource record"); return false; } return true; } /** * @return Returns the dnsContainer. */ public DNSZoneWizardContainer getDnsContainer() { return dnsContainer; } /** * @param dnsContainer The dnsContainer to set. */ public void setDnsContainer(DNSZoneWizardContainer dnsContainer) { this.dnsContainer = dnsContainer; } } --- NEW FILE: DNSACLWizardContainer.java --- /** * DNSACLWizardContainer.java * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://www.opensource.org/licenses/cpl1.0.php * * Author: Fernando Aires <fa...@br...> * * Contributors: * Rodrigo Ceron <rc...@br...> * **/ /* * Created on Jul 27, 2005, aires */ package org.sblim.wbemsmt.dns.gui.wizard; import java.util.HashMap; import java.util.Vector; import org.sblim.wbem.client.CIMClient; import org.sblim.wbemsmt.dns.bl.fco.DNSAddressMatchList; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardData; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardPage1; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardPage2; import org.sblim.wbemsmt.dns.gui.wizard.panels.ACLWizardPage3; import org.sblim.wbemsmt.exception.CimConnectionException; import org.sblim.wbemsmt.exception.InvalidParameterException; import org.sblim.wbemsmt.exception.PropertyNotFoundException; import org.sblim.wbemsmt.tools.wizard.container.IWizardContainer; import org.sblim.wbemsmt.tools.wizard.container.WizardContainerBase; public class DNSACLWizardContainer extends WizardContainerBase implements IWizardContainer { protected CIMClient cimClient = null; public ACLWizardData aclWizardData = null; public DNSAddressMatchList createdACL = null; private String serviceName; public static final String ACLWIZARDPAGE1 = "aclWizardPage1"; public static final String ACLWIZARDPAGE2 = "aclWizardPage2"; public static final String ACLWIZARDPAGE3 = "aclWizardPage3"; public DNSACLWizardContainer(CIMClient cimClient, String serviceName) { super(); this.cimClient = cimClient; this.serviceName = serviceName; } public void initWizardContainer() { if (hmPages == null) { hmPages = new HashMap(); if (wizardRunType.equals("JSWING")) { System.out.println("initWizardContainer - JSWING"); hmPages.put(ACLWIZARDPAGE1, new ACLWizardPage1(this.cimClient)); hmPages.put(ACLWIZARDPAGE2, new ACLWizardPage2()); hmPages.put(ACLWIZARDPAGE3, new ACLWizardPage3()); } else if (wizardRunType.equals("JSF")) { //aires TODO fill with JSF code } } if (hmPages.size() == 0) noPages = true; this.aclWizardData = new ACLWizardData(cimClient); } public String getNextWizardPageName() { System.out.println("next - currentPageName: "+getCurrentPageName()); if (getCurrentPageName().equals("")) { return ACLWIZARDPAGE1; } if (getCurrentPageName().equals(ACLWIZARDPAGE1)) { return ACLWIZARDPAGE2; } if (getCurrentPageName().equals(ACLWIZARDPAGE2)) { this.buildSummaryText(); return ACLWIZARDPAGE3; } else return ""; } public boolean isLast(String pageName) { if (pageName.equals(ACLWIZARDPAGE3)) { return true; } else return false; } public boolean isFirst(String pageName) { if (pageName.equals(ACLWIZARDPAGE1)) { return true; } else return false; } public void cleanUP(String pageName) { System.out.println("cleanUP - currentPageName: "+pageName); if (pageName.equals(ACLWIZARDPAGE1)) { try{ aclWizardData.getACL().setName(""); aclWizardData.getACL().setServiceName(""); aclWizardData.getACL().setAddressListType(new Short((short)0)); } catch(Exception e){ e.printStackTrace(); } } if (pageName.equals(ACLWIZARDPAGE2)) { String[] emptyList = new String[0]; aclWizardData.getACL().setAddressList(emptyList); } if (pageName.equals(ACLWIZARDPAGE3)) { } } public boolean isValid(String propertyName, Object value, Vector result) { try { if(propertyName.equals(DNSAddressMatchList.CIM_PROPERTY_NAME) || propertyName.equals(DNSAddressMatchList.CIM_PROPERTY_SERVICENAME) || propertyName.equals(DNSAddressMatchList.CIM_PROPERTY_ADDRESSLISTTYPE) || propertyName.equals(DNSAddressMatchList.CIM_PROPERTY_ADDRESSLIST)) { if(! aclWizardData.getACL().checkProperty(propertyName,value)){ result.add("Invalid "+ propertyName +"\n"); } else return true; } } catch (Exception e) { System.err.println("Error defining Resource Record type"); } return false; } private void buildSummaryText() { summary = new String[4]; String na = "= n/a"+System.getProperty("line.separator"); try { summary[0] = new String("RR Service Name "); if (this.aclWizardData.getACL().getServiceName() != null && !this.aclWizardData.getACL().getServiceName().trim().equals("")) summary[0] = summary[0]+("= "+this.aclWizardData.getACL().getServiceName()+System.getProperty("line.separator")); else summary[0] = summary[0]+(na); summary[1] = new String("RR Name "); if (this.aclWizardData.getACL().getName() != null && !this.aclWizardData.getACL().getName().trim().equals("")) summary[1] = summary[1]+("= "+this.aclWizardData.getACL().getName()+System.getProperty("line.separator")); else summary[1] = summary[1]+(na); summary[2] = new String("RR Addr List Type "); if (this.aclWizardData.getACL().getAddressListType() != null) summary[2] = summary[2]+("= "+this.aclWizardData.getACL().getAddressListTypeString()+System.getProperty("line.separator")); else summary[2] = summary[2]+(na); summary[3] = new String("RR Address List "); if (this.aclWizardData.getACL().getAddressList() != null) { boolean printed = false; for(int i=0; i<this.aclWizardData.getACL().getAddressList().length; i++) { if (this.aclWizardData.getACL().getAddressList()[i] != null && !((String) this.aclWizardData.getACL().getAddressList()[i]).trim().equals("")) { if (!printed) summary[3] = summary[3]+("= "); else summary[3] = summary[3]+(", "); printed = true; summary[3] = summary[3]+this.aclWizardData.getACL().getAddressList()[i]; } } if(printed) summary[3] = summary[3]+System.getProperty("line.separator"); else summary[3] = summary[3]+("none")+System.getProperty("line.separator"); } else summary[3]=summary[3]+(na); } catch (PropertyNotFoundException nfe) { System.out.println("caught exception: "+nfe); } } public void preWizardFinish() throws InvalidParameterException, CimConnectionException, PropertyNotFoundException { System.out.println("calling preWizardFinish()"); DNSAddressMatchList myACL = this.getACLWizardData().getACL(); createdACL = DNSAddressMatchList.createInstance(cimClient, myACL); } public void postWizardFinish() { } /** * @return Returns the ResourceRecordWizardData. */ public ACLWizardData getACLWizardData() { return aclWizardData; } /** * @param rrWizardData The ResourceRecordWizardData to set. */ public void setACLWizardData(ACLWizardData aclWizardData) { this.aclWizardData = aclWizardData; } } |