@SuppressWarnings("unchecked") public void redrawPanelFromXml(String xmlstr) { try { JAXBUtil jaxbUtil = PreviousQueryJAXBUtil.getJAXBUtil(); JAXBElement jaxbElement = jaxbUtil.unMashallFromString(xmlstr); ResponseMessageType messageType = (ResponseMessageType) jaxbElement.getValue(); BodyType bt = messageType.getMessageBody(); MasterResponseType masterResponseType = (MasterResponseType) new JAXBUnWrapHelper().getObjectByClass(bt.getAny(), MasterResponseType.class); RequestXmlType requestXmlType = masterResponseType.getQueryMaster().get(0).getRequestXml(); String strRequest = (String) requestXmlType.getContent().get(0); jaxbElement = jaxbUtil.unMashallFromString(strRequest); RequestMessageType requestMessageType = (RequestMessageType) jaxbElement.getValue(); bt = requestMessageType.getMessageBody(); QueryDefinitionRequestType queryDefinitionRequestType = (QueryDefinitionRequestType) new JAXBUnWrapHelper() .getObjectByClass(bt.getAny(), QueryDefinitionRequestType.class); QueryDefinitionType queryDefinitionType = queryDefinitionRequestType.getQueryDefinition(); int numOfPanels = queryDefinitionType.getPanel().size(); if (numOfPanels > 3) { for (int i = 0; i < (numOfPanels - 3); i++) { topPanel.addPanel(); } } for (int i = 0; i < numOfPanels; i++) { PanelType panelType = queryDefinitionType.getPanel().get(i); final ConceptTreePanel panel = getTreePanel(i); ConceptTreeData panelData = new ConceptTreeData(); panelData.setOccurrenceTimes(panelType.getTotalItemOccurrences().getValue()); if (panelType.getInvert() == 0) { panelData.exclude(false); } else if (panelType.getInvert() == 1) { panelData.exclude(true); } for (int j = 0; j < panelType.getItem().size(); j++) { ItemType itemType = panelType.getItem().get(j); QueryConceptTreeNodeData nodedata = new QueryConceptTreeNodeData(); nodedata.name(itemType.getItemName()); nodedata.visualAttribute("FA"); nodedata.tooltip(itemType.getTooltip()); nodedata.fullname(itemType.getItemKey()); // mm removed // nodedata.lookuptable(itemType.getItemTable()); nodedata.hlevel(new Integer(itemType.getHlevel()).toString()); nodedata.lookupdb("metadata"); // nodedata.selectservice(System.getProperty("selectservice") // ); // get the xml content from select service then set it as // node data nodedata.setXmlContent(); panelData.getItems().add(nodedata); } final ConceptTreeData fpanelData = panelData; final String name = queryDefinitionType.getQueryName(); java.awt.EventQueue.invokeLater( new Runnable() { public void run() { topPanel.setQueryName(name); panel.redraw(fpanelData); } }); } } catch (Exception e) { e.printStackTrace(); } }