diff options
Diffstat (limited to 'src/com/p4square/grow/backend/resources')
| -rw-r--r-- | src/com/p4square/grow/backend/resources/SurveyResultsResource.java | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/src/com/p4square/grow/backend/resources/SurveyResultsResource.java b/src/com/p4square/grow/backend/resources/SurveyResultsResource.java index e87126d..eea0fb1 100644 --- a/src/com/p4square/grow/backend/resources/SurveyResultsResource.java +++ b/src/com/p4square/grow/backend/resources/SurveyResultsResource.java @@ -117,6 +117,7 @@ public class SurveyResultsResource extends ServerResource {              default:                  setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED); +                return null;          }          if (success) { @@ -130,6 +131,52 @@ public class SurveyResultsResource extends ServerResource {      }      /** +     * Clear assessment results. +     */ +    @Override +    protected Representation delete() { +        boolean success = false; + +        switch (mRequestType) { +            case ANSWER: +                try { +                    mDb.deleteKey("assessments", mUserId, mQuestionId); +                    mDb.deleteKey("assessments", mUserId, "summary"); +                    success = true; + +                } catch (Exception e) { +                    LOG.warn("Caught exception putting answer: " + e.getMessage(), e); +                } +                break; + +            case ASSESSMENT: +                try { +                    mDb.deleteRow("assessments", mUserId); +                    mDb.deleteKey("accounts", mUserId, "value"); // TODO: IMPORTANT! This needs to be narrower. +                    success = true; + +                } catch (Exception e) { +                    LOG.warn("Caught exception putting answer: " + e.getMessage(), e); +                } +                break; + +            default: +                setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED); +                return null; +        } + +        if (success) { +            setStatus(Status.SUCCESS_NO_CONTENT); + +        } else { +            setStatus(Status.SERVER_ERROR_INTERNAL); +        } + +        return null; + +    } + +    /**       * This method compiles assessment results.       */      private String buildAssessment() { | 
