Example usage for org.xml.sax.helpers AttributesImpl AttributesImpl

List of usage examples for org.xml.sax.helpers AttributesImpl AttributesImpl

Introduction

In this page you can find the example usage for org.xml.sax.helpers AttributesImpl AttributesImpl.

Prototype

public AttributesImpl() 

Source Link

Document

Construct a new, empty AttributesImpl object.

Usage

From source file:org.apache.hadoop.hdfs.server.namenode.FSEditLogOp.java

public static void delegationKeyToXml(ContentHandler contentHandler, DelegationKey key) throws SAXException {
    contentHandler.startElement("", "", "DELEGATION_KEY", new AttributesImpl());
    XMLUtils.addSaxString(contentHandler, "KEY_ID", Integer.toString(key.getKeyId()));
    XMLUtils.addSaxString(contentHandler, "EXPIRY_DATE", Long.toString(key.getExpiryDate()));
    if (key.getEncodedKey() != null) {
        XMLUtils.addSaxString(contentHandler, "KEY", Hex.encodeHexString(key.getEncodedKey()));
    }//  ww w.  ja  v a  2 s . com
    contentHandler.endElement("", "", "DELEGATION_KEY");
}

From source file:org.apache.hadoop.hdfs.server.namenode.FSEditLogOp.java

public static void permissionStatusToXml(ContentHandler contentHandler, PermissionStatus perm)
        throws SAXException {
    contentHandler.startElement("", "", "PERMISSION_STATUS", new AttributesImpl());
    XMLUtils.addSaxString(contentHandler, "USERNAME", perm.getUserName());
    XMLUtils.addSaxString(contentHandler, "GROUPNAME", perm.getGroupName());
    fsPermissionToXml(contentHandler, perm.getPermission());
    contentHandler.endElement("", "", "PERMISSION_STATUS");
}

From source file:org.apache.hadoop.hdfs.server.namenode.FSEditLogOp.java

private static void appendAclEntriesToXml(ContentHandler contentHandler, List<AclEntry> aclEntries)
        throws SAXException {
    for (AclEntry e : aclEntries) {
        contentHandler.startElement("", "", "ENTRY", new AttributesImpl());
        XMLUtils.addSaxString(contentHandler, "SCOPE", e.getScope().name());
        XMLUtils.addSaxString(contentHandler, "TYPE", e.getType().name());
        if (e.getName() != null) {
            XMLUtils.addSaxString(contentHandler, "NAME", e.getName());
        }//from   ww  w  . j  ava  2 s. c  om
        fsActionToXml(contentHandler, e.getPermission());
        contentHandler.endElement("", "", "ENTRY");
    }
}

From source file:org.apache.hadoop.hdfs.server.namenode.FSEditLogOp.java

private static void appendXAttrsToXml(ContentHandler contentHandler, List<XAttr> xAttrs) throws SAXException {
    for (XAttr xAttr : xAttrs) {
        contentHandler.startElement("", "", "XATTR", new AttributesImpl());
        XMLUtils.addSaxString(contentHandler, "NAMESPACE", xAttr.getNameSpace().toString());
        XMLUtils.addSaxString(contentHandler, "NAME", xAttr.getName());
        if (xAttr.getValue() != null) {
            try {
                XMLUtils.addSaxString(contentHandler, "VALUE",
                        XAttrCodec.encodeValue(xAttr.getValue(), XAttrCodec.HEX));
            } catch (IOException e) {
                throw new SAXException(e);
            }// w  w  w.  j  a v  a 2  s. c  om
        }
        contentHandler.endElement("", "", "XATTR");
    }
}

From source file:org.apache.syncope.core.logic.report.AuditReportlet.java

