tm.getMappingManager().changeHighLighted(mapping);
tm.setDirty(true);
}
public static void setLdapAttributeRemove(TreeComponent tree, Node node, boolean b) {
TreeMapper treeMapper = tree.getTreeMapper();
if (treeMapper == null) {
return;
}
boolean bAttributeRemove = isLdapAttributeDelete(tree, node);
boolean bAttributeReplaceAll = !bAttributeRemove && isLdapAttributeReplaceAll(tree, node);
String value_path = KongaStringUtils.unwrap(node.m_deName);
String cmd_path = value_path + LdapStringConstants.attribute_command_de_name;
String old_value_path = value_path + LdapStringConstants.old_value_de_name;
String cmd = "Remove";
Node cmd_node = tree.findNode(cmd_path);
Node old_value_node = tree.findNode(old_value_path);
if (b) {// remove attribute
if (bAttributeRemove) {
return;
}
if (cmd_node == null) {
cmd_node = insertAttributeCommand(tree, node);
}
if (cmd_node == null) {
return;
}
node.m_CROM.clearType(CROM.CROM_t_LdapAttributeReplaceAll);
node.m_CROM.addType(CROM.CROM_t_LdapAttributeRemove);
NodeMapping mapping = treeMapper.getNodeMappingFactory().newMapping(new NodePath(cmd_path), cmd);
treeMapper.getMappingManager().addMapping(mapping);
tree.getTreeMapper().deleteMapping(new NodePath(value_path));
if (old_value_node == null && node.isLoopNode()) {
insertOldValueNode(tree, node);
}
treeMapper.updateMappingFlag();
treeMapper.updateMapAreaTables(cmd_path, cmd);
treeMapper.getMappingManager().changeHighLighted(mapping);
treeMapper.setDirty(true);
} else { // update attribute
if (!bAttributeRemove && !bAttributeReplaceAll) {
return;
}
node.m_CROM.clearType(CROM.CROM_t_LdapAttributeReplaceAll | CROM.CROM_t_LdapAttributeRemove);
if (cmd_node != null) {
tree.getTreeMapper().deleteMapping(new NodePath(cmd_path));
node.removeChild(cmd_node);
treeMapper.updateMappingFlag();
treeMapper.getMappingManager().changeHighLighted(null);
treeMapper.setDirty(true);
}
if (node.isLoopNode() && old_value_node == null) {
insertOldValueNode(tree, node);
}
}