示例#1
0
  private static void parseDataRole(XMLStreamReader reader, DataPolicyMetadata policy)
      throws XMLStreamException {
    Properties props = getAttributes(reader);
    policy.setName(props.getProperty(Element.NAME.getLocalName()));
    policy.setAnyAuthenticated(
        Boolean.parseBoolean(
            props.getProperty(Element.DATA_ROLE_ANY_ATHENTICATED_ATTR.getLocalName())));
    policy.setAllowCreateTemporaryTables(
        Boolean.parseBoolean(
            props.getProperty(Element.DATA_ROLE_ALLOW_TEMP_TABLES_ATTR.getLocalName())));

    while (reader.hasNext() && (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) {
      Element element = Element.forName(reader.getLocalName());
      switch (element) {
        case DESCRIPTION:
          policy.setDescription(reader.getElementText());
          break;
        case PERMISSION:
          PermissionMetaData permission = new PermissionMetaData();
          parsePermission(reader, permission);
          policy.addPermission(permission);
          break;
        case MAPPED_ROLE_NAME:
          policy.addMappedRoleName(reader.getElementText());
          break;
        default:
          throw new XMLStreamException(
              AdminPlugin.Util.gs(
                  "unexpected_element2",
                  reader.getName(),
                  Element.DESCRIPTION.getLocalName(),
                  Element.PERMISSION.getLocalName(),
                  Element.MAPPED_ROLE_NAME.getLocalName()),
              reader.getLocation());
      }
    }
  }
示例#2
0
 public DataPolicyMetadata addDataPolicy(DataPolicyMetadata policy) {
   return this.dataPolicies.put(policy.getName(), policy);
 }