Example usage for org.dom4j.tree BaseElement addAttribute

List of usage examples for org.dom4j.tree BaseElement addAttribute

Introduction

In this page you can find the example usage for org.dom4j.tree BaseElement addAttribute.

Prototype

public Element addAttribute(String name, String value) 

Source Link

Usage

From source file:com.doculibre.constellio.izpack.UsersToXmlFile.java

License:Open Source License

public static void run(AbstractUIProcessHandler handler, String[] args) {
    if (args.length != 3) {
        System.out.println("file login password");
        return;// ww w.  ja v a  2  s  .c  o m
    }

    String target = args[0];

    File xmlFile = new File(target);

    BufferedWriter writer;
    try {
        writer = new BufferedWriter(new FileWriter(xmlFile));
    } catch (IOException e) {
        e.printStackTrace();
        return;
    }

    try {
        for (String line : Arrays.asList(emptyFileLines)) {
            writer.write(line + System.getProperty("line.separator"));
        }

        writer.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    String login = args[1];

    String passwd = args[2];

    UsersToXmlFile elem = new UsersToXmlFile();

    ConstellioUser dataUser = elem.new ConstellioUser(login, passwd, null);
    dataUser.setFirstName("System");
    dataUser.setLastName("Administrator");
    dataUser.getRoles().add(Roles.ADMIN);

    Document xmlDocument;
    try {
        xmlDocument = new SAXReader().read(target);
        Element root = xmlDocument.getRootElement();

        BaseElement user = new BaseElement(USER);
        user.addAttribute(FIRST_NAME, dataUser.getFirstName());
        user.addAttribute(LAST_NAME, dataUser.getLastName());
        user.addAttribute(LOGIN, dataUser.getUsername());
        user.addAttribute(PASSWORD_HASH, dataUser.getPasswordHash());

        if (dataUser.getLocale() != null) {
            user.addAttribute(LOCALE, dataUser.getLocaleCode());
        }

        Set<String> constellioRoles = dataUser.getRoles();
        if (!constellioRoles.isEmpty()) {
            Element roles = user.addElement(ROLES);
            for (String constellioRole : constellioRoles) {
                Element role = roles.addElement(ROLE);
                role.addAttribute(VALUE, constellioRole);
            }
        }

        root.add(user);

        OutputFormat format = OutputFormat.createPrettyPrint();

        xmlFile = new File(target);
        // FIXME recrire la DTD
        // xmlDocument.addDocType(arg0, arg1, arg2)
        XMLWriter writer2 = new XMLWriter(new FileOutputStream(xmlFile), format);

        writer2.write(xmlDocument);
        writer2.close();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:com.doculibre.constellio.services.SolrServicesImpl.java

License:Open Source License

private Element getDismaxElement(RecordCollection collection) {
    BaseElement disMaxElement = new BaseElement("requestHandler");
    disMaxElement.addAttribute("name", DISMAX_ATTRIBUTE_NAME);
    disMaxElement.addAttribute("class", "solr.SearchHandler");
    disMaxElement.addAttribute("default", "true");

    Element lst = disMaxElement.addElement("lst");
    lst.addAttribute("name", "defaults");

    Element defType = lst.addElement("str");
    defType.addAttribute("name", "defType");
    defType.setText("edismax");// au lieu de "dismax" pour utiliser le
    // plugin/* w  w w.j  av a  2  s .  c o m*/
    // :com.doculibre.constellio.solr.handler.component.DisMaxQParserPlugin

    Element qf = lst.addElement("str");
    qf.addAttribute("name", "qf");

    StringBuilder boostsDismaxField = new StringBuilder();
    for (IndexField current : collection.getIndexedIndexFields()) {
        if (current.getBoostDismax() != 1 || IndexField.DEFAULT_SEARCH_FIELD.equals(current.getName())) {
            boostsDismaxField.append(" " + current.getName() + "^" + current.getBoostDismax());
        }
    }
    qf.setText(boostsDismaxField.toString());

    Element tie = lst.addElement("float");
    tie.addAttribute("name", "tie");
    tie.setText("0.01");

    // <requestHandler name="dismax" class="solr.SearchHandler"
    // default="true">
    // <lst name="defaults">
    // <str name="defType">dismax</str>
    // <str name="qf">a_name a_alias^0.8 a_member_name^0.4</str>
    // <float name="tie">0.1</float>
    // </lst>
    // </requestHandler>

    return disMaxElement;
}

From source file:com.doculibre.constellio.utils.izpack.UsersXmlFileUtils.java

License:Open Source License

private static Element toXmlElement(ConstellioUser constellioUser) {
    BaseElement user = new BaseElement(USER);
    user.addAttribute(FIRST_NAME, constellioUser.getFirstName());
    user.addAttribute(LAST_NAME, constellioUser.getLastName());
    user.addAttribute(LOGIN, constellioUser.getUsername());
    user.addAttribute(PASSWORD_HASH, constellioUser.getPasswordHash());

    if (constellioUser.getLocale() != null) {
        user.addAttribute(LOCALE, constellioUser.getLocaleCode());
    }/*w w w  .  j ava 2 s.  c om*/

    Set<String> constellioRoles = constellioUser.getRoles();
    if (!constellioRoles.isEmpty()) {
        Element roles = user.addElement(ROLES);
        for (String constellioRole : constellioRoles) {
            Element role = roles.addElement(ROLE);
            role.addAttribute(VALUE, constellioRole);
        }
    }

    return user;
}