private static Object valueWrap(final Class<?> cls, final Element element)
     throws InstantiationException, IllegalAccessException, IllegalArgumentException,
         InvocationTargetException, NoSuchMethodException, SecurityException {
   Field[] fie = cls.getDeclaredFields();
   Object obj = cls.newInstance();
   for (Field fi : fie) {
     Element ele = element.element(fi.getName());
     String value = "";
     if (ele == null) {
       value = element.getText();
       if (StringUtils.isBlank(value)) {
         value = element.attributeValue(fi.getName());
       }
     } else {
       value = ele.getText();
       if (StringUtils.isBlank(value)) {
         value = ele.attributeValue(fi.getName());
       }
     }
     String methodName = "set" + upperFirst(fi.getName());
     if (containsMethod(cls, methodName)) {
       cls.getMethod(methodName, String.class).invoke(obj, value);
     }
   }
   return obj;
 }
  public static Set<String> getSamplesForSubmission(Element submission) {
    Set<String> sampleIDs = new HashSet<String>();
    if (XMLUtils.getChildrenByName(submission, "SUBMISSION_LINKS") == null
        || XMLUtils.getChildrenByName(submission, "SUBMISSION_LINKS").size() == 0) {
      log.info("No SUBMISSION_LINKS found for submission");
    }
    for (Element studyLinks : XMLUtils.getChildrenByName(submission, "SUBMISSION_LINKS")) {

      if (XMLUtils.getChildrenByName(studyLinks, "SUBMISSION_LINK") == null
          || XMLUtils.getChildrenByName(studyLinks, "SUBMISSION_LINK").size() == 0) {
        log.info("No SUBMISSION_LINK found for submission");
      }
      for (Element studyLink : XMLUtils.getChildrenByName(studyLinks, "SUBMISSION_LINK")) {

        if (XMLUtils.getChildrenByName(studyLink, "XREF_LINK") == null
            || XMLUtils.getChildrenByName(studyLink, "XREF_LINK").size() == 0) {
          log.info("No XREF_LINK found for submission");
        }
        for (Element xrefLink : XMLUtils.getChildrenByName(studyLink, "XREF_LINK")) {
          Element db = XMLUtils.getChildByName(xrefLink, "DB");
          Element id = XMLUtils.getChildByName(xrefLink, "ID");
          log.info(db.getText() + " " + id.getText());
          if (db.getTextTrim().equals("ENA-SAMPLE")) {
            if (db != null && db.getTextTrim().equals("ENA-SAMPLE") && id != null) {
              log.info("Processing sample " + id.getText());
              sampleIDs.addAll(getIdentifiers(id.getText()));
            }
          }
        }
      }
    }
    return sampleIDs;
  }
