/* private DefaultMutableTreeNode newTreeNode(VDC vdc) { String id = "vdc_" + vdc.getId().toString(); String styleClass = "vdcTreeDataverse"; String url = null; if (vdcUrl != null) { url = "/dv/" + vdc.getAlias() + vdcUrl; } ImageComponent image = new ImageComponent(); if (vdc.isRestricted()) { image.setUrl("/resources/images/icon_lock.gif"); image.setAlt("Restricted Dataverse"); } else { image.setUrl("/resources/images/icon_dataverse.gif"); image.setAlt("Dataverse"); } return newTreeNode(id, vdc.getName(), url, image, styleClass); } */ private DefaultMutableTreeNode newTreeNode(VDCCollection coll, VDC vdc) { String url = null; if (collectionUrl != null) { url = appendParameterToUrl( "/dvn/dv/" + vdc.getAlias() + collectionUrl, "collectionId=" + coll.getId()); } return newTreeNode(coll.getName(), url, true); }
private DefaultMutableTreeNode newTreeNode(Study study, VDC vdc) { String url = null; if (studyUrl != null) { url = appendParameterToUrl("/dvn/dv/" + vdc.getAlias() + studyUrl, "studyId=" + study.getId()); } StudyUI studyUI = new StudyUI(study); String studyText = studyUI.getMetadata().getTitle(); if (!StringUtil.isEmpty(studyUI.getAuthors())) { studyText += " by " + studyUI.getAuthors(); } return newTreeNode(studyText, url, false); }
/** * @param request The servlet request we are processing * @param result The servlet response we are creating * @param chain The filter chain we are processing * @exception IOException if an input/output error occurs * @exception ServletException if a servlet error occurs */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; String requestPath = httpRequest.getPathInfo(); VDC currentVDC = vdcService.getVDCFromRequest(httpRequest); if (requestPath != null && requestPath.endsWith(".jsp")) { String redirectURL = httpRequest.getContextPath(); if (currentVDC != null) { redirectURL += "/dv/" + currentVDC.getAlias(); } httpResponse.sendRedirect(redirectURL + "/faces/NotFoundPage.xhtml"); return; } PageDef pageDef = pageDefService.findByPath(requestPath); // check for invalid study Id or study versionNumber // for right now, do this with a sendRedirect, though we should try to figure out a solution // with a forward isntead; that way the user can fix the issue in the URL and easily try again if (isViewStudyPage(pageDef) || isEditStudyPage(pageDef) || isVersionDiffPage(pageDef)) { Long studyId = determineStudyId(pageDef, httpRequest); if (isVersionDiffPage(pageDef)) { Long[] versionDiffNumbers = VDCRequestBean.parseVersionNumberList(httpRequest); if (versionDiffNumbers == null || studyId == null) { String redirectURL = httpRequest.getContextPath(); if (currentVDC != null) { redirectURL += "/dv/" + currentVDC.getAlias(); } httpResponse.sendRedirect(redirectURL + "/faces/NotFoundPage.xhtml"); return; } else { try { // Get the studyVersions to test that the versionNumbers exist for this study. // If they don't exist, an EJBException will be thrown. StudyVersion sv1 = studyService.getStudyVersion(studyId, versionDiffNumbers[0]); StudyVersion sv2 = studyService.getStudyVersion(studyId, versionDiffNumbers[1]); } catch (EJBException e) { if (e.getCause() instanceof IllegalArgumentException) { String redirectURL = httpRequest.getContextPath(); if (currentVDC != null) { redirectURL += "/dv/" + currentVDC.getAlias(); } httpResponse.sendRedirect(redirectURL + "/faces/IdDoesNotExistPage.xhtml"); return; } else { throw e; } } } } else if (studyId != null) { try { String versionNumberParam = httpRequest.getParameter("versionNumber"); if (versionNumberParam != null) { Long versionNumber = new Long(versionNumberParam); StudyVersion sv = studyService.getStudyVersion(studyId, versionNumber); } else { // Get the study to make sure that the studyId exists. // If it doesn't exist, and EJBException will be thrown. Study study = studyService.getStudy(studyId); } } catch (EJBException e) { if (e.getCause() instanceof IllegalArgumentException) { String redirectURL = httpRequest.getContextPath(); if (currentVDC != null) { redirectURL += "/dv/" + currentVDC.getAlias(); } httpResponse.sendRedirect(redirectURL + "/faces/IdDoesNotExistPage.xhtml"); return; } else { throw e; } } catch (NumberFormatException e) { String redirectURL = httpRequest.getContextPath(); if (currentVDC != null) { redirectURL += "/dv/" + currentVDC.getAlias(); } httpResponse.sendRedirect(redirectURL + "/faces/NotFoundPage.xhtml"); return; } } } setOriginalUrl(httpRequest, httpResponse, currentVDC); LoginBean loginBean = getLoginBean(request); UserGroup ipUserGroup = null; if (loginBean == null) { ipUserGroup = getIpGroup(httpRequest); } else { HttpSession session = ((HttpServletRequest) request).getSession(false); } String loginURI = (String) httpRequest.getSession().getAttribute("LOGIN_REDIRECT"); if (loginURI != null) { httpRequest.getSession().removeAttribute("LOGIN_REDIRECT"); httpResponse.sendRedirect(loginURI); } else { boolean authorized = false; if (isRolePage(pageDef, httpRequest)) { if (isUserAuthorizedForRolePage(pageDef, httpRequest, loginBean)) { authorized = true; } } else if (isUserAuthorizedForNonRolePage(pageDef, httpRequest, loginBean, ipUserGroup)) { authorized = true; } if (!authorized) { if (loginBean == null) { redirectToLogin(httpRequest, httpResponse, currentVDC); } else { PageDef redirectPageDef = pageDefService.findByName(PageDefServiceLocal.UNAUTHORIZED_PAGE); httpResponse.sendRedirect( httpRequest.getContextPath() + "/faces" + redirectPageDef.getPath()); } } else { if (isCheckLockPage(pageDef) && studyLockedMessage(pageDef, httpRequest) != null) { PageDef redirectPageDef = pageDefService.findByName(PageDefServiceLocal.STUDYLOCKED_PAGE); httpResponse.sendRedirect( httpRequest.getContextPath() + "/faces" + redirectPageDef.getPath() + "?message=" + studyLockedMessage(pageDef, httpRequest)); } else { try { chain.doFilter(request, response); } catch (Throwable t) { // // If an exception is thrown somewhere down the filter chain, // we still want to execute our after processing, and then // rethrow the problem after that. // t.printStackTrace(); } } } } }
public String createScholarDataverse() { String dataversetype = dataverseType; String name = (String) dataverseName.getValue(); String alias = (String) dataverseAlias.getValue(); String strAffiliation = (String) affiliation.getValue(); String strShortDescription = (String) shortDescription.getValue(); Long userId = getVDCSessionBean().getLoginBean().getUser().getId(); if (validateClassificationCheckBoxes()) { vdcService.createScholarDataverse( userId, firstName, lastName, name, strAffiliation, alias, dataversetype); VDC createdScholarDataverse = vdcService.findScholarDataverseByAlias(alias); saveClassifications(createdScholarDataverse); // add default values to the VDC table and commit/set the vdc bean props createdScholarDataverse.setDisplayNetworkAnnouncements( getVDCRequestBean().getCurrentVdcNetwork().isDisplayAnnouncements()); createdScholarDataverse.setDisplayAnnouncements( getVDCRequestBean().getCurrentVdcNetwork().isDisplayVDCAnnouncements()); // on create if description is blank uncheck display flag if (strShortDescription.isEmpty()) { createdScholarDataverse.setDisplayAnnouncements(false); } createdScholarDataverse.setAnnouncements( getVDCRequestBean().getCurrentVdcNetwork().getDefaultVDCAnnouncements()); createdScholarDataverse.setDisplayNewStudies( getVDCRequestBean().getCurrentVdcNetwork().isDisplayVDCRecentStudies()); createdScholarDataverse.setAboutThisDataverse( getVDCRequestBean().getCurrentVdcNetwork().getDefaultVDCAboutText()); createdScholarDataverse.setContactEmail( getVDCSessionBean().getLoginBean().getUser().getEmail()); createdScholarDataverse.setDvnDescription(strShortDescription); createdScholarDataverse.setAnnouncements( strShortDescription); // also set default dv home page description from the the DVN home // page short description VDCNetwork vdcNetwork; if (selectSubNetworkId != null && selectSubNetworkId > 0) { vdcNetwork = vdcNetworkService.findById(selectSubNetworkId); createdScholarDataverse.setVdcNetwork(vdcNetwork); } else { vdcNetwork = vdcNetworkService.findRootNetwork(); createdScholarDataverse.setVdcNetwork(vdcNetwork); } // Set default template to subnet's default template Template template = vdcNetwork.getDefaultTemplate(); createdScholarDataverse.setDefaultTemplate(template); vdcService.edit(createdScholarDataverse); String hostUrl = PropertyUtil.getHostUrl(); VDCUser creator = userService.findByUserName(getVDCSessionBean().getLoginBean().getUser().getUserName()); String toMailAddress = getVDCSessionBean().getLoginBean().getUser().getEmail(); String siteAddress = hostUrl + "/dvn/dv/" + createdScholarDataverse.getAlias(); mailService.sendAddSiteNotification(toMailAddress, name, siteAddress); // Refresh User object in LoginBean so it contains the user's new role of VDC administrator. getVDCSessionBean().getLoginBean().setUser(creator); getVDCRenderBean().getFlash().put("successMessage", "Your new dataverse has been created!"); return "/site/AddSiteSuccessPage?faces-redirect=true&vdcId=" + createdScholarDataverse.getId(); } else { return null; } }