/** * Factory method, equivalent to a "fromXML" for step creation. Looks for a class with the same * name as the XML tag, with the first letter capitalized. For example, <call /> is * abbot.script.Call. */ public static Step createStep(Resolver resolver, Element el) throws InvalidScriptException { String tag = el.getName(); Map attributes = createAttributeMap(el); String name = tag.substring(0, 1).toUpperCase() + tag.substring(1); if (tag.equals(TAG_WAIT)) { attributes.put(TAG_WAIT, "true"); name = "Assert"; } try { name = "abbot.script." + name; Log.debug("Instantiating " + name); Class cls = Class.forName(name); try { // Steps with contents require access to the XML element Class[] argTypes = new Class[] {Resolver.class, Element.class, Map.class}; Constructor ctor = cls.getConstructor(argTypes); return (Step) ctor.newInstance(new Object[] {resolver, el, attributes}); } catch (NoSuchMethodException nsm) { // All steps must support this ctor Class[] argTypes = new Class[] {Resolver.class, Map.class}; Constructor ctor = cls.getConstructor(argTypes); return (Step) ctor.newInstance(new Object[] {resolver, attributes}); } } catch (ClassNotFoundException cnf) { String msg = Strings.get("step.unknown_tag", new Object[] {tag}); throw new InvalidScriptException(msg); } catch (InvocationTargetException ite) { Log.warn(ite); throw new InvalidScriptException(ite.getTargetException().getMessage()); } catch (Exception exc) { Log.warn(exc); throw new InvalidScriptException(exc.getMessage()); } }
/** Reads the XML data and create the data */ public void readDOMDataElement(Element element, IDataSets datasets) { // start with source data for (Object child : CodeFragment.getDataElementsOfType(CodeFragment.TYPE.SOURCE, element)) { Element code = (Element) child; try { collectSourceDataFromDOM(code, datasets); } catch (Exception e) { e.printStackTrace(); Util.errorMessage( "Failed to load source " + code.getAttributeValue("name") + ", error " + e.getMessage()); } } // process the data for (Object child : CodeFragment.getDataElementsOfType(CodeFragment.TYPE.GENERATED, element)) { Element code = (Element) child; try { processDataFromDOM(code, datasets); } catch (Exception e) { e.printStackTrace(); Util.errorMessage("Failed to run process " + e.getMessage()); } } }
public void cargarConfiguracion() throws ConfiguracionException { try { SAXBuilder builder = new SAXBuilder(); File xmlFile = new File(this.getPathConfig()); Document document = (Document) builder.build(xmlFile); Element rootNode = document.getRootElement(); this.setHoraUnificador(Integer.valueOf(rootNode.getChildText("horaUnificador"))); this.setMinutoUnificador(Integer.valueOf(rootNode.getChildText("minutoUnificador"))); this.setManianaOTardeUnificador(rootNode.getChildText("manianaOTardeUnificador")); this.setSmtp(rootNode.getChildText("smtp")); this.setPuerto(rootNode.getChildText("puerto")); this.setDesdeMail(rootNode.getChildText("desde")); this.setTLS(Boolean.valueOf(rootNode.getChildText("tls"))); this.setAuth(Boolean.valueOf(rootNode.getChildText("auth"))); this.setUser(rootNode.getChildText("user")); this.setPassword(rootNode.getChildText("password")); this.setIpBD(rootNode.getChildText("ipBD")); this.setPortBD(rootNode.getChildText("portBD")); this.setPathTempImages(rootNode.getChildText("pathTempImages")); this.setPathExportDesign(rootNode.getChildText("pathExportDesign")); this.setPathConfig(rootNode.getChildText("pathConfig")); this.setPathDownloadApp(rootNode.getChildText("pathDownloadApp")); this.setKeyGoogleMap(rootNode.getChildText("keyGoogleMap")); } catch (Exception e) { LogFwk.getInstance(Configuracion.class) .error("Error al leer el archivo de configuracion. Detalle: " + e.getMessage()); throw new ConfiguracionException( "Error al leer el archivo de configuracion. Detalle: " + e.getMessage()); } }
/** * 普通版填写包的公共部分 * @param root 开始节点 * @param map 参数map * @param sCycName 循环节点名 * @return */ public Element writeptPublicNode(Element root,HashMap map,String sCycName) { Element node=null; try { String sName=""; String sValue=""; List list=root.getChildren(); for(int i=0;i<list.size();i++) { node=(Element)list.get(i); sName=node.getName(); sName=sName.trim(); sValue=(String)map.get(sName); //System.err.println("sName:"+sName+":"+sValue); if(sCycName.equals(sName)&&(root.getName()).trim().equals("ReqParamSet")) { //System.err.println("find cyc node:"+sName ); return node; } else if(sValue!=null && !"".equals(sValue) ) node.setText(sValue); node=writeptPublicNode(node,map,sCycName); } }catch(Exception ex) { ex.printStackTrace(); System.err.println("error:"+ex.getMessage()); } return node; }
/* * 递归完成查找 * para: Element root 开始查找节点 */ public Element findNode(Element root,String sNodeName) { Element node =null; try { String sName=""; List list=root.getChildren(); for(int i=0;i<list.size();i++) { node=(Element)list.get(i); sName=node.getName(); sName=sName.trim(); //System.err.println("node name:"+sName+"-"+sNodeName); if(sName.equals(sNodeName)) { System.err.println("find the node:"+sName); return node; } node=findNode(node,sNodeName); } }catch(Exception ex) { ex.printStackTrace(); System.err.println("error:"+ex.getMessage()); } return node; }
/** * This creates an empty <code>Document</code> object based on a specific parser implementation. * * @return <code>Document</code> - created DOM Document. * @throws JDOMException when errors occur. */ public Document createDocument() throws JDOMException { try { return (Document) Class.forName("org.apache.xerces.dom.DocumentImpl").newInstance(); } catch (Exception e) { throw new JDOMException( e.getClass().getName() + ": " + e.getMessage() + " when creating document", e); } }
/** * This creates a new <code>{@link Document}</code> from an existing <code>InputStream</code> by * letting a DOM parser handle parsing using the supplied stream. * * @param in <code>InputStream</code> to parse. * @param validate <code>boolean</code> to indicate if validation should occur. * @return <code>Document</code> - instance ready for use. * @throws IOException when I/O error occurs. * @throws JDOMException when errors occur in parsing. */ public Document getDocument(InputStream in, boolean validate) throws IOException, JDOMException { try { // Load the parser class Class parserClass = Class.forName("org.apache.xerces.parsers.DOMParser"); Object parser = parserClass.newInstance(); // Set validation Method setFeature = parserClass.getMethod("setFeature", new Class[] {java.lang.String.class, boolean.class}); setFeature.invoke( parser, new Object[] {"http://xml.org/sax/features/validation", new Boolean(validate)}); // Set namespaces true setFeature.invoke( parser, new Object[] {"http://xml.org/sax/features/namespaces", new Boolean(true)}); // Set the error handler if (validate) { Method setErrorHandler = parserClass.getMethod("setErrorHandler", new Class[] {ErrorHandler.class}); setErrorHandler.invoke(parser, new Object[] {new BuilderErrorHandler()}); } // Parse the document Method parse = parserClass.getMethod("parse", new Class[] {org.xml.sax.InputSource.class}); parse.invoke(parser, new Object[] {new InputSource(in)}); // Get the Document object Method getDocument = parserClass.getMethod("getDocument", null); Document doc = (Document) getDocument.invoke(parser, null); return doc; } catch (InvocationTargetException e) { Throwable targetException = e.getTargetException(); if (targetException instanceof org.xml.sax.SAXParseException) { SAXParseException parseException = (SAXParseException) targetException; throw new JDOMException( "Error on line " + parseException.getLineNumber() + " of XML document: " + parseException.getMessage(), e); } else if (targetException instanceof IOException) { IOException ioException = (IOException) targetException; throw ioException; } else { throw new JDOMException(targetException.getMessage(), e); } } catch (Exception e) { throw new JDOMException(e.getClass().getName() + ": " + e.getMessage(), e); } }
/** * Look up an appropriate ComponentTester given an arbitrary Component-derived class. If the class * is derived from abbot.tester.ComponentTester, instantiate one; if it is derived from * java.awt.Component, return a matching Tester. Otherwise return abbot.tester.ComponentTester. * * <p> * * @throws ClassNotFoundException If the given class can't be found. * @throws IllegalArgumentException If the tester cannot be instantiated. */ protected ComponentTester resolveTester(String className) throws ClassNotFoundException { Class testedClass = resolveClass(className); if (Component.class.isAssignableFrom(testedClass)) return ComponentTester.getTester(testedClass); else if (ComponentTester.class.isAssignableFrom(testedClass)) { try { return (ComponentTester) testedClass.newInstance(); } catch (Exception e) { String msg = "Custom ComponentTesters must provide " + "an accessible no-args Constructor: " + e.getMessage(); throw new IllegalArgumentException(msg); } } String msg = "The given class '" + className + "' is neither a Component nor a ComponentTester"; throw new IllegalArgumentException(msg); }
public DBConnection(String type) { if (type.equals("mysql")) { try { String userName = ""; String password = ""; String url = ""; Class.forName("com.mysql.jdbc.Driver").newInstance(); mysqlCon = DriverManager.getConnection(url, userName, password); System.out.println("Database connection established"); if (!mysqlCon.isClosed()) System.out.println("Successfully connected to " + "MySQL server using TCP/IP..."); } catch (Exception e) { System.err.println("Exception: " + e.getMessage()); } } else if (type.equals("postgre")) { } }
/** * * @param map 需要写入的参数map * @param start 开始节点 * @param bNew 是否新增节点再写入参数 * @return */ public void writeParaMap(Element start,HashMap map) { try { String sName=""; String sValue=""; Element node=null; List list=start.getChildren(); for(int i=0;i<list.size();i++) { node=(Element)list.get(i); sName=node.getName(); sName=sName.trim(); sValue=(String)map.get(sName); if(sValue!=null && !"".equals(sValue) ); node.setText(sValue); } }catch(Exception ex) { ex.printStackTrace(); System.err.println("error:"+ex.getMessage()); } return ; }
private StructureType assignStructureType(Element structure) throws VisualizerLoadException { String name = structure.getName().toLowerCase(); if (name.compareTo("graph") == 0) { if (structure.getAttributeValue("weighted").compareTo("true") == 0) return new Graph_Network("NETWORK"); else return new Graph_Network("GRAPH"); } else if (name.equals("array")) return new MD_Array(); else if (name.equals("no3darray")) return new No3darray(); else if (name.equals("linkedlist")) return new VisLinkedList(); else if (name.equals("no3dlinkedlist")) return new No3dLinkedList(); else if (name.equals("linkedlistnonull")) return new VisLinkedListNoNull(); else if (name.equals("bargraph")) return new BarScat("BAR"); else if (name.equals("scattergraph")) return new BarScat( "SCAT"); // not implemented in xml dtd, and does not have a load-from-xml method defined else if (name.equals("stack")) return new Stack(); else if (name.equals("queue")) return new Queue(); else if (name.equals("tree")) { if (structure.getChild("binary_node") != null) return new BinaryTree(); else return new GeneralTree(); } else if (name.equals("text")) return new TextStructure(); // if the XML element name is different from your structure's name, you can do something like // this: // else if( name.equalsIgnoreCase("node")) // return new Node(); else if (name.equals("legend")) return new LegendofColors(); else { // try dynamic typing try { return assignStructureType(name); } catch (Exception e) { throw new VisualizerLoadException( "Unable to instantiate class \"" + name + "\":\n" + e.getMessage()); } } }