Skip to content

Commit

Permalink
Merge pull request IQSS#4226 from IQSS/IQSS#4214-Dataverse-nav-alias-…
Browse files Browse the repository at this point in the history
…param

IQSS#4214 dataverse nav alias param
  • Loading branch information
kcondon authored Nov 7, 2017
2 parents 386f605 + bbfbf64 commit f343cb5
Show file tree
Hide file tree
Showing 18 changed files with 104 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -223,11 +223,11 @@ public String logout() {
redirectPage = URLDecoder.decode(redirectPage, "UTF-8");
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
redirectPage = "dataverse.xhtml&alias=" + dataverseService.findRootDataverse().getAlias();
redirectPage = redirectToRoot();
}

if (StringUtils.isEmpty(redirectPage)) {
redirectPage = "dataverse.xhtml&alias=" + dataverseService.findRootDataverse().getAlias();
redirectPage = redirectToRoot();
}

logger.log(Level.INFO, "Sending user to = " + redirectPage);
Expand All @@ -236,6 +236,10 @@ public String logout() {

private Boolean signupAllowed = null;

private String redirectToRoot(){
return "dataverse.xhtml?alias=" + dataverseService.findRootDataverse().getAlias();
}

public boolean isSignupAllowed() {
if (signupAllowed != null) {
return signupAllowed;
Expand Down
24 changes: 14 additions & 10 deletions src/main/java/edu/harvard/iq/dataverse/DataversePage.java
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ public String save() {
JsfHelper.addSuccessMessage(message);

editMode = null;
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();


} catch (CommandException ex) {
Expand Down Expand Up @@ -732,7 +732,7 @@ public String saveLinkedDataverse() {
String msg = "Only authenticated users can link a dataverse.";
logger.severe(msg);
JsfHelper.addErrorMessage(msg);
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
}

linkingDataverse = dataverseService.find(linkingDataverseId);
Expand All @@ -745,7 +745,7 @@ public String saveLinkedDataverse() {
String msg = "Unable to link " + dataverse.getDisplayName() + " to " + linkingDataverse.getDisplayName() + ". An internal error occurred.";
logger.log(Level.SEVERE, "{0} {1}", new Object[]{msg, ex});
JsfHelper.addErrorMessage(msg);
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
}

SavedSearch savedSearchOfChildren = createSavedSearchForChildren(savedSearchCreator);
Expand All @@ -758,20 +758,20 @@ public String saveLinkedDataverse() {
DataverseRequest dataverseRequest = new DataverseRequest(savedSearchCreator, SavedSearchServiceBean.getHttpServletRequest());
savedSearchService.makeLinksForSingleSavedSearch(dataverseRequest, savedSearchOfChildren, debug);
JsfHelper.addSuccessMessage(BundleUtil.getStringFromBundle("dataverse.linked.success", getSuccessMessageArguments()));
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
} catch (SearchException | CommandException ex) {
// error: solr is down, etc. can't link children right now
JsfHelper.addErrorMessage(BundleUtil.getStringFromBundle("dataverse.linked.internalerror", getSuccessMessageArguments()));
String msg = dataverse.getDisplayName() + " has been successfully linked to " + linkingDataverse.getDisplayName() + " but contents will not appear until an internal error has been fixed.";
logger.log(Level.SEVERE, "{0} {1}", new Object[]{msg, ex});
//JsfHelper.addErrorMessage(msg);
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
}
} else {
// defer: please wait for the next timer/cron job
//JsfHelper.addSuccessMessage(dataverse.getDisplayName() + " has been successfully linked to " + linkingDataverse.getDisplayName() + ". Please wait for its contents to appear.");
JsfHelper.addSuccessMessage(BundleUtil.getStringFromBundle("dataverse.linked.success.wait", getSuccessMessageArguments()));
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
}
}

Expand Down Expand Up @@ -819,7 +819,7 @@ public String saveSavedSearch() {
String msg = "Only authenticated users can save a search.";
logger.severe(msg);
JsfHelper.addErrorMessage(msg);
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
}

SavedSearch savedSearch = new SavedSearch(searchIncludeFragment.getQuery(), linkingDataverse, savedSearchCreator);
Expand All @@ -843,12 +843,12 @@ public String saveSavedSearch() {
arguments.add(linkString);
String successMessageString = BundleUtil.getStringFromBundle("dataverse.saved.search.success", arguments);
JsfHelper.addSuccessMessage(successMessageString);
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
} catch (CommandException ex) {
String msg = "There was a problem linking this search to yours: " + ex;
logger.severe(msg);
JsfHelper.addErrorMessage(BundleUtil.getStringFromBundle("dataverse.saved.search.failure") + " " + ex);
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();
}
}

Expand Down Expand Up @@ -876,7 +876,7 @@ public String releaseDataverse() {
} else {
JsfHelper.addErrorMessage(BundleUtil.getStringFromBundle("dataverse.publish.not.authorized"));
}
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
return returnRedirect();

}