private void doExtractConf(final ContentHandler handler) throws SAXException {
    JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
    jdbcTemplate.setMaxRows(conf.getSize());
    List<Map<String, Object>> rows = jdbcTemplate
            .queryForList("SELECT * FROM SYNCOPEAUDIT ORDER BY EVENT_DATE DESC");

    handler.startElement("", "", "events", null);
    AttributesImpl atts = new AttributesImpl();
    for (Map<String, Object> row : rows) {
        AuditEntry auditEntry = POJOHelper.deserialize(row.get("MESSAGE").toString(), AuditEntry.class);

        atts.clear();/*  w w  w.  j a va2  s .  c  o m*/
        if (StringUtils.isNotBlank(auditEntry.getWho())) {
            atts.addAttribute("", "", "who", ReportXMLConst.XSD_STRING, auditEntry.getWho());
        }
        handler.startElement("", "", "event", atts);

        atts.clear();
        if (StringUtils.isNotBlank(auditEntry.getLogger().getCategory())) {
            atts.addAttribute("", "", "category", ReportXMLConst.XSD_STRING,
                    auditEntry.getLogger().getCategory());
        }
        if (StringUtils.isNotBlank(auditEntry.getLogger().getSubcategory())) {
            atts.addAttribute("", "", "subcategory", ReportXMLConst.XSD_STRING,
                    auditEntry.getLogger().getSubcategory());
        }
        if (StringUtils.isNotBlank(auditEntry.getLogger().getEvent())) {
            atts.addAttribute("", "", "event", ReportXMLConst.XSD_STRING, auditEntry.getLogger().getEvent());
        }
        if (auditEntry.getLogger().getResult() != null) {
            atts.addAttribute("", "", "result", ReportXMLConst.XSD_STRING,
                    auditEntry.getLogger().getResult().name());
        }
        handler.startElement("", "", "logger", atts);
        handler.endElement("", "", "logger");

        if (auditEntry.getBefore() != null) {
            char[] before = ToStringBuilder
                    .reflectionToString(auditEntry.getBefore(), ToStringStyle.MULTI_LINE_STYLE).toCharArray();
            handler.startElement("", "", "before", null);
            handler.characters(before, 0, before.length);
            handler.endElement("", "", "before");
        }

        if (auditEntry.getInput() != null) {
            handler.startElement("", "", "inputs", null);
            for (Object inputObj : auditEntry.getInput()) {
                char[] input = ToStringBuilder.reflectionToString(inputObj, ToStringStyle.MULTI_LINE_STYLE)
                        .toCharArray();
                handler.startElement("", "", "input", null);
                handler.characters(input, 0, input.length);
                handler.endElement("", "", "input");
            }
            handler.endElement("", "", "inputs");
        }

        if (auditEntry.getOutput() != null) {
            char[] output = ToStringBuilder
                    .reflectionToString(auditEntry.getOutput(), ToStringStyle.MULTI_LINE_STYLE).toCharArray();
            handler.startElement("", "", "output", null);
            handler.characters(output, 0, output.length);
            handler.endElement("", "", "output");
        }

        handler.startElement("", "", "throwable", null);
        char[] throwable = row.get("THROWABLE").toString().toCharArray();
        handler.characters(throwable, 0, throwable.length);
        handler.endElement("", "", "throwable");

        handler.endElement("", "", "event");
    }
    handler.endElement("", "", "events");
}

From source file:org.apache.syncope.core.logic.report.GroupReportlet.java

private void doExtractResources(final ContentHandler handler, final AnyTO anyTO) throws SAXException {

    if (anyTO.getResources().isEmpty()) {
        LOG.debug("No resources found for {}[{}]", anyTO.getClass().getSimpleName(), anyTO.getKey());
    } else {//  w w  w .j  a v a  2  s  .c  o  m
        AttributesImpl atts = new AttributesImpl();
        handler.startElement("", "", "resources", null);

        for (String resourceName : anyTO.getResources()) {
            atts.clear();

            atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, resourceName);
            handler.startElement("", "", "resource", atts);
            handler.endElement("", "", "resource");
        }

        handler.endElement("", "", "resources");
    }
}

From source file:org.apache.syncope.core.logic.report.GroupReportlet.java

private void doExtractAttributes(final ContentHandler handler, final AnyTO anyTO,
        final Collection<String> attrs, final Collection<String> derAttrs, final Collection<String> virAttrs)
        throws SAXException {

    AttributesImpl atts = new AttributesImpl();
    if (!attrs.isEmpty()) {
        Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();

        handler.startElement("", "", "attributes", null);
        for (String attrName : attrs) {
            atts.clear();/*from ww w .  j ava 2s . c om*/

            atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
            handler.startElement("", "", "attribute", atts);

            if (attrMap.containsKey(attrName)) {
                for (String value : attrMap.get(attrName).getValues()) {
                    handler.startElement("", "", "value", null);
                    handler.characters(value.toCharArray(), 0, value.length());
                    handler.endElement("", "", "value");
                }
            } else {
                LOG.debug("{} not found for {}[{}]", attrName, anyTO.getClass().getSimpleName(),
                        anyTO.getKey());
            }

            handler.endElement("", "", "attribute");
        }
        handler.endElement("", "", "attributes");
    }

    if (!derAttrs.isEmpty()) {
        Map<String, AttrTO> derAttrMap = anyTO.getDerAttrMap();

        handler.startElement("", "", "derivedAttributes", null);
        for (String attrName : derAttrs) {
            atts.clear();

            atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
            handler.startElement("", "", "derivedAttribute", atts);

            if (derAttrMap.containsKey(attrName)) {
                for (String value : derAttrMap.get(attrName).getValues()) {
                    handler.startElement("", "", "value", null);
                    handler.characters(value.toCharArray(), 0, value.length());
                    handler.endElement("", "", "value");
                }
            } else {
                LOG.debug("{} not found for {}[{}]", attrName, anyTO.getClass().getSimpleName(),
                        anyTO.getKey());
            }

            handler.endElement("", "", "derivedAttribute");
        }
        handler.endElement("", "", "derivedAttributes");
    }

    if (!virAttrs.isEmpty()) {
        Map<String, AttrTO> virAttrMap = anyTO.getVirAttrMap();

        handler.startElement("", "", "virtualAttributes", null);
        for (String attrName : virAttrs) {
            atts.clear();

            atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
            handler.startElement("", "", "virtualAttribute", atts);

            if (virAttrMap.containsKey(attrName)) {
                for (String value : virAttrMap.get(attrName).getValues()) {
                    handler.startElement("", "", "value", null);
                    handler.characters(value.toCharArray(), 0, value.length());
                    handler.endElement("", "", "value");
                }
            } else {
                LOG.debug("{} not found for {}[{}]", attrName, anyTO.getClass().getSimpleName(),
                        anyTO.getKey());
            }

            handler.endElement("", "", "virtualAttribute");
        }
        handler.endElement("", "", "virtualAttributes");
    }
}

