use of io.atlasmap.v2.Document in project ldapchai by ldapchai.
the class NmasResponseSet method parseNmasPolicyXML.
static List<Challenge> parseNmasPolicyXML(final String str, final Locale locale) throws IOException, JDOMException {
final List<Challenge> returnList = new ArrayList<Challenge>();
final Reader xmlreader = new StringReader(str);
final SAXBuilder builder = new SAXBuilder();
final Document doc = builder.build(xmlreader);
final boolean required = doc.getRootElement().getName().equals("RequiredQuestions");
for (final Iterator questionIterator = doc.getDescendants(new ElementFilter("Question")); questionIterator.hasNext(); ) {
final Element loopQ = (Element) questionIterator.next();
final int maxLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MaxLength"), 255);
final int minLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MinLength"), 1);
final String challengeText = readDisplayString(loopQ, locale);
final Challenge challenge = new ChaiChallenge(required, challengeText, minLength, maxLength, true, 0, false);
returnList.add(challenge);
}
for (Iterator iter = doc.getDescendants(new ElementFilter("UserDefined")); iter.hasNext(); ) {
final Element loopQ = (Element) iter.next();
final int maxLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MaxLength"), 255);
final int minLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MinLength"), 1);
final Challenge challenge = new ChaiChallenge(required, null, minLength, maxLength, false, 0, false);
returnList.add(challenge);
}
return returnList;
}
use of io.atlasmap.v2.Document in project pwm by pwm-project.
the class StoredConfigurationImpl method fromXml.
public static StoredConfigurationImpl fromXml(final InputStream xmlData) throws PwmUnrecoverableException {
final Instant startTime = Instant.now();
// validateXmlSchema(xmlData);
final Document inputDocument = XmlUtil.parseXml(xmlData);
final StoredConfigurationImpl newConfiguration = StoredConfigurationImpl.newStoredConfiguration();
try {
newConfiguration.document = inputDocument;
// verify create time;
newConfiguration.createTime();
ConfigurationCleaner.cleanup(newConfiguration);
} catch (Exception e) {
final String errorMsg = "error reading configuration file format, error=" + e.getMessage();
final ErrorInformation errorInfo = new ErrorInformation(PwmError.CONFIG_FORMAT_ERROR, null, new String[] { errorMsg });
throw new PwmUnrecoverableException(errorInfo);
}
checkIfXmlRequiresUpdate(newConfiguration);
LOGGER.debug("successfully loaded configuration (" + TimeDuration.compactFromCurrent(startTime) + ")");
return newConfiguration;
}
use of io.atlasmap.v2.Document in project pwm by pwm-project.
the class XmlUtil method parseXml.
public static Document parseXml(final Reader inputStream) throws PwmUnrecoverableException {
final SAXBuilder builder = getBuilder();
final Document inputDocument;
try {
inputDocument = builder.build(inputStream);
} catch (Exception e) {
throw new PwmUnrecoverableException(new ErrorInformation(PwmError.CONFIG_FORMAT_ERROR, null, new String[] { "error parsing xml data: " + e.getMessage() }));
}
return inputDocument;
}
use of io.atlasmap.v2.Document in project pwm by pwm-project.
the class PwmSettingXml method readXml.
private static Document readXml() {
final Document docRefCopy = xmlDocCache;
if (docRefCopy == null) {
// validateXmlSchema();
final InputStream inputStream = PwmSetting.class.getClassLoader().getResourceAsStream(SETTING_XML_FILENAME);
final SAXBuilder builder = new SAXBuilder();
try {
final Document newDoc = builder.build(inputStream);
xmlDocCache = newDoc;
// clear cached dom after 30 seconds.
final Thread t = new Thread("PwmSettingXml static cache clear thread") {
@Override
public void run() {
JavaHelper.pause(30 * 1000);
xmlDocCache = null;
}
};
t.setDaemon(true);
t.start();
return newDoc;
} catch (JDOMException e) {
throw new IllegalStateException("error parsing " + SETTING_XML_FILENAME + ": " + e.getMessage());
} catch (IOException e) {
throw new IllegalStateException("unable to load " + SETTING_XML_FILENAME + ": " + e.getMessage());
}
}
return docRefCopy;
}
use of io.atlasmap.v2.Document in project tests by datanucleus.
the class RelationshipsTest method testOneToManyBidirMappedByDotNotation.
/**
* Test of 1-N bidir with element having embedded PC, and 1-1 bidir with embedded PC, and using "mappedBy" with DOT notation.
*/
public void testOneToManyBidirMappedByDotNotation() {
try {
EntityManager em = getEM();
EntityTransaction tx = em.getTransaction();
try {
tx.begin();
Contact c1 = new Contact("John Doe");
Document d1 = new Document("Doc1", c1);
Document d2 = new Document("Doc2", c1);
c1.setMainDocument(d1);
d1.getDetails().setOwner(c1);
c1.getDocuments().add(d2);
d2.getDetails().setOwner(c1);
em.persist(c1);
em.persist(d1);
em.persist(d2);
Contact c2 = new Contact("Jane Dose");
em.persist(c2);
tx.commit();
} catch (Exception e) {
e.printStackTrace();
fail("Exception thrown while creating data");
} finally {
if (tx.isActive()) {
tx.rollback();
}
em.close();
}
// Query the datastore and check the results
em = getEM();
tx = em.getTransaction();
List<Document> documents = null;
try {
tx.begin();
TypedQuery<Document> query = em.createQuery("SELECT d FROM Document d JOIN FETCH d.details.owner owner_1 WHERE d.name = 'Doc2'", Document.class);
documents = query.getResultList();
tx.commit();
} catch (Exception e) {
e.printStackTrace();
fail("Exception thrown while retrieving data");
} finally {
if (tx.isActive()) {
tx.rollback();
}
em.close();
}
assertEquals(1, documents.size());
assertEquals("Doc2", documents.get(0).getName());
assertEquals("John Doe", documents.get(0).getDetails().getOwner().getName());
em = getEM();
tx = em.getTransaction();
try {
tx.begin();
// Null out the relations
TypedQuery<Contact> query = em.createQuery("SELECT c FROM " + Contact.class.getName() + " c", Contact.class);
List<Contact> contacts = query.getResultList();
for (Contact c : contacts) {
c.setMainDocument(null);
c.getDocuments().clear();
}
tx.commit();
} catch (Exception e) {
e.printStackTrace();
fail("Exception thrown while retrieving data");
} finally {
if (tx.isActive()) {
tx.rollback();
}
em.close();
}
} finally {
clean(Contact.class);
clean(Document.class);
}
}
Aggregations