use of de.micromata.opengis.kml.v_2_2_0.Document in project jPOS by jpos.
the class Q2 method deployElement.
public void deployElement(Element e, String fileName, boolean encrypt, boolean isTransient) throws ISOException, IOException, GeneralSecurityException {
e = e.clone();
XMLOutputter out = new XMLOutputter(Format.getPrettyFormat());
Document doc = new Document();
doc.setRootElement(e);
File qbean = new File(deployDir, fileName);
if (isTransient) {
e.setAttribute("instance", getInstanceId().toString());
qbean.deleteOnExit();
}
if (encrypt) {
doc = encrypt(doc);
}
try (Writer writer = new BufferedWriter(new FileWriter(qbean))) {
out.output(doc, writer);
}
}
use of de.micromata.opengis.kml.v_2_2_0.Document in project jPOS by jpos.
the class Q2 method deploy.
private boolean deploy(File f) {
LogEvent evt = log != null ? log.createInfo() : null;
try {
QEntry qentry = dirMap.get(f);
SAXBuilder builder = createSAXBuilder();
Document doc;
if (decorator != null && !f.getName().equals(LOGGER_CONFIG)) {
doc = decrypt(builder.build(new StringReader(decorator.decorateFile(f))));
} else {
doc = decrypt(builder.build(f));
}
Element rootElement = doc.getRootElement();
String iuuid = rootElement.getAttributeValue("instance");
if (iuuid != null) {
UUID uuid = UUID.fromString(iuuid);
if (!uuid.equals(getInstanceId())) {
deleteFile(f, iuuid);
return false;
}
}
String enabledAttribute = rootElement.getAttributeValue("enabled", "true");
if ("true".equalsIgnoreCase(enabledAttribute) || "yes".equalsIgnoreCase(enabledAttribute)) {
if (evt != null)
evt.addMessage("deploy: " + f.getCanonicalPath());
Object obj = factory.instantiate(this, rootElement);
qentry.setObject(obj);
ObjectInstance instance = factory.createQBean(this, doc.getRootElement(), obj);
qentry.setInstance(instance);
} else if (evt != null) {
evt.addMessage("deploy ignored (enabled='" + enabledAttribute + "'): " + f.getCanonicalPath());
}
} catch (InstanceAlreadyExistsException e) {
/*
* Ok, the file we tried to deploy, holds an object
* that already has been deployed.
*
* Rename it out of the way.
*
*/
tidyFileAway(f, DUPLICATE_EXTENSION);
if (evt != null)
evt.addMessage(e);
return false;
} catch (Exception e) {
if (evt != null)
evt.addMessage(e);
tidyFileAway(f, ERROR_EXTENSION);
// This will also save deploy error repeats...
return false;
} catch (Error e) {
if (evt != null)
evt.addMessage(e);
tidyFileAway(f, ENV_EXTENSION);
// This will also save deploy error repeats...
return false;
} finally {
if (evt != null)
Logger.log(evt);
}
return true;
}
use of de.micromata.opengis.kml.v_2_2_0.Document in project jPOS by jpos.
the class Q2 method encrypt.
protected Document encrypt(Document doc) throws GeneralSecurityException, IOException {
ByteArrayOutputStream os = new ByteArrayOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(os);
XMLOutputter out = new XMLOutputter(Format.getPrettyFormat());
out.output(doc, writer);
writer.close();
byte[] crypt = dodes(os.toByteArray(), Cipher.ENCRYPT_MODE);
Document secureDoc = new Document();
Element root = new Element(PROTECTED_QBEAN);
secureDoc.setRootElement(root);
Element secureData = new Element("data");
root.addContent(secureData);
secureData.setText(ISOUtil.hexString(crypt));
return secureDoc;
}
use of de.micromata.opengis.kml.v_2_2_0.Document in project jPOS by jpos.
the class Q2 method deployResource.
private void deployResource(String resource) throws IOException, SAXException, JDOMException, GeneralSecurityException, ISOException {
SAXBuilder builder = new SAXBuilder();
try (InputStream source = getClass().getClassLoader().getResourceAsStream(resource)) {
Document doc = builder.build(source);
deployElement(doc.getRootElement(), resource.substring(DEPLOY_PREFIX.length()), false, true);
}
}
use of de.micromata.opengis.kml.v_2_2_0.Document in project gocd by gocd.
the class GoConfigMigrationIntegrationTest method shouldRemoveAllLuauConfigurationFromConfig.
@Test
public void shouldRemoveAllLuauConfigurationFromConfig() throws Exception {
String configString = "<cruise schemaVersion='66'>" + "<server siteUrl='https://hostname'>" + "<security>" + " <luau url='https://luau.url.com' clientKey='0d010cf97ec505ee3788a9b5b8cf71d482c394ae88d32f0333' authState='authorized' />" + " <ldap uri='ldap' managerDn='managerDn' encryptedManagerPassword='+XhtUNvVAxJdHGF4qQGnWw==' searchFilter='(sAMAccountName={0})'>" + " <bases>" + " <base value='ou=Enterprise,ou=Principal,dc=corporate,dc=thoughtworks,dc=com' />" + " </bases>" + " </ldap>" + " <roles>" + " <role name='luau-role'><groups><luauGroup>luau-group</luauGroup></groups></role>" + " <role name='ldap-role'><users><user>some-user</user></users></role>" + "</roles>" + "</security>" + "</server>" + "</cruise>";
String migratedContent = migrateXmlString(configString, 66);
Document document = new SAXBuilder().build(new StringReader(migratedContent));
assertThat(document.getDescendants(new ElementFilter("luau")).hasNext(), is(false));
assertThat(document.getDescendants(new ElementFilter("groups")).hasNext(), is(false));
}
Aggregations