Expand Down Expand Up @@ -1016,5 +1016,9 @@ public void validateAlias(FacesContext context, UIComponent toValidate, Object v
}
}
}

private String returnRedirect(){
return "/dataverse.xhtml?alias=" + dataverse.getAlias() + "&faces-redirect=true";
}

}
33 changes: 33 additions & 0 deletions src/main/java/edu/harvard/iq/dataverse/DataverseServiceBean.java
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,40 @@ public Map<Long, String> getAllHarvestedDataverseDescriptions(){
return ret;
}*/

public String getParentAliasString(SolrSearchResult solrSearchResult){
Long dvId = solrSearchResult.getEntityId();
String retVal = "";

if (dvId == null) {
return retVal;
}

String searchResult;
try {
System.out.print("select t0.ALIAS FROM DATAVERSE t0, DVOBJECT t1, DVOBJECT t2 WHERE (t0.ID = t1.ID) AND (t2.OWNER_ID = t1.ID) AND (t2.ID =" + dvId + ")");
searchResult = (String) em.createNativeQuery("select t0.ALIAS FROM DATAVERSE t0, DVOBJECT t1, DVOBJECT t2 WHERE (t0.ID = t1.ID) AND (t2.OWNER_ID = t1.ID) AND (t2.ID =" + dvId + ")").getSingleResult();

} catch (Exception ex) {
System.out.print("catching exception");
System.out.print("catching exception" + ex.getMessage());
return retVal;
}

if (searchResult == null) {
System.out.print("searchResult == null");
return retVal;
}

if (searchResult != null) {
System.out.print(searchResult);
return searchResult;
}

return retVal;
}


