Skip to content

Commit ab05c98

Browse files
authored
Merge pull request #130 from project-sunbird/SB-6890
Sb 6890
2 parents c637075 + c9f5af5 commit ab05c98

File tree

8 files changed

+157
-2
lines changed

8 files changed

+157
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.sunbird.actorutil.systemsettings;
2+
3+
import akka.actor.ActorRef;
4+
import org.sunbird.models.systemsetting.SystemSetting;
5+
6+
/**
7+
* This interface defines methods supported by System Setting service.
8+
*
9+
* @author Amit Kumar
10+
*/
11+
public interface SystemSettingClient {
12+
13+
/**
14+
* @desc Get system setting information for given field (setting) name.
15+
* @param actorRef Actor reference.
16+
* @param field System setting field name.
17+
* @return System setting details
18+
*/
19+
SystemSetting getSystemSettingByField(ActorRef actorRef, String field);
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package org.sunbird.actorutil.systemsettings.impl;
2+
3+
import akka.actor.ActorRef;
4+
import java.util.HashMap;
5+
import java.util.Map;
6+
import org.sunbird.actorutil.InterServiceCommunication;
7+
import org.sunbird.actorutil.InterServiceCommunicationFactory;
8+
import org.sunbird.actorutil.systemsettings.SystemSettingClient;
9+
import org.sunbird.common.exception.ProjectCommonException;
10+
import org.sunbird.common.models.response.Response;
11+
import org.sunbird.common.models.util.ActorOperations;
12+
import org.sunbird.common.models.util.JsonKey;
13+
import org.sunbird.common.models.util.LoggerEnum;
14+
import org.sunbird.common.models.util.ProjectLogger;
15+
import org.sunbird.common.request.Request;
16+
import org.sunbird.common.responsecode.ResponseCode;
17+
import org.sunbird.models.systemsetting.SystemSetting;
18+
19+
public class SystemSettingClientImpl implements SystemSettingClient {
20+
21+
private static InterServiceCommunication interServiceCommunication =
22+
InterServiceCommunicationFactory.getInstance();
23+
private static SystemSettingClientImpl systemSettingClient = null;
24+
25+
public static SystemSettingClientImpl getInstance() {
26+
if (null == systemSettingClient) {
27+
systemSettingClient = new SystemSettingClientImpl();
28+
}
29+
return systemSettingClient;
30+
}
31+
32+
@Override
33+
public SystemSetting getSystemSettingByField(ActorRef actorRef, String field) {
34+
return getSystemSetting(actorRef, JsonKey.FIELD, field);
35+
}
36+
37+
private SystemSetting getSystemSetting(ActorRef actorRef, String param, Object value) {
38+
Request request = new Request();
39+
Map<String, Object> map = new HashMap<>();
40+
map.put(param, value);
41+
request.setRequest(map);
42+
request.setOperation(ActorOperations.GET_SYSTEM_SETTING.getValue());
43+
ProjectLogger.log("SystemSettingClientImpl: getSystemSetting called", LoggerEnum.INFO);
44+
Object obj = interServiceCommunication.getResponse(actorRef, request);
45+
if (obj instanceof Response) {
46+
Response responseObj = (Response) obj;
47+
return (SystemSetting) responseObj.getResult().get(JsonKey.RESPONSE);
48+
} else if (obj instanceof ProjectCommonException) {
49+
throw (ProjectCommonException) obj;
50+
} else {
51+
throw new ProjectCommonException(
52+
ResponseCode.SERVER_ERROR.getErrorCode(),
53+
ResponseCode.SERVER_ERROR.getErrorMessage(),
54+
ResponseCode.SERVER_ERROR.getResponseCode());
55+
}
56+
}
57+
}

Diff for: common-util/src/main/java/org/sunbird/common/models/util/JsonKey.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,11 @@ public final class JsonKey {
678678
public static final String ORIGINAL_EXTERNAL_ID = "originalExternalId";
679679
public static final String ORIGINAL_ID_TYPE = "originalIdType";
680680
public static final String ORIGINAL_PROVIDER = "originalProvider";
681-
public static final String SUNBIRD_CASSANDRA_CONSISTENCY_LEVEL = "sunbird_cassandra_consistency_level";
681+
public static final String SUNBIRD_CASSANDRA_CONSISTENCY_LEVEL =
682+
"sunbird_cassandra_consistency_level";
683+
public static final String VERSION_2 = "v2";
684+
public static final String CUSTODIAN_ORG_CHANNEL = "custodianOrgChannel";
685+
public static final String CUSTODIAN_ORG_ID = "custodianOrgId";
682686

683687
private JsonKey() {}
684688
}

Diff for: common-util/src/main/java/org/sunbird/common/request/UserRequestValidator.java

+15-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import org.sunbird.common.responsecode.ResponseCode;
1515

1616
/** @author Amit Kumar */
17-
public class UserRequestValidator {
17+
public class UserRequestValidator extends BaseRequestValidator {
1818

1919
private static final int ERROR_CODE = ResponseCode.CLIENT_ERROR.getResponseCode();
2020

@@ -51,6 +51,20 @@ public static void validateCreateUser(Request userRequest) {
5151
validateWebPages(userRequest);
5252
}
5353

54+
/**
55+
* This method will validate create user data.
56+
*
57+
* @param userRequest Request
58+
*/
59+
public static void validateCreateUserV2(Request userRequest) {
60+
BaseRequestValidator requestValidator = new BaseRequestValidator();
61+
requestValidator.validateParam(
62+
(String) userRequest.getRequest().get(JsonKey.CHANNEL),
63+
ResponseCode.mandatoryParamsMissing,
64+
JsonKey.CHANNEL);
65+
validateCreateUser(userRequest);
66+
}
67+
5468
public static void fieldsNotAllowed(List<String> fields, Request userRequest) {
5569
for (String field : fields) {
5670
if (((userRequest.getRequest().get(field) instanceof String)

Diff for: common-util/src/main/java/org/sunbird/common/responsecode/ResponseCode.java

+2
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,8 @@ public enum ResponseCode {
633633
ResponseMessage.Message.EMAIL_RECIPIENTS_EXCEEDS_MAX_LIMIT),
634634
emailNotSentRecipientsZero(
635635
ResponseMessage.Key.NO_EMAIL_RECIPIENTS, ResponseMessage.Message.NO_EMAIL_RECIPIENTS),
636+
parameterMismatch(
637+
ResponseMessage.Key.PARAMETER_MISMATCH, ResponseMessage.Message.PARAMETER_MISMATCH),
636638
OK(200),
637639
CLIENT_ERROR(400),
638640
SERVER_ERROR(500),

Diff for: common-util/src/main/java/org/sunbird/common/responsecode/ResponseMessage.java

+2
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ interface Message {
351351
"Email notification is not sent as the number of recipients exceeded configured limit ({0}).";
352352
String NO_EMAIL_RECIPIENTS =
353353
"Email notification is not sent as the number of recipients is zero.";
354+
String PARAMETER_MISMATCH = "Mismatch of given parameters: {0}.";
354355
}
355356

356357
interface Key {
@@ -656,5 +657,6 @@ interface Key {
656657
String INVALID_DUPLICATE_VALUE = "INVALID_DUPLICATE_VALUE";
657658
String EMAIL_RECIPIENTS_EXCEEDS_MAX_LIMIT = "EMAIL_RECIPIENTS_EXCEEDS_MAX_LIMIT";
658659
String NO_EMAIL_RECIPIENTS = "NO_EMAIL_RECIPIENTS";
660+
String PARAMETER_MISMATCH = "PARAMETER_MISMATCH";
659661
}
660662
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package org.sunbird.models.systemsetting;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonInclude;
5+
import com.fasterxml.jackson.annotation.JsonInclude.Include;
6+
import java.io.Serializable;
7+
8+
@JsonIgnoreProperties(ignoreUnknown = true)
9+
@JsonInclude(Include.NON_NULL)
10+
public class SystemSetting implements Serializable {
11+
private static final long serialVersionUID = 1L;
12+
private String id;
13+
private String field;
14+
private String value;
15+
16+
public SystemSetting() {}
17+
18+
public SystemSetting(String id, String field, String value) {
19+
this.id = id;
20+
this.field = field;
21+
this.value = value;
22+
}
23+
24+
public String getId() {
25+
return this.id;
26+
}
27+
28+
public String getField() {
29+
return this.field;
30+
}
31+
32+
public String getValue() {
33+
return this.value;
34+
}
35+
36+
public void setId(String id) {
37+
this.id = id;
38+
}
39+
40+
public void setField(String field) {
41+
this.field = field;
42+
}
43+
44+
public void setValue(String value) {
45+
this.value = value;
46+
}
47+
}

Diff for: models/src/main/java/org/sunbird/models/user/User.java

+9
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,17 @@ public class User implements Serializable {
5656
private String channel;
5757
private String loginId;
5858
private String registryId;
59+
private String organisationId;
5960
private List<Map<String, String>> externalIds;
6061

62+
public String getOrganisationId() {
63+
return organisationId;
64+
}
65+
66+
public void setOrganisationId(String organisationId) {
67+
this.organisationId = organisationId;
68+
}
69+
6170
public String getRegistryId() {
6271
return registryId;
6372
}

0 commit comments

Comments
 (0)