Skip to content

Commit

Permalink
Add support for importing Symmetric profile via rest api.
Browse files Browse the repository at this point in the history
  • Loading branch information
abrougher committed Nov 7, 2012
1 parent 1c19344 commit 828a19f
Showing 1 changed file with 23 additions and 2 deletions.
Expand Up @@ -20,15 +20,20 @@
*/
package org.jumpmind.symmetric.web.rest;

import java.io.IOException;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.List;
import java.util.Set;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.jumpmind.symmetric.ISymmetricEngine;
import org.jumpmind.symmetric.model.IncomingBatch;
import org.jumpmind.symmetric.model.IncomingBatch.Status;
import org.jumpmind.symmetric.service.IDataLoaderService;
import org.jumpmind.symmetric.service.ITriggerRouterService;
import org.jumpmind.symmetric.web.SymmetricEngineHolder;
import org.jumpmind.symmetric.web.WebConstants;
Expand Down Expand Up @@ -161,7 +166,6 @@ public final void loadProfile(
@ResponseStatus( HttpStatus.NO_CONTENT )
@ResponseBody
public final void loadProfile(@RequestParam MultipartFile file) {

loadProfileImpl(getSymmetricEngine(), file);
}

Expand Down Expand Up @@ -453,7 +457,24 @@ private void refreshCacheImpl(ISymmetricEngine engine) {
}

private void loadProfileImpl(ISymmetricEngine engine, MultipartFile file) {
//TODO:implement

IDataLoaderService dataLoaderService = engine.getDataLoaderService();
boolean inError = false;
try {
String content = new String(file.getBytes());
List<IncomingBatch> batches = dataLoaderService.loadDataBatch(content);
for (IncomingBatch batch : batches) {
if (batch.getStatus() == Status.ER) {
inError = true;
}
}
} catch (Exception e) {
inError = true;
}
if (inError) {
throw new RuntimeException("Error loading profile.");
}
// TODO: Add error handling
}

private NodeList childrenImpl(ISymmetricEngine engine) {
Expand Down

0 comments on commit 828a19f

Please sign in to comment.