use of org.alfresco.repo.audit.model._3.Audit in project atlasmap by atlasmap.
the class AtlasUtil method addAudit.
public static void addAudit(AtlasSession session, String docId, String message, String path, AuditStatus status, String value) {
Audit audit = new Audit();
audit.setDocId(docId);
audit.setMessage(message);
audit.setPath(path);
audit.setStatus(status);
audit.setValue(value);
session.getAudits().getAudit().add(audit);
}
use of org.alfresco.repo.audit.model._3.Audit in project atlasmap by atlasmap.
the class AtlasEndpoint method onExchange.
@Override
protected void onExchange(Exchange exchange) throws Exception {
Message incomingMessage = exchange.getIn();
String newResourceUri = incomingMessage.getHeader(AtlasConstants.ATLAS_RESOURCE_URI, String.class);
if (newResourceUri != null) {
incomingMessage.removeHeader(AtlasConstants.ATLAS_RESOURCE_URI);
log.debug("{} set to {} creating new endpoint to handle exchange", AtlasConstants.ATLAS_RESOURCE_URI, newResourceUri);
AtlasEndpoint newEndpoint = findOrCreateEndpoint(getEndpointUri(), newResourceUri);
newEndpoint.onExchange(exchange);
return;
}
AtlasSession atlasSession = getOrCreateAtlasContext(incomingMessage).createSession();
populateSourceDocuments(exchange, atlasSession);
atlasSession.getAtlasContext().process(atlasSession);
List<Audit> errors = new ArrayList<>();
for (Audit audit : atlasSession.getAudits().getAudit()) {
switch(audit.getStatus()) {
case ERROR:
errors.add(audit);
break;
case WARN:
LOG.warn("{}: Document='{}(ID:{})', path='{}'", audit.getMessage(), audit.getDocName(), audit.getDocId(), audit.getPath());
break;
default:
LOG.info("{}: Document='{}(ID:{})', path='{}'", audit.getMessage(), audit.getDocName(), audit.getDocId(), audit.getPath());
}
}
if (!errors.isEmpty()) {
StringBuilder buf = new StringBuilder("Errors: ");
errors.stream().forEach(a -> buf.append(String.format("[%s: Document='%s(ID:%s)', path='%s'], ", a.getMessage(), a.getDocName(), a.getDocId(), a.getPath())));
throw new AtlasException(buf.toString());
}
populateTargetDocuments(atlasSession, exchange);
}
use of org.alfresco.repo.audit.model._3.Audit in project atlasmap by atlasmap.
the class JavaXmlSeparateTest method testProcessSeparateNotEnoughSource.
@Test
public void testProcessSeparateNotEnoughSource() throws Exception {
AtlasContext context = atlasContextFactory.createContext(new File("src/test/resources/javaToXml/atlasmapping-separate-inputshort.json").toURI());
AtlasSession session = context.createSession();
BaseContact sourceContact = AtlasTestUtil.generateContact(SourceContact.class);
sourceContact.setFirstName("Dr. Mr. Ozzie");
sourceContact.setLastName(null);
session.setDefaultSourceDocument(sourceContact);
context.process(session);
Object object = session.getDefaultTargetDocument();
assertNotNull(object);
assertTrue(object instanceof String);
assertThat(object).valueByXPath("/Contact/@firstName").isEqualTo("Ozzie");
assertThat(object).valueByXPath("/Contact/@lastName").isNullOrEmpty();
assertTrue(session.hasWarns());
assertEquals(8, session.getAudits().getAudit().size(), printAudit(session));
boolean found = false;
for (Audit a : session.getAudits().getAudit()) {
if ("Separate returned fewer segments count=3 when targetField.path=/Contact/@lastName requested index=3".equals(a.getMessage())) {
found = true;
}
}
assertTrue(found, printAudit(session));
}
use of org.alfresco.repo.audit.model._3.Audit in project atlasmap by atlasmap.
the class AtlasMappingBaseTest method printAudit.
protected String printAudit(AtlasSession session) {
StringBuilder buf = new StringBuilder("Audits: ");
for (Audit a : session.getAudits().getAudit()) {
buf.append('[');
buf.append(a.getStatus());
buf.append(", message=");
buf.append(a.getMessage());
buf.append(", path=");
buf.append(a.getPath());
buf.append("], ");
}
return buf.toString();
}
use of org.alfresco.repo.audit.model._3.Audit in project atlasmap by atlasmap.
the class AtlasServiceTest method testJarUploadNoProcessorLoader.
@Test
public void testJarUploadNoProcessorLoader() throws Exception {
assumeFalse(isWindowsJDK8());
createJarFile(false, true);
FileInputStream jarIn = new FileInputStream(TEST_JAR_PATH);
Response resUL = service.uploadLibrary(jarIn);
assertEquals(200, resUL.getStatus());
Response resFA = service.listFieldActions(null);
assertEquals(200, resFA.getStatus());
String responseJson = new String((byte[]) resFA.getEntity());
assertFalse(responseJson.contains("myCustomFieldAction"));
BufferedInputStream in = new BufferedInputStream(new FileInputStream("src/test/resources/mappings/atlasmapping-custom-action.json"));
AtlasMapping am = mapper.readValue(in, AtlasMapping.class);
Mapping m = (Mapping) am.getMappings().getMapping().get(0);
Field f = m.getInputField().get(0);
f.setValue("foo");
Action action = f.getActions().get(0);
Method method = action.getClass().getDeclaredMethod("setParam", new Class[] { String.class });
method.invoke(action, "param");
ProcessMappingRequest request = new ProcessMappingRequest();
request.setMapping(m);
Response resMR = service.processMappingRequest(new ByteArrayInputStream(mapper.writeValueAsBytes(request)), null);
assertEquals(200, resMR.getStatus());
ProcessMappingResponse pmr = Json.mapper().readValue((byte[]) resMR.getEntity(), ProcessMappingResponse.class);
assertEquals(1, pmr.getAudits().getAudit().size(), printAudit(pmr.getAudits()));
Audit audit = pmr.getAudits().getAudit().get(0);
assertEquals(AuditStatus.WARN, audit.getStatus());
assertTrue(audit.getMessage().contains("Couldn't find metadata for a FieldAction 'MyFieldActionsModel'"));
assertEquals("foo", pmr.getMapping().getOutputField().get(0).getValue());
}
Aggregations