private String addVariable(GameModel gm, String json, String varName, String parentName) { ObjectMapper mapper = JacksonMapperProvider.getMapper(); logger.error("Going to add " + parentName + "/" + varName + " variable"); try { // Does the variable already exists ? descriptorFacade.find(gm, varName); logger.error(" -> variable " + varName + " exists : SKIP"); return "already exists"; } catch (WegasNoResultException ex) { logger.error(" -> variable " + varName + " not found : PROCEED"); } try { // assert the parent already exists ? descriptorFacade.find(gm, parentName); logger.error(" -> variable " + parentName + " exists : PROCEED"); } catch (WegasNoResultException ex) { logger.error(" -> variable " + parentName + " not found : FAILED"); return "parent not found"; } try { VariableDescriptor vd = mapper.readValue(json, VariableDescriptor.class); descriptorController.createChild(gm.getId(), parentName, vd); descriptorFacade.flush(); return "OK"; } catch (WegasNotFoundException ex) { logger.error("Error white adding the variable : parent " + parentName + " not found", ex); return "Parent (2) not found"; } catch (IOException ex) { logger.error("Error While Reading JSON: " + json, ex); return "JSON Error"; } }
@GET @Path("PMG_UPGRADE") public String pmg_upgrade() { List<GameModel> PMGs = this.findPMGs(false); StringBuilder ret = new StringBuilder(); String status; ret.append("<ul>"); for (GameModel pmg : PMGs) { ret.append("<li>"); ret.append(pmg.getName()); ret.append("/"); ret.append(pmg.getId()); status = addVariable( pmg, "{\"@class\":\"BooleanDescriptor\",\"comments\":\"\",\"defaultInstance\":{\"@class\":\"BooleanInstance\",\"value\":false},\"label\":\"burndownEnabled\",\"scope\":{\"@class\":\"GameScope\",\"broadcastScope\":\"TeamScope\"},\"title\":null,\"name\":\"burndownEnabled\"}", "burndownEnabled", "properties"); ret.append(" burndownEnabled: "); ret.append(status); ret.append("</li>"); ret.append("<li>"); ret.append(pmg.getName()); ret.append("/"); ret.append(pmg.getId()); status = addVariable( pmg, "{\"@class\":\"BurndownDescriptor\",\"comments\":\"\",\"defaultInstance\":{\"@class\":\"BurndownInstance\",\"iterations\":[]},\"label\":\"burndown\",\"scope\":{\"@class\":\"TeamScope\",\"broadcastScope\":\"TeamScope\"},\"title\":\"\",\"name\":\"burndown\",\"description\":\"\"}", "burndown", "pageUtilities"); ret.append(" burndown: "); ret.append(status); ret.append("</li>"); } ret.append("</ul>"); return ret.toString(); }