public void populateDvSearchCard(SolrSearchResult solrSearchResult) {

Long dvId = solrSearchResult.getEntityId();
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/edu/harvard/iq/dataverse/LoginPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -173,14 +173,14 @@ public String login() {
session.setUser(r);

if ("dataverse.xhtml".equals(redirectPage)) {
redirectPage = redirectPage + "&alias=" + dataverseService.findRootDataverse().getAlias();
redirectPage = redirectToRoot();
}

try {
redirectPage = URLDecoder.decode(redirectPage, "UTF-8");
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
redirectPage = "dataverse.xhtml&alias=" + dataverseService.findRootDataverse().getAlias();
redirectPage = redirectToRoot();
}

logger.log(Level.FINE, "Sending user to = {0}", redirectPage);
Expand Down Expand Up @@ -214,6 +214,10 @@ public String login() {
}

}

private String redirectToRoot(){
return "dataverse.xhtml?alias=" + dataverseService.findRootDataverse().getAlias();
}

public String getCredentialsAuthProviderId() {
return credentialsAuthProviderId;
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/edu/harvard/iq/dataverse/Shib.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
import edu.harvard.iq.dataverse.util.BundleUtil;
import edu.harvard.iq.dataverse.util.JsfHelper;
import edu.harvard.iq.dataverse.util.SystemConfig;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
Expand Down Expand Up @@ -441,9 +442,9 @@ public String getPrettyFacesHomePageString(boolean includeFacetDashRedirect) {
String rootDvAlias = getRootDataverseAlias();
if (includeFacetDashRedirect) {
if (rootDvAlias != null) {
return plainHomepageString + "?alias=" + rootDvAlias + "&faces-redirect=true";
return plainHomepageString + "?alias=" + rootDvAlias + "&faces-redirect=true";
} else {
return plainHomepageString + "?faces-redirect=true";
return plainHomepageString + "?faces-redirect=true";
}
} else if (rootDvAlias != null) {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ public void resetForm() {
}

public String cancel() {
return "dataverse?faces-redirect=true&alias="+editDv.getAlias(); // go to dataverse page
return "dataverse.xhtml?faces-redirect=true&alias="+editDv.getAlias(); // go to dataverse page
}


Expand All @@ -285,7 +285,7 @@ public String save() {
this.cleanupTempDirectory();
}
JsfHelper.addSuccessMessage(JH.localize("dataverse.theme.success"));
return "dataverse?faces-redirect=true&alias="+editDv.getAlias(); // go to dataverse page
return "dataverse.xhtml?faces-redirect=true&alias="+editDv.getAlias(); // go to dataverse page
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -340,14 +340,14 @@ public String save() {

// go back to where user came from
if ("dataverse.xhtml".equals(redirectPage)) {
redirectPage = redirectPage + "&alias=" + dataverseService.findRootDataverse().getAlias();
redirectPage = redirectPage + "?alias=" + dataverseService.findRootDataverse().getAlias();
}

try {
redirectPage = URLDecoder.decode(redirectPage, "UTF-8");
} catch (UnsupportedEncodingException ex) {
logger.log(Level.SEVERE, "Server does not support 'UTF-8' encoding.", ex);
redirectPage = "dataverse.xhtml&alias=" + dataverseService.findRootDataverse().getAlias();
redirectPage = "dataverse.xhtml?alias=" + dataverseService.findRootDataverse().getAlias();
}

logger.log(Level.FINE, "Sending user to = {0}", redirectPage);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
package edu.harvard.iq.dataverse.mydata;

import edu.harvard.iq.dataverse.DataverseRoleServiceBean;
import edu.harvard.iq.dataverse.DataverseServiceBean;
import edu.harvard.iq.dataverse.DataverseSession;
import edu.harvard.iq.dataverse.DvObjectServiceBean;
import edu.harvard.iq.dataverse.RoleAssigneeServiceBean;
Expand All @@ -22,6 +23,7 @@
import edu.harvard.iq.dataverse.search.SearchException;
import edu.harvard.iq.dataverse.search.SearchFields;
import edu.harvard.iq.dataverse.search.SortBy;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Random;
Expand Down Expand Up @@ -67,6 +69,8 @@ public class DataRetrieverAPI extends AbstractApiBean {
SearchServiceBean searchService;
@EJB
AuthenticationServiceBean authenticationService;
@EJB
DataverseServiceBean dataverseService;
//@EJB
//MyDataQueryHelperServiceBean myDataQueryHelperServiceBean;
@EJB
Expand Down Expand Up @@ -522,6 +526,12 @@ private JsonArrayBuilder formatSolrDocs(SolrQueryResponse solrResponse, RoleTagR
// -------------------------------------------
myDataCardInfo = doc.getJsonForMyData();

if (!doc.getEntity().isInstanceofDataFile()){
String parentAlias = dataverseService.getParentAliasString(doc);
System.out.print("parentAlias: " + parentAlias);
myDataCardInfo.add("parent_alias",parentAlias);
}

// -------------------------------------------
// (b) Add role info
// -------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import edu.harvard.iq.dataverse.util.BundleUtil;
import edu.harvard.iq.dataverse.util.SystemConfig;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ public SolrQueryResponse search(DataverseRequest dataverseRequest, Dataverse dat
*/
if (type.equals("dataverses")) {
solrSearchResult.setName(name);
solrSearchResult.setHtmlUrl(baseUrl + "/dataverse/" + identifier);
solrSearchResult.setHtmlUrl(baseUrl + SystemConfig.DATAVERSE_PATH + identifier);
// Do not set the ImageUrl, let the search include fragment fill in
// the thumbnail, similarly to how the dataset and datafile cards
// are handled.
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ public class SystemConfig {

@EJB
AuthenticationServiceBean authenticationService;

public static final String DATAVERSE_PATH = "/dataverse/";

/**
* A JVM option for the advertised fully qualified domain name (hostname) of
Expand Down
6 changes: 3 additions & 3 deletions src/main/webapp/dataset.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -1343,7 +1343,7 @@
<span class="glyphicon glyphicon-warning-sign"/>
<h:outputFormat value="#{bundle['dataset.mayNotPublish.both']}" escape="false">
<o:param>
<a href="/dataverse.xhtml?alias=#{DatasetPage.dataset.owner.alias}" title="#{DatasetPage.dataset.owner.displayName}">
<a href="/dataverse/#{DatasetPage.dataset.owner.alias}" title="#{DatasetPage.dataset.owner.displayName}">
<h:outputText value="#{DatasetPage.dataset.owner.displayName}"/>
</a>
</o:param>
Expand Down Expand Up @@ -1413,12 +1413,12 @@
<span class="glyphicon glyphicon-exclamation-sign"/>
<h:outputFormat value="#{bundle['dataset.mayNotPublish.twoGenerations']}" escape="false">
<o:param>
<a href="/dataverse.xhtml?alias=#{DatasetPage.dataset.owner.alias}" title="#{DatasetPage.dataset.owner.displayName}">
<a href="/dataverse/#{DatasetPage.dataset.owner.alias}" title="#{DatasetPage.dataset.owner.displayName}">
<h:outputText value="#{DatasetPage.dataset.owner.displayName}"/>
</a>
</o:param>
<o:param>
<a href="/dataverse.xhtml?alias=#{DatasetPage.dataset.owner.owner.alias}" title="#{DatasetPage.dataset.owner.owner.displayName}">
<a href="/dataverse/#{DatasetPage.dataset.owner.owner.alias}" title="#{DatasetPage.dataset.owner.owner.displayName}">
<h:outputText value="#{DatasetPage.dataset.owner.owner.displayName}"/>
</a>
</o:param>
Expand Down
4 changes: 2 additions & 2 deletions src/main/webapp/dataverse.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@
<p:dialog id="shareDialog" header="#{bundle['dataverse.share.dataverseShare']}" widgetVar="shareDialog" modal="true">
<p class="help-block"><span class="glyphicon glyphicon-info-sign"/> #{bundle['dataverse.share.dataverseShare.tip']}</p>

<div id="sharrre-widget" data-url="#{systemConfig.dataverseSiteUrl}/dataverse.xhtml?alias=#{DataversePage.dataverse.alias}" data-text="#{bundle['dataverse.share.dataverseShare.shareText']}"></div>
<div id="sharrre-widget" data-url="#{systemConfig.dataverseSiteUrl}/dataverse/#{DataversePage.dataverse.alias}" data-text="#{bundle['dataverse.share.dataverseShare.shareText']}"></div>

<div class="button-block">
<button type="button" onclick="PF('shareDialog').hide()" class="btn btn-default" value="#{bundle.close}">
Expand Down Expand Up @@ -530,7 +530,7 @@
<ui:repeat value="#{DataversePage.carouselFeaturedDataverses}" var="dv" varStatus="status">
<div class="item">
<div style="vertical-align:middle;">
<c:set var="dvFeatUrl" value="/dataverse.xhtml?alias=#{dv.alias}"/>
<c:set var="dvFeatUrl" value="/dataverse/#{dv.alias}"/>
<ui:fragment rendered="#{empty dv.dataverseTheme.logo}">
<a href="#{widgetWrapper.wrapURL(dvFeatUrl)}" title="#{dv.name}">
<i class="icon-dataverse"></i>
Expand Down
Loading

0 comments on commit f343cb5

Please sign in to comment.