Skip to content

Commit

Permalink
Issue #1 feat:user data encryption/decryption api code change
Browse files Browse the repository at this point in the history
  • Loading branch information
AMIT KUMAR committed Sep 26, 2017
1 parent bd5952b commit 5e10504
Show file tree
Hide file tree
Showing 8 changed files with 1,837 additions and 1,736 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ public void onReceive(Object message) throws Throwable {
getAllSections();
} else {
ProjectLogger.log("UNSUPPORTED OPERATION");
ProjectCommonException exception = new ProjectCommonException(
ResponseCode.invalidOperationName.getErrorCode(),
ResponseCode.invalidOperationName.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
ProjectCommonException exception =
new ProjectCommonException(ResponseCode.invalidOperationName.getErrorCode(),
ResponseCode.invalidOperationName.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
sender().tell(exception, self());
}
} catch (Exception ex) {
Expand All @@ -84,22 +84,22 @@ public void onReceive(Object message) throws Throwable {
} else {
// Throw exception as message body
ProjectLogger.log("UNSUPPORTED MESSAGE");
ProjectCommonException exception = new ProjectCommonException(
ResponseCode.invalidRequestData.getErrorCode(),
ResponseCode.invalidRequestData.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
ProjectCommonException exception =
new ProjectCommonException(ResponseCode.invalidRequestData.getErrorCode(),
ResponseCode.invalidRequestData.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
sender().tell(exception, self());
}

}

private void getAllSections() {
Response response = null;
response = cassandraOperation
.getAllRecords(sectionDbInfo.getKeySpace(), sectionDbInfo.getTableName());
response =
cassandraOperation.getAllRecords(sectionDbInfo.getKeySpace(), sectionDbInfo.getTableName());
@SuppressWarnings("unchecked")
List<Map<String, Object>> result = (List<Map<String, Object>>) response.getResult()
.get(JsonKey.RESPONSE);
List<Map<String, Object>> result =
(List<Map<String, Object>>) response.getResult().get(JsonKey.RESPONSE);
for (Map<String, Object> map : result) {
removeUnwantedData(map, "");
}
Expand All @@ -113,12 +113,11 @@ private void getSection(Request actorMessage) {
Response response = null;
Map<String, Object> req = actorMessage.getRequest();
String sectionId = (String) req.get(JsonKey.ID);
response = cassandraOperation
.getRecordById(sectionDbInfo.getKeySpace(), sectionDbInfo.getTableName(),
sectionId);
response = cassandraOperation.getRecordById(sectionDbInfo.getKeySpace(),
sectionDbInfo.getTableName(), sectionId);
@SuppressWarnings("unchecked")
List<Map<String, Object>> result = (List<Map<String, Object>>) response.getResult()
.get(JsonKey.RESPONSE);
List<Map<String, Object>> result =
(List<Map<String, Object>>) response.getResult().get(JsonKey.RESPONSE);
if (!(result.isEmpty())) {
Map<String, Object> map = result.get(0);
removeUnwantedData(map, "");
Expand Down Expand Up @@ -151,11 +150,10 @@ private void updatePageSection(Request actorMessage) {
}
}
sectionMap.put(JsonKey.UPDATED_DATE, ProjectUtil.getFormattedDate());
Response response = cassandraOperation
.updateRecord(sectionDbInfo.getKeySpace(), sectionDbInfo.getTableName(),
sectionMap);
Response response = cassandraOperation.updateRecord(sectionDbInfo.getKeySpace(),
sectionDbInfo.getTableName(), sectionMap);
sender().tell(response, self());
//update DataCacheHandler section map with updated page section data
// update DataCacheHandler section map with updated page section data
new Thread() {
@Override
public void run() {
Expand Down Expand Up @@ -192,12 +190,11 @@ private void createPageSection(Request actorMessage) {
sectionMap.put(JsonKey.ID, uniqueId);
sectionMap.put(JsonKey.STATUS, ProjectUtil.Status.ACTIVE.getValue());
sectionMap.put(JsonKey.CREATED_DATE, ProjectUtil.getFormattedDate());
Response response = cassandraOperation
.insertRecord(sectionDbInfo.getKeySpace(), sectionDbInfo.getTableName(),
sectionMap);
Response response = cassandraOperation.insertRecord(sectionDbInfo.getKeySpace(),
sectionDbInfo.getTableName(), sectionMap);
response.put(JsonKey.SECTION_ID, uniqueId);
sender().tell(response, self());
//update DataCacheHandler section map with new page section data
// update DataCacheHandler section map with new page section data
new Thread() {
@Override
public void run() {
Expand All @@ -218,8 +215,8 @@ private void getPageData(Request actorMessage) {
String pageName = (String) req.get(JsonKey.PAGE_NAME);
String source = (String) req.get(JsonKey.SOURCE);
String orgCode = (String) req.get(JsonKey.ORG_CODE);
Map<String, String> headers = (Map<String, String>) actorMessage.getRequest()
.get(JsonKey.HEADER);
Map<String, String> headers =
(Map<String, String>) actorMessage.getRequest().get(JsonKey.HEADER);
filterMap.putAll(req);
filterMap.remove(JsonKey.PAGE_NAME);
filterMap.remove(JsonKey.SOURCE);
Expand All @@ -230,9 +227,8 @@ private void getPageData(Request actorMessage) {
List<Map<String, Object>> result = null;
try {
if (!ProjectUtil.isStringNullOREmpty(orgCode)) {
response = cassandraOperation
.getRecordsByProperty(orgDbInfo.getKeySpace(), orgDbInfo.getTableName(),
JsonKey.ORG_CODE, orgCode);
response = cassandraOperation.getRecordsByProperty(orgDbInfo.getKeySpace(),
orgDbInfo.getTableName(), JsonKey.ORG_CODE, orgCode);
result = (List<Map<String, Object>>) response.getResult().get(JsonKey.RESPONSE);
}
} catch (Exception e) {
Expand All @@ -248,8 +244,7 @@ private void getPageData(Request actorMessage) {

Map<String, Object> pageMap = DataCacheHandler.getPageMap().get(orgId + ":" + pageName);
/**
* if requested page for this organisation is not found,
* return default NTP page
* if requested page for this organisation is not found, return default NTP page
*/
if (null == pageMap) {
pageMap = DataCacheHandler.getPageMap().get("NA" + ":" + pageName);
Expand Down Expand Up @@ -295,11 +290,10 @@ private void getPageData(Request actorMessage) {
private void getPageSetting(Request actorMessage) {
Map<String, Object> req = actorMessage.getRequest();
String pageName = (String) req.get(JsonKey.ID);
Response response = cassandraOperation
.getRecordsByProperty(pageDbInfo.getKeySpace(), pageDbInfo.getTableName(),
JsonKey.PAGE_NAME, pageName);
List<Map<String, Object>> result = (List<Map<String, Object>>) response.getResult()
.get(JsonKey.RESPONSE);
Response response = cassandraOperation.getRecordsByProperty(pageDbInfo.getKeySpace(),
pageDbInfo.getTableName(), JsonKey.PAGE_NAME, pageName);
List<Map<String, Object>> result =
(List<Map<String, Object>>) response.getResult().get(JsonKey.RESPONSE);
if (!(result.isEmpty())) {
Map<String, Object> pageDO = result.get(0);
Map<String, Object> responseMap = getPageSetting(pageDO);
Expand All @@ -311,10 +305,10 @@ private void getPageSetting(Request actorMessage) {

@SuppressWarnings("unchecked")
private void getPageSettings() {
Response response = cassandraOperation
.getAllRecords(pageDbInfo.getKeySpace(), pageDbInfo.getTableName());
List<Map<String, Object>> result = (List<Map<String, Object>>) response.getResult()
.get(JsonKey.RESPONSE);
Response response =
cassandraOperation.getAllRecords(pageDbInfo.getKeySpace(), pageDbInfo.getTableName());
List<Map<String, Object>> result =
(List<Map<String, Object>>) response.getResult().get(JsonKey.RESPONSE);
List<Map<String, Object>> pageList = new ArrayList<>();
for (Map<String, Object> pageDO : result) {
Map<String, Object> responseMap = getPageSetting(pageDO);
Expand All @@ -329,7 +323,7 @@ private void getPageSettings() {
private void updatePage(Request actorMessage) {
Map<String, Object> req = actorMessage.getRequest();
Map<String, Object> pageMap = (Map<String, Object>) req.get(JsonKey.PAGE);
//default value for orgId
// default value for orgId
if (ProjectUtil.isStringNullOREmpty((String) pageMap.get(JsonKey.ORGANISATION_ID))) {
pageMap.put(JsonKey.ORGANISATION_ID, "NA");
}
Expand All @@ -338,15 +332,15 @@ private void updatePage(Request actorMessage) {
map.put(JsonKey.PAGE_NAME, pageMap.get(JsonKey.PAGE_NAME));
map.put(JsonKey.ORGANISATION_ID, pageMap.get(JsonKey.ORGANISATION_ID));

Response res = cassandraOperation
.getRecordsByProperties(pageDbInfo.getKeySpace(), pageDbInfo.getTableName(), map);
Response res = cassandraOperation.getRecordsByProperties(pageDbInfo.getKeySpace(),
pageDbInfo.getTableName(), map);
if (!((List<Map<String, Object>>) res.get(JsonKey.RESPONSE)).isEmpty()) {
Map<String, Object> page = ((List<Map<String, Object>>) res.get(JsonKey.RESPONSE)).get(0);
if (!(((String) page.get(JsonKey.ID)).equals((String) pageMap.get(JsonKey.ID)))) {
ProjectCommonException exception = new ProjectCommonException(
ResponseCode.pageAlreadyExist.getErrorCode(),
ResponseCode.pageAlreadyExist.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
ProjectCommonException exception =
new ProjectCommonException(ResponseCode.pageAlreadyExist.getErrorCode(),
ResponseCode.pageAlreadyExist.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
sender().tell(exception, self());
return;
}
Expand All @@ -369,11 +363,10 @@ private void updatePage(Request actorMessage) {
ProjectLogger.log(e.getMessage(), e);
}
}
Response response = cassandraOperation
.updateRecord(pageDbInfo.getKeySpace(), pageDbInfo.getTableName(),
pageMap);
Response response = cassandraOperation.updateRecord(pageDbInfo.getKeySpace(),
pageDbInfo.getTableName(), pageMap);
sender().tell(response, self());
//update DataCacheHandler page map with updated page data
// update DataCacheHandler page map with updated page data
new Thread() {
@Override
public void run() {
Expand All @@ -382,8 +375,8 @@ public void run() {
if (pageMap.containsKey(JsonKey.ORGANISATION_ID)) {
orgId = (String) pageMap.get(JsonKey.ORGANISATION_ID);
}
DataCacheHandler.getPageMap()
.put(orgId + ":" + (String) pageMap.get(JsonKey.PAGE_NAME), pageMap);
DataCacheHandler.getPageMap().put(orgId + ":" + (String) pageMap.get(JsonKey.PAGE_NAME),
pageMap);
}
}
}.start();
Expand All @@ -393,7 +386,7 @@ public void run() {
private void createPage(Request actorMessage) {
Map<String, Object> req = actorMessage.getRequest();
Map<String, Object> pageMap = (Map<String, Object>) req.get(JsonKey.PAGE);
//default value for orgId
// default value for orgId
if (ProjectUtil.isStringNullOREmpty((String) pageMap.get(JsonKey.ORGANISATION_ID))) {
pageMap.put(JsonKey.ORGANISATION_ID, "NA");
}
Expand All @@ -403,13 +396,13 @@ private void createPage(Request actorMessage) {
map.put(JsonKey.PAGE_NAME, pageMap.get(JsonKey.PAGE_NAME));
map.put(JsonKey.ORGANISATION_ID, pageMap.get(JsonKey.ORGANISATION_ID));

Response res = cassandraOperation
.getRecordsByProperties(pageDbInfo.getKeySpace(), pageDbInfo.getTableName(), map);
Response res = cassandraOperation.getRecordsByProperties(pageDbInfo.getKeySpace(),
pageDbInfo.getTableName(), map);
if (!((List<Map<String, Object>>) res.get(JsonKey.RESPONSE)).isEmpty()) {
ProjectCommonException exception = new ProjectCommonException(
ResponseCode.pageAlreadyExist.getErrorCode(),
ResponseCode.pageAlreadyExist.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
ProjectCommonException exception =
new ProjectCommonException(ResponseCode.pageAlreadyExist.getErrorCode(),
ResponseCode.pageAlreadyExist.getErrorMessage(),
ResponseCode.CLIENT_ERROR.getResponseCode());
sender().tell(exception, self());
return;
}
Expand All @@ -432,12 +425,11 @@ private void createPage(Request actorMessage) {
ProjectLogger.log(e.getMessage(), e);
}
}
Response response = cassandraOperation
.insertRecord(pageDbInfo.getKeySpace(), pageDbInfo.getTableName(),
pageMap);
Response response = cassandraOperation.insertRecord(pageDbInfo.getKeySpace(),
pageDbInfo.getTableName(), pageMap);
response.put(JsonKey.PAGE_ID, uniqueId);
sender().tell(response, self());
//update DataCacheHandler page map with new page data
// update DataCacheHandler page map with new page data
new Thread() {
@Override
public void run() {
Expand All @@ -446,17 +438,16 @@ public void run() {
if (pageMap.containsKey(JsonKey.ORGANISATION_ID)) {
orgId = (String) pageMap.get(JsonKey.ORGANISATION_ID);
}
DataCacheHandler.getPageMap()
.put(orgId + ":" + (String) pageMap.get(JsonKey.PAGE_NAME), pageMap);
DataCacheHandler.getPageMap().put(orgId + ":" + (String) pageMap.get(JsonKey.PAGE_NAME),
pageMap);
}
}
}.start();
}

@SuppressWarnings("unchecked")
private void getContentData(Map<String, Object> section, Map<String, Object> reqFilters,
Map<String, String> headers,
Map<String, Object> filterMap) {
Map<String, String> headers, Map<String, Object> filterMap) {
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = new HashMap<>();
try {
Expand All @@ -470,11 +461,10 @@ private void getContentData(Map<String, Object> section, Map<String, Object> req
((Map<String, Object>) map.get(JsonKey.REQUEST)).put(entry.getKey(), entry.getValue());
}
}
Map<String, Object> filters = (Map<String, Object>) ((Map<String, Object>) map
.get(JsonKey.REQUEST)).get(JsonKey.FILTERS);
ProjectLogger.log(
"default search query for ekstep for page data assemble api : " + (String) section
.get(JsonKey.SEARCH_QUERY));
Map<String, Object> filters =
(Map<String, Object>) ((Map<String, Object>) map.get(JsonKey.REQUEST)).get(JsonKey.FILTERS);
ProjectLogger.log("default search query for ekstep for page data assemble api : "
+ (String) section.get(JsonKey.SEARCH_QUERY));
applyFilters(filters, reqFilters);
String query = "";

Expand Down Expand Up @@ -583,9 +573,8 @@ private List<Map<String, Object>> parsePage(Map<String, Object> pageDO, String m
Response sectionResponse = cassandraOperation.getRecordById(pageSectionDbInfo.getKeySpace(),
pageSectionDbInfo.getTableName(), (String) sectionMap.get(JsonKey.ID));

List<Map<String, Object>> sectionResult = (List<Map<String, Object>>) sectionResponse
.getResult()
.get(JsonKey.RESPONSE);
List<Map<String, Object>> sectionResult =
(List<Map<String, Object>>) sectionResponse.getResult().get(JsonKey.RESPONSE);
if (null != sectionResult && !sectionResult.isEmpty()) {
sectionResult.get(0).put(JsonKey.GROUP, sectionMap.get(JsonKey.GROUP));
sectionResult.get(0).put(JsonKey.INDEX, sectionMap.get(JsonKey.INDEX));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,36 +20,40 @@
public class SchedularActor extends UntypedAbstractActor {

private ActorRef bulkUploadBackGroundJobActor;

public SchedularActor() {
bulkUploadBackGroundJobActor = getContext().actorOf(Props.create(BulkUploadBackGroundJobActor.class), "bulkUploadBackGroundJobActor");
}

bulkUploadBackGroundJobActor = getContext()
.actorOf(Props.create(BulkUploadBackGroundJobActor.class), "bulkUploadBackGroundJobActor");
}

@Override
public void onReceive(Object message) throws Throwable {
if (message instanceof Request) {
try {
ProjectLogger.log("SchedularActor onReceive called");
Request actorMessage = (Request) message;
if (actorMessage.getOperation().equalsIgnoreCase(ActorOperations.SCHEDULE_BULK_UPLOAD.getValue())) {
if (actorMessage.getOperation()
.equalsIgnoreCase(ActorOperations.SCHEDULE_BULK_UPLOAD.getValue())) {
schedule(actorMessage);
}else {
} else {
ProjectLogger.log("UNSUPPORTED OPERATION");
}
} catch (Exception ex) {
ProjectLogger.log(ex.getMessage(), ex);
}
}else {
} else {
ProjectLogger.log("UNSUPPORTED MESSAGE");
}
}

@SuppressWarnings("unchecked")
private void schedule(Request request) {
List<Map<String, Object>> result = (List<Map<String, Object>>) request.get(JsonKey.DATA);
for(Map<String,Object> map : result){
for (Map<String, Object> map : result) {
Request req = new Request();
req.put(JsonKey.PROCESS_ID, map.get(JsonKey.ID));
ProjectLogger.log("calling bulkUploadBackGroundJobActor for processId from schedular actor "+ map.get(JsonKey.ID));
ProjectLogger.log("calling bulkUploadBackGroundJobActor for processId from schedular actor "
+ map.get(JsonKey.ID));
req.setOperation(ActorOperations.PROCESS_BULK_UPLOAD.getValue());
bulkUploadBackGroundJobActor.tell(req, null);
}
Expand Down
Loading

0 comments on commit 5e10504

Please sign in to comment.