/** Handle the configure context's update button */ public void doSave(RunData data, Context context) { // TODO: if we do limit the initState() calls, we need to make sure we get a new one after this // call -ggolden String peid = ((JetspeedRunData) data).getJs_peid(); SessionState state = ((JetspeedRunData) data).getPortletSessionState(peid); ParameterParser params = data.getParameters(); String parentId = params.getString("parentSite"); if (!SiteService.allowUpdateSite(parentId)) { addAlert(state, rb.getString("error.cannot.update")); return; } try { Site site; site = SiteService.getSite(getSiteId(state)); ResourcePropertiesEdit rpe = site.getPropertiesEdit(); rpe.addProperty("sakai:parent-id", parentId); SiteService.save(site); SessionManager.getCurrentToolSession().setAttribute(LINK_MODE, MODE_DONE); scheduleTopRefresh(); } catch (Exception e) { addAlert(state, rb.getString("error.cannot.update")); } }