(Scott Phillips) SF#1913521 Scoped searching (like scoped browsing)

git-svn-id: http://scm.dspace.org/svn/repo/branches/dspace-1_5_x@2833 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
Scott Phillips
2008-03-13 18:01:54 +00:00
parent f536bcbe3b
commit 604cd20193
3 changed files with 16 additions and 9 deletions

View File

@@ -50,6 +50,7 @@ import org.apache.cocoon.caching.CacheableProcessingComponent;
import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request; import org.apache.cocoon.environment.Request;
import org.apache.oro.text.perl.Perl5Util; import org.apache.oro.text.perl.Perl5Util;
import org.dspace.app.xmlui.utils.HandleUtil;
import org.dspace.app.xmlui.utils.UIException; import org.dspace.app.xmlui.utils.UIException;
import org.dspace.app.xmlui.wing.Message; import org.dspace.app.xmlui.wing.Message;
import org.dspace.app.xmlui.wing.WingException; import org.dspace.app.xmlui.wing.WingException;
@@ -63,6 +64,9 @@ import org.dspace.app.xmlui.wing.element.Select;
import org.dspace.app.xmlui.wing.element.Table; import org.dspace.app.xmlui.wing.element.Table;
import org.dspace.app.xmlui.wing.element.Text; import org.dspace.app.xmlui.wing.element.Text;
import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Community;
import org.dspace.content.DSpaceObject;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;
/** /**
@@ -133,10 +137,17 @@ public class AdvancedSearch extends AbstractSearch implements CacheableProcessin
/** /**
* Add Page metadata. * Add Page metadata.
*/ */
public void addPageMeta(PageMeta pageMeta) throws WingException public void addPageMeta(PageMeta pageMeta) throws WingException, SQLException
{ {
pageMeta.addMetadata("title").addContent(T_title); pageMeta.addMetadata("title").addContent(T_title);
pageMeta.addTrailLink(contextPath + "/", T_dspace_home); pageMeta.addTrailLink(contextPath + "/", T_dspace_home);
DSpaceObject dso = HandleUtil.obtainHandle(objectModel);
if ((dso instanceof Collection) || (dso instanceof Community))
{
HandleUtil.buildHandleTrail(dso,pageMeta,contextPath);
}
pageMeta.addTrail().addContent(T_trail); pageMeta.addTrail().addContent(T_trail);
} }
@@ -155,7 +166,7 @@ public class AdvancedSearch extends AbstractSearch implements CacheableProcessin
Division search = body.addDivision("advanced-search","primary"); Division search = body.addDivision("advanced-search","primary");
search.setHead(T_head); search.setHead(T_head);
Division query = search.addInteractiveDivision("search-query", Division query = search.addInteractiveDivision("search-query",
contextPath+"/advanced-search",Division.METHOD_POST,"secondary search"); "advanced-search",Division.METHOD_POST,"secondary search");
// Use these fields to change the number of search fields, or change the results per page. // Use these fields to change the number of search fields, or change the results per page.
query.addHidden("num_search_field").setValue(numSearchField); query.addHidden("num_search_field").setValue(numSearchField);

View File

@@ -270,7 +270,8 @@ public class CollectionViewer extends AbstractDSpaceTransformer implements Cache
para.addText("query"); para.addText("query");
para.addContent(" "); para.addContent(" ");
para.addButton("submit").setValue(T_go); para.addButton("submit").setValue(T_go);
query.addPara().addXref(contextPath + "/handle/" + collection.getHandle()+ "/advanced-search", T_advanced_search_link);
// Browse by list // Browse by list
Division browseDiv = search.addDivision("collection-browse","secondary browse"); Division browseDiv = search.addDivision("collection-browse","secondary browse");
List browse = browseDiv.addList("collection-browse", List.TYPE_SIMPLE, List browse = browseDiv.addList("collection-browse", List.TYPE_SIMPLE,
@@ -280,9 +281,6 @@ public class CollectionViewer extends AbstractDSpaceTransformer implements Cache
browse.addItemXref(url + "/browse?type=title",T_browse_titles); browse.addItemXref(url + "/browse?type=title",T_browse_titles);
browse.addItemXref(url + "/browse?type=author",T_browse_authors); browse.addItemXref(url + "/browse?type=author",T_browse_authors);
browse.addItemXref(url + "/browse?type=dateissued",T_browse_dates); browse.addItemXref(url + "/browse?type=dateissued",T_browse_dates);
Division advancedSearchLink = search.addDivision("collection-advanced-search", "secondary advanced-search");
advancedSearchLink.addPara().addXref(contextPath + "/advanced-search", T_advanced_search_link);
} }
// Add the reference // Add the reference

View File

@@ -291,6 +291,7 @@ public class CommunityViewer extends AbstractDSpaceTransformer implements Cachea
para.addText("query"); para.addText("query");
para.addContent(" "); para.addContent(" ");
para.addButton("submit").setValue(T_go); para.addButton("submit").setValue(T_go);
query.addPara().addXref(contextPath + "/handle/" + community.getHandle() + "/advanced-search", T_advanced_search_link);
// Browse by list // Browse by list
Division browseDiv = search.addDivision("community-browse","secondary browse"); Division browseDiv = search.addDivision("community-browse","secondary browse");
@@ -301,9 +302,6 @@ public class CommunityViewer extends AbstractDSpaceTransformer implements Cachea
browse.addItemXref(url + "/browse?type=title",T_browse_titles); browse.addItemXref(url + "/browse?type=title",T_browse_titles);
browse.addItemXref(url + "/browse?type=author",T_browse_authors); browse.addItemXref(url + "/browse?type=author",T_browse_authors);
browse.addItemXref(url + "/browse?type=dateissued",T_browse_dates); browse.addItemXref(url + "/browse?type=dateissued",T_browse_dates);
Division advancedSearchLink = search.addDivision("community-advanced-search", "secondary advanced-search");
advancedSearchLink.addPara().addXref(contextPath + "/advanced-search", T_advanced_search_link);
} }
// Add main reference: // Add main reference: