/** @see com.ixora.rms.ui.artefacts.ArtefactSelectorPanel#getXMLDefinitionForSelectedArtefact() */
 protected String getXMLDefinitionForSelectedArtefact() throws Exception {
   JTable table = getJTableArtefacts();
   int sel = table.getSelectedRow();
   if (sel < 0) {
     return "";
   }
   DashboardInfo dashboard = (DashboardInfo) getArtefactInfoAtRow(sel);
   return XMLUtils.toXMLBuffer(null, dashboard.getDashboard(), "rms", false).toString();
 }
 /** @see com.ixora.common.xml.XMLExternalizable#fromXML(org.w3c.dom.Node) */
 public void fromXML(Node node) throws XMLException {
   Node n = XMLUtils.findChild(node, "class");
   if (n == null) {
     throw new XMLNodeMissing("class");
   }
   this.fBoardClass = XMLUtils.getText(n);
   n = XMLUtils.findChild(node, "counterFilterClass");
   if (n != null) {
     this.fBoardCounterFilterClass = XMLUtils.getText(n);
   }
   n = XMLUtils.findChild(node, "name");
   if (n == null) {
     throw new XMLNodeMissing("name");
   }
   this.fBoardName = XMLUtils.getText(n);
   n = XMLUtils.findChild(node, "viewName");
   if (n == null) {
     throw new XMLNodeMissing("viewName");
   }
   this.fViewName = XMLUtils.getText(n);
   n = XMLUtils.findChild(node, "component");
   if (n == null) {
     throw new XMLNodeMissing("component");
   }
   this.fBoardComponenName = XMLUtils.getText(n);
   n = XMLUtils.findChild(node, "icon");
   if (n == null) {
     throw new XMLNodeMissing("icon");
   }
   this.fBoardIcon = XMLUtils.getText(n);
   n = XMLUtils.findChild(node, "allowUserToCreateView");
   if (n != null) {
     fAllowUserToCreateView = Boolean.parseBoolean(XMLUtils.getText(n));
   } else { // default
     fAllowUserToCreateView = true;
   }
   n = XMLUtils.findChild(node, "preference");
   if (n == null) {
     throw new XMLNodeMissing("preference");
   }
   this.fPreferenceIndex = Integer.parseInt(XMLUtils.getText(n));
   n = XMLUtils.findChild(node, "samples");
   if (n != null) {
     List<Node> lst = XMLUtils.findChildren(n, "sample");
     if (lst != null) {
       this.fSamples = new LinkedList<DataViewBoardSampleData>();
       for (Node n1 : lst) {
         String fileName = XMLUtils.getText(n1);
         if (!Utils.isEmptyString(fileName)) {
           fSamples.add(new DataViewBoardSampleData(fileName));
         }
       }
     }
   }
 }