Example #3
0
 /** 功能:XML报文解析函数 */
 public static HashMap GetMessage(String url) {
   SAXReader reader = new SAXReader();
   Document doc = null;
   HashMap hm = null;
   try {
     InputStream in = new URL(url).openStream();
     if (in != null) {
       doc = reader.read(in);
       hm = new HashMap();
       Element root = doc.getRootElement();
       for (Iterator it = root.elementIterator(); it.hasNext(); ) {
         Element e = (Element) it.next();
         if (e.nodeCount() > 1) {
           HashMap hm1 = new HashMap();
           for (Iterator it1 = e.elementIterator(); it1.hasNext(); ) {
             Element e1 = (Element) it1.next();
             hm1.put(e1.getName(), e1.getText());
           }
           hm.put(e.getName(), hm1);
         } else {
           hm.put(e.getName(), e.getText());
         }
       }
     }
     doc.clearContent();
     in.close();
   } catch (DocumentException e) {
     e.printStackTrace();
   } catch (MalformedURLException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
   return hm;
 }
  /*.................................................................................................................*/
  public String jobStatusFromResponse(Document cipresResponseDoc) {
    String status = "Status not available";

    Element element = cipresResponseDoc.getRootElement().element("terminalStage");
    if (element != null) {
      status = element.getText();
      if ("true".equalsIgnoreCase(status)) return JOBCOMPLETED;
    }
    element = cipresResponseDoc.getRootElement().element("messages");
    if (element == null) return status;

    List entries = element.elements("message");
    String reportedJobID = "";
    for (Iterator iter = entries.iterator(); iter.hasNext(); ) {
      Element nextEntry = (Element) iter.next();
      if (nextEntry != null) status = nextEntry.elementText("stage");
    }

    element = cipresResponseDoc.getRootElement().element("minPollIntervalSeconds");
    if (element != null) {
      minPollIntervalSeconds = MesquiteInteger.fromString(element.getText());
      if (!MesquiteInteger.isCombinable(minPollIntervalSeconds) || minPollIntervalSeconds <= 0)
        minPollIntervalSeconds = defaultMinPollIntervalSeconds;
    }

    if (JOBCOMPLETED.equalsIgnoreCase(status)) return JOBCOMPLETED;
    return status;
  }
  public static Map<String, ArrayList<CmisProperty>> getCmisRepositoryProperties(
      Element feedEntry) {
    Map<String, ArrayList<CmisProperty>> infoServerList =
        new HashMap<String, ArrayList<CmisProperty>>();
    ArrayList<CmisProperty> propsList = new ArrayList<CmisProperty>();
    ArrayList<CmisProperty> propsCapabilities = new ArrayList<CmisProperty>();
    ArrayList<CmisProperty> propsACLCapabilities = new ArrayList<CmisProperty>();

    Element objectElement = feedEntry.element(CMISRA_REPO_INFO);
    if (objectElement != null) {
      List<Element> properties = objectElement.elements();
      for (Element property : properties) {
        if (CMIS_REPO_CAPABILITES.equals(property.getQName())) {
          List<Element> props = property.elements();
          for (Element prop : props) {
            propsCapabilities.add(
                new CmisProperty(
                    null, null, null, prop.getName().replace("capability", ""), prop.getText()));
          }
        } else if (CMIS_REPO_ACL_CAPABILITES.equals(property.getQName())) {
          /*List<Element> props = property.elements();
          for (Element prop : props) {
          	propsACLCapabilities.add(new CmisProperty(null, null, null, prop.getName().replace("cmis:", ""), prop.getText()));
          }*/
        } else {
          propsList.add(new CmisProperty(null, null, null, property.getName(), property.getText()));
        }
      }
      infoServerList.put(Server.INFO_GENERAL, propsList);
      infoServerList.put(Server.INFO_CAPABILITIES, propsCapabilities);
      infoServerList.put(Server.INFO_ACL_CAPABILITIES, propsACLCapabilities);
    }
    return infoServerList;
  }
  /**
   * 根据参数给类赋值
   *
   * @param object
   * @param type
   * @param field_name
   * @param element
   * @return
   */
  private static Object newObjectByType(
      Object object, String type, String field_name, Element element) {
    try {
      if (type.endsWith("java.lang.String")) { // 处理String类型

        PropertyUtils.setProperty(object, field_name, element.getText());
      } else if (type.endsWith("java.lang.Integer")) { // 处理integer
        System.out.println(type.endsWith("java.lang.Integer"));
        PropertyUtils.setProperty(object, field_name, Integer.parseInt(element.getText()));
      } else if (type.endsWith("java.util.Set")) {
        Set set = new HashSet(); // 处理set
        List<Element> e_list = element.elements();
        for (Iterator iterator = e_list.iterator(); iterator.hasNext(); ) {
          Element object2 = (Element) iterator.next();
          generateBean(object2);
          set.add(generateBean(object2));
          PropertyUtils.setProperty(object, field_name, set);
        }
      } else if (type.startsWith(domain_package)) {
        if (getBeanById(element) != null) {
          Class cls = Class.forName(domain_package_dot + element.getName());
          PropertyUtils.setProperty(
              object, field_name.toLowerCase(), cls.cast(getBeanById(element)));
        }
      }
    } catch (Exception e) {
      log.error(domain_package_dot + element.getName() + "类不存在", e);
    }
    return object;
  }
Example #7
0
 /**
  * 通过Title 查询是相似分类信息
  *
  * @param xml
  * @return
  * @throws DocumentException
  */
 public static List<TradingReseCategory> selectCategoryByKey(String xml) throws Exception {
   List<TradingReseCategory> litrc = new ArrayList();
   // 商品分类目录查询
   Document document = formatStr2Doc(xml);
   Element rootElt = document.getRootElement();
   if (rootElt == null) {
     return litrc;
   }
   Element recommend = rootElt.element("SuggestedCategoryArray");
   if (recommend == null) {
     return litrc;
   }
   Iterator<Element> ite = recommend.elementIterator("SuggestedCategory");
   while (ite.hasNext()) {
     Element ele = ite.next();
     Element cate = ele.element("Category");
     Element PercentItemFound = ele.element("PercentItemFound");
     TradingReseCategory trc = new TradingReseCategory();
     trc.setId(Long.parseLong(cate.elementText("CategoryID")));
     trc.setCategoryId(cate.elementText("CategoryID"));
     Iterator<Element> ites = cate.elementIterator("CategoryParentName");
     String cateName = "";
     while (ites.hasNext()) {
       Element ent = ites.next();
       cateName = cateName + ent.getText() + ":";
     }
     trc.setCategoryKey(PercentItemFound.getText() + "%");
     trc.setCategoryName(cateName + cate.elementText("CategoryName"));
     litrc.add(trc);
   }
   return litrc;
 }
Example #8
0
 @Override
 protected TreeNode createFromXmlElement(TreeNode parent, Element element) {
   Find find = new Find();
   Element methodElement = (Element) element.selectSingleNode("method");
   find.setMethod(getMethod(methodElement.getText()));
   Element valueElement = (Element) element.selectSingleNode("value");
   find.setValue(valueElement.getText());
   return find;
 }
 private void verifyFileSystem(File teamsXmlFile, boolean nopublic) {
   assertTrue("teams.xml".equals(teamsXmlFile.getName()));
   numberOfTeamsXmls++;
   File teamsDir = teamsXmlFile.getParentFile();
   File homeDir = teamsDir.getParentFile();
   try {
     SAXReader reader = new SAXReader();
     Document inDoc = reader.read(teamsXmlFile);
     Element root = inDoc.getRootElement();
     assertTrue("teamManager".equals(root.getName()));
     List<Element> elements = (List<Element>) root.elements();
     for (Element element : elements) {
       if ("team".equals(element.getName())) {
         List<Element> children = (List<Element>) element.elements();
         File teamDir = null;
         for (Element child : children) {
           String childName = child.getName();
           if ("name".equals(childName)) {
             // team must exist
             if ("public".equals(child.getText())) {
               if (nopublic) {
                 assertTrue("Public team found", false);
               }
               teamDir = homeDir;
             } else {
               teamDir = new File(teamsDir, child.getText());
             }
             assertTrue("Not exists " + teamDir.getAbsolutePath(), teamDir.exists());
             assertTrue("Not a dir  " + teamDir.getAbsolutePath(), teamDir.isDirectory());
           } else if ("job".equals(childName)) {
             // we expect team name to be written before jobs
             assertNotNull(teamDir);
             Element idElement = child.element("id");
             assertNotNull(idElement);
             String id = idElement.getText();
             File jobDir = new File(new File(teamDir, "jobs"), id);
             assertTrue("Not exists " + jobDir.getAbsolutePath(), jobDir.exists());
             assertTrue("Not exists " + jobDir.getAbsolutePath(), jobDir.isDirectory());
           }
         }
       }
     }
     if (nopublic) {
       File jobsDir = new File(homeDir, "jobs");
       if (jobsDir.exists() && jobsDir.isDirectory()) {
         for (File file : jobsDir.listFiles()) {
           if (file.isDirectory()) {
             assertTrue("Public job found at " + file.getAbsolutePath(), false);
           }
         }
       }
     }
   } catch (DocumentException ex) {
     Logger.getLogger(FindTest.class.getName()).log(Level.SEVERE, null, ex);
   }
 }
  /**
   * Create new Meeting Workspace on Alfresco server
   *
   * @param soapRequest Vti soap request ({@link VtiSoapRequest})
   * @param soapResponse Vti soap response ({@link VtiSoapResponse})
   */
  public void execute(VtiSoapRequest soapRequest, VtiSoapResponse soapResponse) throws Exception {
    if (logger.isDebugEnabled())
      logger.debug("Soap Method with name " + getName() + " is started.");
    // mapping xml namespace to prefix
    SimpleNamespaceContext nc = new SimpleNamespaceContext();
    nc.addNamespace(prefix, namespace);
    nc.addNamespace(soapUriPrefix, soapUri);

    Element requestElement = soapRequest.getDocument().getRootElement();

    // getting title parameter from request
    if (logger.isDebugEnabled()) logger.debug("Getting title from request.");
    XPath titlePath = new Dom4jXPath(buildXPath(prefix, "/CreateWorkspace/title"));
    titlePath.setNamespaceContext(nc);
    Element title = (Element) titlePath.selectSingleNode(requestElement);

    if (title.getText() == null || title.getText().length() < 1) {
      throw new RuntimeException("Site name is not specified. Please fill up subject field.");
    }

    // getting templateName parameter from request
    if (logger.isDebugEnabled()) logger.debug("Getting templateName from request.");
    XPath templateNamePath = new Dom4jXPath(buildXPath(prefix, "/CreateWorkspace/templateName"));
    templateNamePath.setNamespaceContext(nc);
    Element templateName = (Element) templateNamePath.selectSingleNode(requestElement);

    // getting lcid parameter from request
    if (logger.isDebugEnabled()) logger.debug("Getting lcid from request.");
    XPath lcidPath = new Dom4jXPath(buildXPath(prefix, "/CreateWorkspace/lcid"));
    lcidPath.setNamespaceContext(nc);
    Element lcid = (Element) lcidPath.selectSingleNode(requestElement);

    String siteName =
        handler.createWorkspace(
            title.getText(),
            templateName.getText(),
            Integer.parseInt(lcid.getText()),
            getTimeZoneInformation(requestElement),
            (SessionUser)
                soapRequest.getSession().getAttribute(SharepointConstants.USER_SESSION_ATTRIBUTE));

    // creating soap response
    Element root = soapResponse.getDocument().addElement("CreateWorkspaceResponse", namespace);
    root.addElement("CreateWorkspaceResult")
        .addElement("CreateWorkspace")
        .addAttribute(
            "Url", getHost(soapRequest) + soapRequest.getAlfrescoContextName() + "/" + siteName);

    if (logger.isDebugEnabled()) {
      logger.debug("SOAP method with name " + getName() + " is finished.");
    }
  }
Example #11
0
  /**
   * 遍历整个XML文件,获取所有节点的值与其属性的值,并放入HashMap中
   *
   * @param filename String 待遍历的XML文件(相对路径或者绝对路径)
   * @param hm HashMap 存放遍历结果,格式:<nodename,nodevalue>或者<nodename+attrname,attrvalue>
   */
  public void iterateWholeXML(String filename, HashMap<String, String> hm) {
    SAXReader saxReader = new SAXReader();
    try {
      Document document = saxReader.read(new File(filename));
      Element root = document.getRootElement();
      // 用于记录学生编号的变量
      int num = -1;
      // 遍历根结点(students)的所有孩子节点(肯定是student节点)
      for (Iterator iter = root.elementIterator(); iter.hasNext(); ) {
        Element element = (Element) iter.next();
        num++;
        // 获取person节点的age属性的值
        Attribute ageAttr = element.attribute("age");
        if (ageAttr != null) {
          String age = ageAttr.getValue();
          if (age != null && !age.equals("")) {
            hm.put(element.getName() + "-" + ageAttr.getName() + num, age);
          } else {
            hm.put(element.getName() + "-" + ageAttr.getName() + num, "20");
          }
        } else {
          hm.put(element.getName() + "-age" + num, "20");
        }
        // 遍历student结点的所有孩子节点(即name,college,telphone,notes),并进行处理
        for (Iterator iterInner = element.elementIterator(); iterInner.hasNext(); ) {
          Element elementInner = (Element) iterInner.next();
          if (elementInner.getName().equals("college")) {
            hm.put(elementInner.getName() + num, elementInner.getText());
            // 获取college节点的leader属性的值
            Attribute leaderAttr = elementInner.attribute("leader");
            if (leaderAttr != null) {
              String leader = leaderAttr.getValue();
              if (leader != null && !leader.equals("")) {
                hm.put(elementInner.getName() + "-" + leaderAttr.getName() + num, leader);
              } else {
                hm.put(elementInner.getName() + "-" + leaderAttr.getName() + num, "leader");
              }
            } else {
              hm.put(elementInner.getName() + "-leader" + num, "leader");
            }
          } else {
            hm.put(elementInner.getName() + num, elementInner.getText());
          }
        }
      }

    } catch (DocumentException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
Example #12
0
  public void handleMessage(MessageI message, String sender) {
    if (!MessageXML.class.isInstance(message)) {
      return;
    }

    byte[] msg = (byte[]) message.getMessage();

    SAXReader saxReader = new SAXReader();

    Document document = null;
    try {
      document = saxReader.read(new ByteArrayInputStream(msg));
    } catch (DocumentException ex) {
      ex.printStackTrace(System.out);
    }

    /** Reading the message XML, getting the necessary fields. */
    Element root = document.getRootElement();
    String query;
    Element queryNumber = root.element(MessageFields.QUERY_NUMBER);
    List<String> extra = new ArrayList();
    Element queryE = root.element(MessageFields.QUERY);
    /** If the message has not the query element, then it is an invalid message ignore it. */
    if (queryE == null) {
      return;
    }
    query = queryE.getText();
    List<Element> extrafields = root.elements(MessageFields.EXTRAFIELD);
    if (extrafields == null) {
      extrafields = new ArrayList();
    }
    for (Element extrafield : extrafields) {
      extra.add(extrafield.getText());
    }

    /** Local search. */
    Map<Integer, Object> parameters = new HashMap<Integer, Object>();
    parameters.put(TaskRequestsConstants.P_QUERY, query);
    parameters.put(TaskRequestsConstants.P_EXTRAFIELDS, extra);
    parameters.put(TaskRequestsConstants.P_REQUESTER_ADDRESS, sender);
    parameters.put(TaskRequestsConstants.P_QUERY_NUMBER, queryNumber.getText());

    TaskRequest task =
        new TaskRequest(TaskRequestsConstants.T_QUERY_LOCALLY, this.plugin.getName(), parameters);
    task.addObserver(this);

    this.plugin.getTaskRequestsList().addTask(task);

    // ArrayList<SearchResult> resultsAll = IndexEngine.getInstance().search(query, extra);
    //
  }
 private static Short getShortValue(final Document doc, final String xpath) {
   try {
     final Element element = (Element) doc.selectSingleNode(xpath);
     Short value = Short.MIN_VALUE;
     if (element != null && !StringUtils.isEmpty(element.getText())) {
       value = Short.parseShort(element.getText());
     }
     return value;
   } catch (Exception e) {
     logger.error(
         messages.getErrorString(
             "EmailConfigurationXml.ERROR_0001_ERROR_PARSING_DATA", e.getLocalizedMessage()));
   }
   return Short.MIN_VALUE;
 }
Example #14
0
  /**
   * 设置配置项属性值
   *
   * @param id 字段ID
   * @param value 字段值
   * @param operName 操作人
   */
  protected void setAttribute(String id, String value, String operName) {

    Element el = (Element) this.xmlDoc.getRootElement().selectSingleNode("./fields");
    if (el == null) {
      el = this.xmlDoc.getRootElement().addElement("fields");
    }
    String oldVal = null;
    String newVal = (value == null) ? "" : value;
    Element el2 = (Element) el.selectSingleNode("./field[@id='" + id + "']");
    if (el2 == null) {
      el2 = el.addElement("field");
      el2.addAttribute("id", id);
    } else {
      oldVal = el2.getText();
    }
    if (newVal.equals(oldVal)) return;
    el2.setText(newVal);
    this.attr.put(id, newVal);
    FieldInfo field = FieldManager.getFieldById("ITSM", id);
    if (field != null) {
      if (oldVal != null) {
        if (!field.isEncrypt()) oldVal = field.getHtmlCode(oldVal);
      }
      if (!field.isEncrypt()) newVal = field.getHtmlCode(newVal);
    }
    addHistory(id, oldVal, newVal, operName);
  }
Example #15
0
  private void assertBoolean(String value) throws Exception {
    Document doc =
        reader.read(getXmlFile("<types:test-boolean>" + value + "</types:test-boolean>"));
    Element elem = doc.getRootElement().element("test-boolean");

    assertEquals(value, elem.getText());
  }
Example #16
0
  /**
   * 解析微信xml消息
   *
   * @param content 微信端的xml数据
   * @return 转换之后的对象
   */
  public static ReceiveXmlEntity getMsgEntity(String content) {
    ReceiveXmlEntity msg = null;
    try {
      // 将字符串转换为XML对象
      Document doc = DocumentHelper.parseText(content);

      // 获取文档的节点
      Element root = doc.getRootElement();

      // 遍历根节点下所有的子节点
      Iterator<?> iter = root.elementIterator();

      // 利用反射机制,调用对象的set方法
      Class<?> c = Class.forName("com.wechat.entity.ReceiveXmlEntity");

      // 创建实体类
      msg = (ReceiveXmlEntity) c.newInstance();

      while (iter.hasNext()) {
        Element ele = (Element) iter.next();
        // 获取set方法中的参数字段(实体类的属性)
        Field filed = c.getDeclaredField(ele.getName());
        // 获取set方法
        Method method = c.getDeclaredMethod("set" + ele.getName(), filed.getType());
        // 调用set方法
        method.invoke(msg, ele.getText());
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    return msg;
  }
Example #17
0
  /**
   * 获得指定元素下的某个子元素
   *
   * @param element 指定元素
   * @param idOrText id或者text的值
   * @param type 根据id找?还是text?
   * @return 子元素
   */
  public static Element getElement(Element element, String idOrTextString, TiHuanType type) {
    Element re = null;
    List<?> list = element.elements();

    for (Iterator<?> its = list.iterator(); its.hasNext(); ) {
      if (re != null) {
        break;
      }

      Element chileEle = (Element) its.next();

      String ls = null;

      if (type == TiHuanType.ID) {
        ls = chileEle.attributeValue("tihuan");
      }
      if (type == TiHuanType.TEXT) {
        ls = chileEle.getText();
      }

      if (ls != null && ls.equals(idOrTextString)) {
        re = chileEle;
      } else {
        re = getElement(chileEle, idOrTextString, type);
      }
    }
    return re;
  }
Example #18
0
 @Override
 protected TreeNode createFromXmlElement(TreeNode parent, Element element) {
   Class classs = new Class();
   Element pathElement = (Element) element.selectSingleNode("filePath");
   classs.setClassFilePath(pathElement.getText());
   return classs;
 }
  /**
   * 获取某一节点的文本内容;
   *
   * @param inputxml xml文件;
   * @param XPath
   * @return
   */
  @SuppressWarnings("unchecked")
  public String[] getNodeTextValue(File inputxml, String XPath) {
    String nodeTextValue = ""; // 储存节点属性值;
    if (XPath.indexOf("@") >= 0) {
      return null;
    }
    SAXReader saxReader = new SAXReader();
    Document document = null;
    try {
      document = saxReader.read(inputxml);
      List list = document.selectNodes(XPath);

      Node n = document.selectSingleNode(XPath);
      n.getStringValue();

      Iterator it = list.iterator();
      while (it.hasNext()) {
        Element text = (Element) it.next();
        nodeTextValue += text.getText() + ",";
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    if (nodeTextValue.length() > 0) {
      nodeTextValue = nodeTextValue.substring(0, nodeTextValue.length() - 1);
    }
    return nodeTextValue.split(",");
  }
 protected String resolvePath(Element el, String xpr) {
   Object ob = resolve(el, xpr);
   if (ob == null) {
     for (int i = 0; i < docsStack.size(); i++) {
       if (docsStack.get(i).isFolder()) {
         return docsStack.get(i).getPathAsString();
       }
     }
   } else {
     if (ob instanceof DocumentModel) {
       return ((DocumentModel) ob).getPathAsString();
     } else if (ob instanceof Node) {
       if (ob instanceof Element) {
         Element targetElement = (Element) ob;
         DocumentModel target = elToDoc.get(targetElement);
         if (target != null) {
           return target.getPathAsString();
         } else {
           return targetElement.getText();
         }
       } else if (ob instanceof Attribute) {
         return ((Attribute) ob).getValue();
       } else if (ob instanceof Text) {
         return ((Text) ob).getText();
       } else if (ob.getClass().isAssignableFrom(Attribute.class)) {
         return ((Attribute) ob).getValue();
       }
     } else {
       return ob.toString();
     }
   }
   return rootDoc.getPathAsString();
 }
Example #21
0
 private void buildRelaMap(Element centerNode) {
   String concept = centerNode.elementText("Label");
   Element relaXML = ConceptEngine.getContent(concept, "关联词");
   // <result db="中医药学语言系统" rela="被…使用">论利湿清热</result>
   String objectUri = ConceptEngine.skosPrefix + "#Concept";
   List relas = relaXML.elements();
   for (int i = 0; i < relas.size() && i < count; i++) {
     Element rela = (Element) relas.get(i);
     String content = rela.getText();
     Element node = null;
     Boolean isNewNode = true;
     if (nodes.containsKey(content)) {
       Element e = (Element) nodes.get(content);
       if (e.elementText("TypeUri").equals(objectUri)) {
         isNewNode = false;
         node = e;
       }
     }
     if (isNewNode) {
       node = nodeArray.addElement("Node").addAttribute("id", nodeID++ + "");
       node.addElement("Label").addText(content);
       node.addElement("TypeUri").addText(objectUri);
       node.addElement("Type").addText("事物");
       nodes.put(content, node);
     }
     Element edge = edgeArray.addElement("Edge").addAttribute("id", edgeID++ + "");
     edge.addElement("Label").addText(rela.attributeValue("rela"));
     edge.addElement("TypeUri").addText("rela");
     edge.addElement("FromID").addText(centerNode.attributeValue("id"));
     edge.addElement("ToID").addText(node.attributeValue("id"));
   }
 }
Example #22
0
 /**
  * Faz uma busca a partir do cep enviado, no site <a href="http://www.republicavirtual.com.br"
  * target="_blank">republicavirtual.com.br</a>, retornando o resultado em um objeto {@link
  * WebServiceCep}. <br>
  * <br>
  * N�o se faz necess�rio formata��es, a string pode ser enviada em qualquer formata��o, pois s�
  * ser�o consideradas os primeiros 8 numeros da string. <br>
  * Por Exemplo: <br>
  * Uma <tt>{@link String} "14.568-910"</tt> � automaticamente passada para <tt>"14568910"</tt>.
  * <br>
  * Uma <tt>{@link String} "1%4#5?55%16a8&910"</tt> � automaticamente passada para
  * <tt>"14555168"</tt>, s� levando em conta os primeiros 8 n�meros.
  *
  * @param cep N�mero do cep a ser carregado. S� ser�o considerados os primeiros 8 n�meros da
  *     {@link String} enviada. Todos os caracters n�o num�ricos ser�o removidos, e a string ser�
  *     truncada caso seja maior que 8 caracters.
  * @return {@link WebServiceCep} contendo as informa��es da pesquisa.
  */
 public static WebServiceCep searchCep(String cep) {
   cep = cep.replaceAll("\\D*", ""); // To numeric digits only
   if (cep.length() > 8) cep = cep.substring(0, 8);
   WebServiceCep loadCep = new WebServiceCep(cep);
   try {
     XmlEnums enums = new XmlEnums();
     for (Element e : getElements(cep))
       enums.getXml(e.getQualifiedName()).setCep(e.getText(), loadCep);
   } catch (DocumentException ex) {
     if (ex.getNestedException() != null
         && ex.getNestedException() instanceof java.net.UnknownHostException) {
       loadCep.setResultText("Site não encontrado.");
       loadCep.setResulCode(-14);
     } else {
       loadCep.setResultText("Não foi possivel ler o documento xml.");
       loadCep.setResulCode(-15);
     }
     loadCep.setExceptio(ex);
   } catch (MalformedURLException ex) {
     loadCep.setExceptio(ex);
     loadCep.setResultText("Erro na formação da url.");
     loadCep.setResulCode(-16);
   } catch (Exception ex) {
     loadCep.setExceptio(ex);
     loadCep.setResultText("Erro inesperado.");
     loadCep.setResulCode(-17);
   }
   return loadCep;
 }
Example #23
0
 private void parseHeader(Element headerElement) {
   if (RecordXMLReader.getBooleanAttribute("omitbinarydata", headerElement)) {
     throw new IllegalArgumentException(
         "XML files with omitbinarydata flag set cannot be transformed back to SWF!");
   }
   short swfVersion = RecordXMLReader.getShortAttribute("swfversion", headerElement);
   swfDocument.setVersion(swfVersion);
   swfDocument.setCompressed(RecordXMLReader.getBooleanAttribute("compressed", headerElement));
   Element framesElement = RecordXMLReader.getElement("frames", headerElement);
   swfDocument.setFrameCount(RecordXMLReader.getIntAttribute("count", framesElement));
   swfDocument.setFrameRate(RecordXMLReader.getShortAttribute("rate", framesElement));
   Element sizeElement = RecordXMLReader.getElement("size", framesElement);
   swfDocument.setFrameSize(RecordXMLReader.readRect(sizeElement));
   Element backgroundColorElement = RecordXMLReader.getElement("bgcolor", headerElement);
   swfDocument.setBackgroundColor(RecordXMLReader.readRGB(backgroundColorElement));
   if (swfVersion >= 8) {
     String access = RecordXMLReader.getStringAttribute("access", headerElement);
     if (access.equals("local")) {
       swfDocument.setAccessMode(SWFDocument.ACCESS_MODE_LOCAL);
     } else if (access.equals("network")) {
       swfDocument.setAccessMode(SWFDocument.ACCESS_MODE_NETWORK);
     }
     Element metadata = headerElement.element("metadata");
     if (metadata != null) {
       swfDocument.setMetadata(Base64.decodeString(metadata.getText()));
     }
   }
 }
  public void updateXMLbyId(String id, UpLoadFile pat) {
    String xmlStr = xml2String();
    Document document = null;
    try {
      document = DocumentHelper.parseText(xmlStr);
    } catch (DocumentException e) {
      // TODO 自动生成的 catch 块
      e.printStackTrace();
    }
    Element rootElement = document.getRootElement();
    String rootStrV = rootElement.getStringValue();
    String rootStrT = rootElement.getText();
    List<Element> elements = rootElement.elements("file");

    for (Element ele : elements) {
      Element ide = ele.element("id");
      if (id.equalsIgnoreCase(ide.getTextTrim())) {
        Element nameElement = ele.element("name");
        Element crcElement = ele.element("crc");
        Element urlElement = ele.element("url");
        Element pathElement = ele.element("path");
        Element isUpElement = ele.element("isUpFastFDS");

        nameElement.setText(pat.getName());
        crcElement.setText(pat.getCrc());
        urlElement.setText(pat.getUrl());
        pathElement.setText(pat.getPath());
        isUpElement.setText(pat.getIsUpFastFDS());
      }
    }

    writeXML(file, document);
  }
Example #25
0
  public static FetchGroupChatAuthorityBean parse(Document doc) {
    FetchGroupChatAuthorityBean bean = new FetchGroupChatAuthorityBean();
    List list = doc.selectNodes("/iq/*[name()='query']/*[name()='operate']/*[name()='result']");
    if (list != null && list.size() > 0) {
      String result = ((Element) list.get(0)).getText();
      bean.setResult(result);
    }
    list = null;
    list = doc.selectNodes("/iq/*[name()='query']/*[name()='operate']/*[name()='message']");
    if (list != null && list.size() > 0) {
      String message = ((Element) list.get(0)).getText();
      bean.setMessage(message);
    }
    list = null;
    list = doc.selectNodes("/iq/*[name()='query']/*[name()='operate']/*[name()='roomjid']");
    if (list != null && list.size() > 0) {
      for (int i = 0; i < list.size(); i++) {
        Element roomJid = (Element) list.get(i);
        List<String> marks = new ArrayList<String>();
        bean.getAuthorityMap().put(roomJid.attributeValue("name"), marks);
        List markElements = roomJid.elements("mark");
        if (markElements != null && markElements.size() > 0) {
          for (int j = 0; j < markElements.size(); j++) {
            Element mark = (Element) markElements.get(j);
            marks.add(mark.getText());
          }
        }
      }
    }

    return bean;
  }
Example #26
0
  /**
   * 处理待跳转的url
   *
   * @param request
   * @param response
   * @param filterChain
   * @throws IOException
   */
  public static boolean doRedirectUrl(
      ServletRequest request, ServletResponse response, FilterChain filterChain, String pUrl) {
    try {
      HttpServletRequest req = (HttpServletRequest) request;
      HttpServletResponse res = (HttpServletResponse) response;
      Element thisNode = null;
      for (Object nodeObj :
          RmLoadConfig.getRmClusterDoc()
              .selectNodes(
                  "/rm/org.quickbundle.project.login.RmSsoLogin/redirectGroup[@enable='true']/redirectUrls/url")) {
        Element node = (Element) nodeObj;
        if (node.getText().equals(pUrl)) {
          thisNode = node;
          break;
        }
      }
      if (thisNode == null) {
        throw new RmRuntimeException("配置文件读取错误");
      }
      String targetUrlPrefix = null;
      for (Object baseUrlObj : thisNode.selectNodes("../../redirectTargets/baseUrl")) {
        // TODO 可扩展为负载均衡算法
        Element eleUrlPrefix = (Element) baseUrlObj;
        targetUrlPrefix = eleUrlPrefix.getText();
        break;
      }

      if (targetUrlPrefix.length() == 0) {
        throw new RmRuntimeException("未配置跳转到的目标地址");
      }
      // 带着sso信息跳转到目标服务器
      if (RmClusterConfig.getLocalhostInfo() != null
          && targetUrlPrefix.startsWith(RmClusterConfig.getLocalhostInfo().getLocalhostUrlPath())) {
        // throw new RmRuntimeException("不能跳转到自身,可能导致循环跳转");
        // 如果判断为跳到本机,忽略跳转
        filterChain.doFilter(request, response);
        return true;
      }
      res.sendRedirect(rebuildUri(req, targetUrlPrefix));
      return true;
    } catch (Exception e) {
      log.error("doRedirectUrl():" + e.toString() + " cause:" + e.getCause());
      // save error
      request.setAttribute("org.apache.struts.action.EXCEPTION", e);
      return false;
    }
  }
Example #27
0
  /**
   * 修改XML文件中内容,并另存为一个新文件 重点掌握dom4j中如何添加节点,修改节点,删除节点
   *
   * @param filename 修改对象文件
   * @param newfilename 修改后另存为该文件
   * @return 返回操作结果, 0表失败, 1表成功
   */
  public int modifyXMLFile(String filename, String newfilename) {
    int returnValue = 0;
    SAXReader saxReader = new SAXReader();
    Document doc = null;
    try {
      /** 修改内容之一:如果book节点中show参数的内容为yes,则修改成no */
      /** 先用xpath查找对象 */
      doc = saxReader.read(new File(filename));
      List list = doc.selectNodes("/books/book/@show");
      Iterator iter = list.iterator();
      while (iter.hasNext()) {
        Attribute attr = (Attribute) iter.next();
        if ("yes".equals(attr.getValue())) {
          attr.setValue("no");
        }
      }
    } catch (DocumentException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    /** 修改内容之二:把owner项内容改为Tshinghua 并在owner节点中加入date节点,date节点的内容为2004-09-11,还为date节点添加一个参数type */
    List list = doc.selectNodes("/books/owner");
    Iterator iter = list.iterator();
    if (iter.hasNext()) {
      Element ownEle = (Element) iter.next();
      ownEle.setText("Tshinghua");
      Element dateEle = ownEle.addElement("date");
      dateEle.setText("2012-12-17");
      dateEle.addAttribute("type", "Gregorian calendar");
    }

    /** 修改内容之三:若title内容为Dom4j Tutorials,则删除该节点 */
    List list2 = doc.selectNodes("/books/book");
    Iterator iter2 = list2.iterator();
    while (iter2.hasNext()) {
      Element bookEle = (Element) iter2.next();
      Iterator iterator = bookEle.elementIterator("title");
      while (iterator.hasNext()) {
        Element titleElement = (Element) iterator.next();
        if (titleElement.getText().equals("Dom4j Tutorials")) {
          bookEle.remove(titleElement);
        }
      }
    }

    try {
      /** 将document中的内容写入文件中 */
      XMLWriter writer = new XMLWriter(new FileWriter(new File(newfilename)));
      writer.write(doc);
      writer.close();
      /** 执行成功,需返回1 */
      returnValue = 1;
    } catch (Exception ex) {
      ex.printStackTrace();
    }

    return returnValue;
  }
 public static Set<String> getStudiesForSubmission(Element submission) {
   Set<String> studyIDs = new HashSet<String>();
   Element links = XMLUtils.getChildByName(submission, "SUBMISSION_LINKS");
   if (links != null) {
     for (Element link : XMLUtils.getChildrenByName(links, "SUBMISSION_LINK")) {
       Element xref = XMLUtils.getChildByName(link, "XREF_LINK");
       if (xref != null) {
         Element db = XMLUtils.getChildByName(xref, "DB");
         Element id = XMLUtils.getChildByName(xref, "ID");
         if (db != null && db.getText().equals("ENA-STUDY") && id != null) {
           studyIDs.addAll(getIdentifiers(id.getText()));
         }
       }
     }
   }
   return studyIDs;
 }
  public void fromXML(Element xmlElement) {

    Element errorElement = xmlElement.element("error");

    if (errorElement != null) {
      this.error = errorElement.getText();
    }
  }
Example #30
0
 /** 分析XML数据 */
 protected void parseXmlData() {
   Element el = this.xmlDoc.getRootElement();
   List attrList = el.selectNodes("./fields/field");
   for (int i = 0; i < attrList.size(); i++) {
     Element e = (Element) attrList.get(i);
     this.attr.put(e.attributeValue("id"), e.getText());
   }
 }