Changeset 4978
- Timestamp:
- 04/15/14 09:14:17 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/config/VloSpringConfig.java
r4932 r4978 29 29 import eu.clarin.cmdi.vlo.service.ResourceStringConverter; 30 30 import eu.clarin.cmdi.vlo.service.ResourceTypeCountingService; 31 import eu.clarin.cmdi.vlo.service.UriResolver; 31 32 import eu.clarin.cmdi.vlo.service.XmlTransformationService; 33 import eu.clarin.cmdi.vlo.service.impl.HandleResolver; 32 34 import eu.clarin.cmdi.vlo.service.solr.SearchResultsDao; 33 35 import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService; … … 127 129 } 128 130 129 @Bean 131 @Bean(name = "resourceStringConverter") 130 132 public ResourceStringConverter resourceStringConverter() { 131 133 return new ResourceStringConverterImpl(); 134 } 135 136 @Bean(name = "resolvingResourceStringConverter") 137 public ResourceStringConverter resolvingResourceStringConverter() { 138 return new ResourceStringConverterImpl(handleResolver()); 139 } 140 141 @Bean 142 public UriResolver handleResolver() { 143 return new HandleResolver(); 132 144 } 133 145 … … 159 171 vloConfig().getTechnicalFields())); 160 172 } 161 162 @Bean(name ="searchResultPropertiesFilter")173 174 @Bean(name = "searchResultPropertiesFilter") 163 175 public FieldFilter searchResultPropertiesFilter() { 164 176 return new InclusiveFieldFilter(vloConfig().getSearchResultFields()); -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/ResourceStringConverterImpl.java
r4943 r4978 19 19 import eu.clarin.cmdi.vlo.CommonUtils; 20 20 import eu.clarin.cmdi.vlo.FacetConstants; 21 import static eu.clarin.cmdi.vlo.FacetConstants.HANDLE_PREFIX; 21 22 import eu.clarin.cmdi.vlo.pojo.ResourceInfo; 22 23 import eu.clarin.cmdi.vlo.pojo.ResourceType; 23 24 import eu.clarin.cmdi.vlo.service.ResourceStringConverter; 25 import eu.clarin.cmdi.vlo.service.UriResolver; 24 26 import java.net.URI; 25 27 import java.net.URISyntaxException; … … 34 36 35 37 private final static String SPLIT_PATTERN = Pattern.quote(FacetConstants.FIELD_RESOURCE_SPLIT_CHAR); 38 private final UriResolver resolver; 39 40 /** 41 * creates a converter that does not attempt to resolve 42 */ 43 public ResourceStringConverterImpl() { 44 this(null); 45 } 46 47 /** 48 * 49 * @param resolver resolver to apply to resource URI to get final href 50 */ 51 public ResourceStringConverterImpl(UriResolver resolver) { 52 this.resolver = resolver; 53 } 36 54 37 55 @Override … … 40 58 final String[] tokens = resourceString.split(SPLIT_PATTERN, 2); 41 59 final String mimeType = tokens[0]; 42 final String href = tokens[1]; 60 final String href; 61 if (resolver == null) { 62 href = tokens[1]; 63 } else { 64 href = resolver.resolve(tokens[1]); 65 } 43 66 44 67 final String fileName = getFileName(href); … … 55 78 final String path = uri.getPath(); 56 79 // in case of path information or handle, return original href 57 if (path == null || path.isEmpty() || (scheme != null && scheme.equals( "hdl"))) {80 if (path == null || path.isEmpty() || (scheme != null && scheme.equals(HANDLE_PREFIX))) { 58 81 return href; 59 82 } else { -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/ResourceLinksPanel.java
r4904 r4978 42 42 public class ResourceLinksPanel extends Panel { 43 43 44 @SpringBean 44 @SpringBean(name = "resourceStringConverter") 45 45 private ResourceStringConverter resourceStringConverter; 46 46 … … 74 74 final IModel<String> linkModel = new HandleLinkModel(new PropertyModel(resourceInfoModel, "href")); 75 75 final ExternalLink link = new ExternalLink("showResource", linkModel); 76 76 77 77 // set the file name as the link's text content 78 78 link.add(new Label("filename", new PropertyModel(resourceInfoModel, "fileName"))); -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchResultItemExpandedPanel.java
r4884 r4978 32 32 import org.apache.solr.common.SolrDocument; 33 33 import org.apache.wicket.Component; 34 import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; 35 import org.apache.wicket.ajax.AjaxRequestTarget; 34 36 import org.apache.wicket.behavior.AttributeAppender; 35 37 import org.apache.wicket.markup.html.WebMarkupContainer; … … 43 45 import org.apache.wicket.model.StringResourceModel; 44 46 import org.apache.wicket.spring.injection.annot.SpringBean; 47 import org.apache.wicket.util.time.Duration; 45 48 46 49 /** … … 50 53 public class SearchResultItemExpandedPanel extends GenericPanel<SolrDocument> { 51 54 52 @SpringBean(name = "searchResultPropertiesFilter") 55 @SpringBean(name = "searchResultPropertiesFilter") 53 56 private FieldFilter propertiesFilter; 54 @SpringBean 57 @SpringBean(name = "resourceStringConverter") 55 58 ResourceStringConverter resourceStringConverter; 59 @SpringBean(name = "resolvingResourceStringConverter") 60 ResourceStringConverter resolvingResourceStringConverter; 56 61 57 62 public SearchResultItemExpandedPanel(String id, IModel<SolrDocument> documentModel, IModel<SearchContext> selectionModel) { … … 89 94 90 95 @Override 91 protected void populateItem( ListItem<String> item) {96 protected void populateItem(final ListItem<String> item) { 92 97 // get resource string converted into a ResourceInfo model 93 98 final ResourceInfoModel resourceInfoModel = new ResourceInfoModel(resourceStringConverter, item.getModel()); … … 96 101 final ExternalLink resourceLink = new ExternalLink("resourceLink", new PropertyModel(resourceInfoModel, "href")); 97 102 resourceLink.add(new Label("resourceName", new PropertyModel(resourceInfoModel, "fileName"))); 103 resourceLink.setOutputMarkupId(true); 104 105 // once loaded, make Ajax request to resolve handles and update 106 // resource link 107 resourceLink.add(new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) { 108 109 @Override 110 protected void onTimer(AjaxRequestTarget target) { 111 this.stop(target); 112 resourceInfoModel.setObject( 113 resolvingResourceStringConverter.getResourceInfo(item.getModelObject())); 114 target.add(resourceLink); 115 } 116 117 }); 98 118 99 119 // add a tooltip showing resource type and mime type
Note: See TracChangeset
for help on using the changeset viewer.