use of com.google.gwt.xml.client.Node in project pentaho-platform by pentaho.
the class PermissionsPanel method updatePermissionForUserOrRole.
/**
* @param recipient
* @param grant true = grant the Permission, false = deny the Permission (remove it if present)
* @param perm The integer value of the Permission as defined in <code>RepositoryFilePermissions</code>
*/
private void updatePermissionForUserOrRole(Document fileInfo, String recipient, String recipientType, boolean grant, int perm) {
// first let's see if this node exists
Node foundPermission = null;
NodeList aces = fileInfo.getElementsByTagName(ACES_ELEMENT_NAME);
for (int i = 0; i < aces.getLength(); i++) {
Element ace = (Element) aces.item(i);
if (ace.getElementsByTagName(RECIPIENT_ELEMENT_NAME).item(0).getFirstChild().getNodeValue().equals(recipient) && ace.getElementsByTagName(RECIPIENT_TYPE_ELEMENT_NAME).item(0).getFirstChild().getNodeValue().equals(recipientType)) {
NodeList permissions = ace.getElementsByTagName(PERMISSIONS_ELEMENT_NAME);
for (int j = 0; j < permissions.getLength(); j++) {
Node testNode = permissions.item(j);
if (testNode.getFirstChild() != null && Integer.parseInt(testNode.getFirstChild().getNodeValue()) == perm) {
foundPermission = testNode;
break;
}
}
break;
}
}
if (grant) {
if (foundPermission != null) {
// This permission already exists.
return;
}
addPermission(recipient, recipientType, perm, fileInfo);
} else {
if (foundPermission != null) {
foundPermission.getParentNode().removeChild(foundPermission);
}
}
}
use of com.google.gwt.xml.client.Node in project data-access by pentaho.
the class DatabaseConnectionConverter method getNodesByTagName.
/*
* Return all node matching the tagName, starting from the current element
* location
*/
private List<Node> getNodesByTagName(Element element, String tagName) {
List<Node> nodes = new ArrayList<Node>();
NodeList list = element.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
if (node != null && node.getNodeName().equals(tagName)) {
nodes.add(node);
}
}
return nodes;
}
use of com.google.gwt.xml.client.Node in project data-access by pentaho.
the class DatabaseConnectionConverter method convertToObject.
public IDatabaseConnection convertToObject(String xml) {
Document document = XMLParser.parse(xml);
Element element = document.getDocumentElement();
IDatabaseConnection databaseConnection = new DatabaseConnection();
databaseConnection.setDatabaseName(getNodeValueByTagName(element, DATABASE_NAME));
databaseConnection.setHostname(getNodeValueByTagName(element, HOSTNAME));
databaseConnection.setIndexTablespace(getNodeValueByTagName(element, INDEX_TABLESPACE));
databaseConnection.setDataTablespace(getNodeValueByTagName(element, DATA_TABLESPACE));
databaseConnection.setName(getNodeValueByTagName(element, NAME));
databaseConnection.setUsername(getNodeValueByTagName(element, USERNAME));
databaseConnection.setPassword(getNodeValueByTagName(element, PASSWORD));
databaseConnection.setDatabasePort(getNodeValueByTagName(element, DATABASE_PORT));
databaseConnection.setAccessType(DatabaseAccessType.getAccessTypeByName(getNodeValueByTagName(element, ACCESS_TYPE)));
databaseConnection.setDatabaseType((DatabaseType) databaseTypeHelper.getDatabaseTypeByShortName(getNodeValueByTagName(element, DATABASE_TYPE)));
databaseConnection.setPassword(getNodeValueByTagName(element, PASSWORD));
databaseConnection.setInformixServername(getNodeValueByTagName(element, SERVER_NAME));
for (Node node : getNodesByTagName(element, ATTRIBUTES)) {
databaseConnection.getAttributes().put(node.getNodeName(), node.getNodeValue());
}
return databaseConnection;
}
use of com.google.gwt.xml.client.Node in project data-access by pentaho.
the class DatasourceServiceManagerGwtImpl method convertReponseToList.
private List<String> convertReponseToList(Response response) {
List<String> dataList = new ArrayList<String>();
Document document = (Document) XMLParser.parse(response.getText());
Element element = document.getDocumentElement();
Node node = element.getFirstChild();
boolean done = false;
do {
try {
dataList.add(getNodeValueByTagName(node, "Item"));
node = (node.getNextSibling() != null) ? node.getNextSibling() : null;
if (node == null) {
done = true;
}
} catch (Exception e) {
done = true;
}
} while (!done);
return dataList;
}
Aggregations