use of org.xml.sax.SAXException in project OpenAM by OpenRock.
the class SmsServerPropertiesResource method readInstance.
@Override
public Promise<ResourceResponse, ResourceException> readInstance(Context serverContext, ReadRequest readRequest) {
Map<String, String> uriVariables = getUriTemplateVariables(serverContext);
final String tabName = getTabName(uriVariables);
if (tabName == null) {
return new BadRequestException("Tab name not specified.").asPromise();
}
final String serverName = getServerName(uriVariables);
if (serverName == null) {
return new BadRequestException("Server name not specified.").asPromise();
}
try {
ServiceConfigManager scm = getServiceConfigManager(serverContext);
ServiceConfig serverConfigs = getServerConfigs(scm);
Properties defaultAttributes = getAttributes(serverConfigs.getSubConfig(SERVER_DEFAULT_NAME));
final ServiceConfig serverConfig = serverConfigs.getSubConfig(serverName);
if (serverConfig == null) {
return new BadRequestException("Unknown Server " + serverName).asPromise();
}
Properties serverSpecificAttributes = getAttributes(serverConfig);
Map<String, String> defaultSection = new HashMap<>();
JsonValue result = json(object(field("default", defaultSection)));
List<String> attributeNamesForTab;
if (tabName.equalsIgnoreCase(DIRECTORY_CONFIGURATION_TAB_NAME)) {
InputStream resourceStream = new StringInputStream(getServerConfigXml(serverConfig));
Document serverXml = dBuilder.parse(resourceStream);
XPath xPath = XPathFactory.newInstance().newXPath();
final String baseExpression = "//iPlanetDataAccessLayer/ServerGroup[@name='sms']/";
String minConnections = (String) xPath.compile(baseExpression + "@" + DSConfigMgr.MIN_CONN_POOL).evaluate(serverXml, XPathConstants.STRING);
String maxConnections = (String) xPath.compile(baseExpression + "@" + DSConfigMgr.MAX_CONN_POOL).evaluate(serverXml, XPathConstants.STRING);
String dirDN = (String) xPath.compile(baseExpression + "User/DirDN").evaluate(serverXml, XPathConstants.STRING);
String directoryPassword = (String) xPath.compile(baseExpression + "User/DirPassword").evaluate(serverXml, XPathConstants.STRING);
result.put("minConnections", minConnections);
result.put("maxConnections", maxConnections);
result.put("dirDN", dirDN);
result.put("directoryPassword", directoryPassword);
NodeList serverNames = (NodeList) xPath.compile(baseExpression + "Server/@name").evaluate(serverXml, XPathConstants.NODESET);
for (int i = 0; i < serverNames.getLength(); i++) {
final String directoryServerName = serverNames.item(i).getNodeValue();
final String serverExpression = baseExpression + "Server[@name='" + directoryServerName + "']";
String hostExpression = serverExpression + "/@host";
String portExpression = serverExpression + "/@port";
String typeExpression = serverExpression + "/@type";
NodeList serverAttributes = (NodeList) xPath.compile(hostExpression + "|" + portExpression + "|" + typeExpression).evaluate(serverXml, XPathConstants.NODESET);
for (int a = 0; a < serverAttributes.getLength(); a++) {
final Node serverAttribute = serverAttributes.item(a);
result.addPermissive(new JsonPointer("servers/" + directoryServerName + "/" + serverAttribute.getNodeName()), serverAttribute.getNodeValue());
}
}
} else {
if (tabName.equalsIgnoreCase(ADVANCED_TAB_NAME)) {
attributeNamesForTab = getAdvancedTabAttributeNames(serverConfig);
} else {
attributeNamesForTab = getDefaultValueNames(tabName);
}
for (String attributeName : attributeNamesForTab) {
final String defaultAttribute = (String) defaultAttributes.get(attributeName);
if (defaultAttribute != null) {
defaultSection.put(attributeName, (String) defaultAttributes.get(attributeName));
}
final String serverSpecificAttribute = (String) serverSpecificAttributes.get(attributeName);
if (serverSpecificAttribute != null) {
result.add(attributeName, serverSpecificAttribute);
}
}
}
return newResultPromise(newResourceResponse(serverName + "/properties/" + tabName, String.valueOf(result.hashCode()), result));
} catch (SMSException | SSOException | ParserConfigurationException | SAXException | IOException | XPathExpressionException e) {
logger.error("Error reading property sheet for tab " + tabName, e);
}
return new BadRequestException("Error reading properties file for " + tabName).asPromise();
}
use of org.xml.sax.SAXException in project tdi-studio-se by Talend.
the class CpuProfiler method refreshBciProfileCache.
/*
* @see ICpuProfiler#refreshBciProfileCache(IProgressMonitor)
*/
@Override
public void refreshBciProfileCache(IProgressMonitor monitor) throws JvmCoreException {
if (type != ProfilerType.BCI) {
return;
}
validateAgent();
if (!isBciProfilerRunning()) {
return;
}
String dumpString = (String) invokeCpuProfilerMXBeanMethod(DUMP, null, null);
if (dumpString == null) {
return;
}
ByteArrayInputStream input = null;
try {
input = new ByteArrayInputStream(dumpString.getBytes());
CpuDumpParser parser = new CpuDumpParser(input, cpuModel, monitor);
parser.parse();
} catch (ParserConfigurationException e) {
throw new JvmCoreException(IStatus.ERROR, Messages.parseCpuDumpFailedMsg, e);
} catch (SAXException e) {
throw new JvmCoreException(IStatus.ERROR, Messages.parseCpuDumpFailedMsg, e);
} catch (IOException e) {
throw new JvmCoreException(IStatus.ERROR, Messages.parseCpuDumpFailedMsg, e);
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
// do nothing
}
}
}
}
use of org.xml.sax.SAXException in project tdi-studio-se by Talend.
the class ThreadDumpEditor method parseDumpFile.
/**
* Parses the dump file.
*
* @param filePath The file path
*/
private void parseDumpFile(final String filePath) {
Job job = new Job(Messages.parseThreadDumpFileJobLabel) {
@Override
protected IStatus run(IProgressMonitor monitor) {
final ThreadDumpParser parser = new ThreadDumpParser(new File(filePath), threadListElements, monitor);
try {
parser.parse();
} catch (ParserConfigurationException e) {
//$NON-NLS-1$
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load thread dump file.", e);
} catch (SAXException e) {
//$NON-NLS-1$
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load thread dump file.", e);
} catch (IOException e) {
//$NON-NLS-1$
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load thread dump file.", e);
}
setProfileInfo(parser.getProfileInfo());
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
if (threadSashForm != null) {
threadSashForm.refresh();
}
}
});
return Status.OK_STATUS;
}
};
job.schedule();
}
use of org.xml.sax.SAXException in project tdi-studio-se by Talend.
the class Snapshot method getTimeStamp.
/*
* @see ISnapshot#getTimeStamp()
*/
@Override
public String getTimeStamp() {
if (timeStamp != null) {
return timeStamp;
}
if (snapshotType == SnapshotType.Hprof) {
long lastModified = fileStore.fetchInfo().getLastModified();
if (lastModified == EFS.NONE) {
return null;
}
Date currentDate = new Date(lastModified);
//$NON-NLS-1$
String date = new SimpleDateFormat("yyyy/MM/dd").format(currentDate);
//$NON-NLS-1$
String time = new SimpleDateFormat("HH:mm:ss").format(currentDate);
//$NON-NLS-1$
timeStamp = date + " " + time;
return timeStamp;
}
InputStream inputStream = null;
try {
inputStream = new FileInputStream(new File(fileStore.toURI().getPath()));
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream);
Element root = document.getDocumentElement();
//$NON-NLS-1$
timeStamp = root.getAttribute("date");
return timeStamp;
} catch (SAXException e) {
Activator.log(IStatus.ERROR, NLS.bind(Messages.readFileFailedMsg, fileStore.toURI().getPath()), e);
} catch (IOException e) {
Activator.log(IStatus.ERROR, NLS.bind(Messages.readFileFailedMsg, fileStore.toURI().getPath()), e);
} catch (ParserConfigurationException e) {
Activator.log(IStatus.ERROR, NLS.bind(Messages.readFileFailedMsg, fileStore.toURI().getPath()), e);
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
// ignore
}
}
}
return null;
}
use of org.xml.sax.SAXException in project tdi-studio-se by Talend.
the class HeapDumpEditor method parseDumpFile.
/**
* Parses the dump file.
*
* @param filePath The file path
*/
private void parseDumpFile(final String filePath) {
Job job = new Job(Messages.parseHeapDumpFileJobLabel) {
@Override
protected IStatus run(IProgressMonitor monitor) {
HeapDumpParser parser = new HeapDumpParser(new File(filePath), heapListElements, monitor);
try {
parser.parse();
} catch (ParserConfigurationException e) {
//$NON-NLS-1$
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load heap dump file.", e);
} catch (SAXException e) {
//$NON-NLS-1$
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load heap dump file.", e);
} catch (IOException e) {
//$NON-NLS-1$
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Could not load heap dump file.", e);
}
setProfileInfo(parser.getProfileInfo());
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
if (heapHistogramPage != null) {
heapHistogramPage.refresh();
}
}
});
return Status.OK_STATUS;
}
};
job.schedule();
}
Aggregations