From source file:org.apache.syncope.core.logic.report.GroupReportlet.java

private void doExtract(final ContentHandler handler, final List<Group> groups) throws SAXException {
    AttributesImpl atts = new AttributesImpl();
    for (Group group : groups) {
        atts.clear();//from  w ww.j  av a 2s  .co  m

        for (Feature feature : conf.getFeatures()) {
            String type = null;
            String value = null;
            switch (feature) {
            case key:
                type = ReportXMLConst.XSD_STRING;
                value = group.getKey();
                break;

            case name:
                type = ReportXMLConst.XSD_STRING;
                value = String.valueOf(group.getName());
                break;

            case groupOwner:
                type = ReportXMLConst.XSD_STRING;
                value = group.getGroupOwner().getKey();
                break;

            case userOwner:
                type = ReportXMLConst.XSD_STRING;
                value = group.getUserOwner().getKey();
                break;

            default:
            }

            if (type != null && value != null) {
                atts.addAttribute("", "", feature.name(), type, value);
            }
        }

        handler.startElement("", "", "group", atts);

        // Using GroupTO for attribute values, since the conversion logic of
        // values to String is already encapsulated there
        GroupTO groupTO = groupDataBinder.getGroupTO(group, true);

        doExtractAttributes(handler, groupTO, conf.getPlainAttrs(), conf.getDerAttrs(), conf.getVirAttrs());

        // to get resources associated to a group
        if (conf.getFeatures().contains(Feature.resources)) {
            doExtractResources(handler, groupTO);
        }
        //to get users asscoiated to a group is preferred GroupDAO to GroupTO
        if (conf.getFeatures().contains(Feature.users)) {
            handler.startElement("", "", "users", null);

            for (UMembership memb : groupDAO.findUMemberships(group)) {
                atts.clear();

                atts.addAttribute("", "", "key", ReportXMLConst.XSD_STRING, memb.getLeftEnd().getKey());
                atts.addAttribute("", "", "username", ReportXMLConst.XSD_STRING,
                        String.valueOf(memb.getLeftEnd().getUsername()));

                handler.startElement("", "", "user", atts);
                handler.endElement("", "", "user");
            }

            handler.endElement("", "", "users");
        }

        handler.endElement("", "", "group");
    }
}

From source file:org.apache.syncope.core.logic.report.GroupReportlet.java

private void doExtractConf(final ContentHandler handler) throws SAXException {
    if (conf == null) {
        LOG.debug("Report configuration is not present");
    }//from   w w  w .  jav  a 2s  .co  m

    AttributesImpl atts = new AttributesImpl();
    handler.startElement("", "", "configurations", null);
    handler.startElement("", "", "groupAttributes", atts);

    for (Feature feature : conf.getFeatures()) {
        atts.clear();
        handler.startElement("", "", "feature", atts);
        handler.characters(feature.name().toCharArray(), 0, feature.name().length());
        handler.endElement("", "", "feature");
    }

    for (String attr : conf.getPlainAttrs()) {
        atts.clear();
        handler.startElement("", "", "attribute", atts);
        handler.characters(attr.toCharArray(), 0, attr.length());
        handler.endElement("", "", "attribute");
    }

    for (String derAttr : conf.getDerAttrs()) {
        atts.clear();
        handler.startElement("", "", "derAttribute", atts);
        handler.characters(derAttr.toCharArray(), 0, derAttr.length());
        handler.endElement("", "", "derAttribute");
    }

    for (String virAttr : conf.getVirAttrs()) {
        atts.clear();
        handler.startElement("", "", "virAttribute", atts);
        handler.characters(virAttr.toCharArray(), 0, virAttr.length());
        handler.endElement("", "", "virAttribute");
    }

    handler.endElement("", "", "groupAttributes");
    handler.endElement("", "", "configurations");
}

