diff --git a/src/main/java/org/wise/vle/domain/webservice/crater/AbstractCRaterRequest.java b/src/main/java/org/wise/vle/domain/webservice/crater/AbstractCRaterRequest.java new file mode 100644 index 000000000..782d50c4a --- /dev/null +++ b/src/main/java/org/wise/vle/domain/webservice/crater/AbstractCRaterRequest.java @@ -0,0 +1,27 @@ +package org.wise.vle.domain.webservice.crater; + +import org.json.JSONException; +import org.json.JSONObject; + +import lombok.Getter; +import lombok.Setter; + +@Setter +public abstract class AbstractCRaterRequest implements CRaterRequest { + String itemId; + String cRaterClientId; + + @Getter + String cRaterUrl; + + public String generateBodyData() throws JSONException { + JSONObject body = new JSONObject(); + body.put("client_id", cRaterClientId); + body.put("item_id", itemId); + return body.toString(); + } + + public boolean forBerkeleyEndpoint() { + return itemId.length() > 9 && itemId.substring(0, 9).equals("berkeley_"); + } +} diff --git a/src/main/java/org/wise/vle/domain/webservice/crater/CRaterScoringRequest.java b/src/main/java/org/wise/vle/domain/webservice/crater/CRaterScoringRequest.java index 6de02ef02..833ca9402 100644 --- a/src/main/java/org/wise/vle/domain/webservice/crater/CRaterScoringRequest.java +++ b/src/main/java/org/wise/vle/domain/webservice/crater/CRaterScoringRequest.java @@ -5,24 +5,16 @@ import org.json.JSONObject; import org.wise.portal.presentation.util.http.Base64; -import lombok.Getter; import lombok.Setter; @Setter -public class CRaterScoringRequest implements CRaterRequest { - String itemId; +public class CRaterScoringRequest extends AbstractCRaterRequest { String responseId; String responseText; - String cRaterClientId; - - @Getter - String cRaterUrl; public String generateBodyData() throws JSONException { - JSONObject body = new JSONObject(); - body.put("client_id", cRaterClientId); + JSONObject body = new JSONObject(super.generateBodyData()); body.put("service", "ScoringService"); - body.put("item_id", itemId); JSONArray responses = new JSONArray(); JSONObject response = new JSONObject(); response.put("response_id", responseId); @@ -31,9 +23,4 @@ public String generateBodyData() throws JSONException { body.put("responses", responses); return body.toString(); } - - // Duplicate method implementation would be abstracted in issue 285 - public boolean forBerkeleyEndpoint() { - return itemId.substring(0, 9).equals("berkeley_"); - } } diff --git a/src/main/java/org/wise/vle/domain/webservice/crater/CRaterVerificationRequest.java b/src/main/java/org/wise/vle/domain/webservice/crater/CRaterVerificationRequest.java index f3dcaf14b..05a3eec42 100644 --- a/src/main/java/org/wise/vle/domain/webservice/crater/CRaterVerificationRequest.java +++ b/src/main/java/org/wise/vle/domain/webservice/crater/CRaterVerificationRequest.java @@ -3,27 +3,10 @@ import org.json.JSONException; import org.json.JSONObject; -import lombok.Getter; -import lombok.Setter; - -@Setter -public class CRaterVerificationRequest implements CRaterRequest { - String itemId; - String cRaterClientId; - - @Getter - String cRaterUrl; - - public String generateBodyData() throws JSONException { - JSONObject body = new JSONObject(); - body.put("client_id", cRaterClientId); - body.put("service", "VerificationService"); - body.put("item_id", itemId); - return body.toString(); - } - - // Duplicate method implementation would be abstracted in issue 285 - public boolean forBerkeleyEndpoint() { - return itemId.substring(0, 9).equals("berkeley_"); - } +public class CRaterVerificationRequest extends AbstractCRaterRequest { + public String generateBodyData() throws JSONException { + JSONObject body = new JSONObject(super.generateBodyData()); + body.put("service", "VerificationService"); + return body.toString(); + } }