From source file:org.apache.syncope.core.logic.report.ReconciliationReportlet.java

private void doExtract(final ContentHandler handler, final Any<?> any, final Set<Missing> missing,
        final Set<Misaligned> misaligned) throws SAXException {

    AttributesImpl atts = new AttributesImpl();

    for (Feature feature : conf.getFeatures()) {
        String type = null;/*  ww w  .ja  va 2 s  . c o m*/
        String value = null;
        switch (feature) {
        case key:
            type = ReportXMLConst.XSD_STRING;
            value = any.getKey();
            break;

        case username:
            if (any instanceof User) {
                type = ReportXMLConst.XSD_STRING;
                value = User.class.cast(any).getUsername();
            }
            break;

        case groupName:
            if (any instanceof Group) {
                type = ReportXMLConst.XSD_STRING;
                value = Group.class.cast(any).getName();
            }
            break;

        case workflowId:
            type = ReportXMLConst.XSD_STRING;
            value = any.getWorkflowId();
            break;

        case status:
            type = ReportXMLConst.XSD_STRING;
            value = any.getStatus();
            break;

        case creationDate:
            type = ReportXMLConst.XSD_DATETIME;
            value = any.getCreationDate() == null ? StringUtils.EMPTY
                    : FormatUtils.format(any.getCreationDate());
            break;

        case lastLoginDate:
            if (any instanceof User) {
                type = ReportXMLConst.XSD_DATETIME;
                value = User.class.cast(any).getLastLoginDate() == null ? StringUtils.EMPTY
                        : FormatUtils.format(User.class.cast(any).getLastLoginDate());
            }
            break;

        case changePwdDate:
            if (any instanceof User) {
                type = ReportXMLConst.XSD_DATETIME;
                value = User.class.cast(any).getChangePwdDate() == null ? StringUtils.EMPTY
                        : FormatUtils.format(User.class.cast(any).getChangePwdDate());
            }
            break;

        case passwordHistorySize:
            if (any instanceof User) {
                type = ReportXMLConst.XSD_INT;
                value = String.valueOf(User.class.cast(any).getPasswordHistory().size());
            }
            break;

        case failedLoginCount:
            if (any instanceof User) {
                type = ReportXMLConst.XSD_INT;
                value = String.valueOf(User.class.cast(any).getFailedLogins());
            }
            break;

        default:
        }

        if (type != null && value != null) {
            atts.addAttribute("", "", feature.name(), type, value);
        }
    }

    handler.startElement("", "", getAnyElementName(any.getType().getKind()), atts);

    for (Missing item : missing) {
        atts.clear();
        atts.addAttribute("", "", "resource", ReportXMLConst.XSD_STRING, item.getResource());
        atts.addAttribute("", "", "connObjectKeyValue", ReportXMLConst.XSD_STRING,
                item.getConnObjectKeyValue());

        handler.startElement("", "", "missing", atts);
        handler.endElement("", "", "missing");
    }
    for (Misaligned item : misaligned) {
        atts.clear();
        atts.addAttribute("", "", "resource", ReportXMLConst.XSD_STRING, item.getResource());
        atts.addAttribute("", "", "connObjectKeyValue", ReportXMLConst.XSD_STRING,
                item.getConnObjectKeyValue());
        atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, item.getName());

        handler.startElement("", "", "misaligned", atts);

        handler.startElement("", "", "onSyncope", null);
        if (item.getOnSyncope() != null) {
            for (Object value : item.getOnSyncope()) {
                char[] asChars = value.toString().toCharArray();

                handler.startElement("", "", "value", null);
                handler.characters(asChars, 0, asChars.length);
                handler.endElement("", "", "value");
            }
        }
        handler.endElement("", "", "onSyncope");

        handler.startElement("", "", "onResource", null);
        if (item.getOnResource() != null) {
            for (Object value : item.getOnResource()) {
                char[] asChars = value.toString().toCharArray();

                handler.startElement("", "", "value", null);
                handler.characters(asChars, 0, asChars.length);
                handler.endElement("", "", "value");
            }
        }
        handler.endElement("", "", "onResource");

        handler.endElement("", "", "misaligned");
    }

    handler.endElement("", "", getAnyElementName(any.getType().getKind()));
}