Changeset 4981
- Timestamp:
- 04/15/14 12:40:40 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/HandleClientImpl.java
r4980 r4981 18 18 19 19 import com.sun.jersey.api.client.Client; 20 import com.sun.jersey.api.client.ClientHandlerException; 20 21 import com.sun.jersey.api.client.ClientResponse; 22 import com.sun.jersey.api.client.UniformInterfaceException; 21 23 import com.sun.jersey.api.client.WebResource; 22 24 import eu.clarin.cmdi.vlo.service.HandleClient; … … 30 32 /** 31 33 * Service that connects to the handle.net REST API and retrieves the URL for a 32 * given handle 34 * given handle. 35 * 36 * Consider re-implementing using the handle API 33 37 * 34 38 * @author twagoo … … 70 74 final Client client = Client.create(); 71 75 final WebResource resource = client.resource(requestUrl); 72 final ClientResponse response = resource.accept(MediaType.APPLICATION_JSON_TYPE).get(ClientResponse.class);73 76 74 if (response.getClientResponseStatus() != ClientResponse.Status.OK) { 75 logger.error("Unexpected response status {} for {}", response.getClientResponseStatus(), requestUrl); 76 return null; 77 } else { 78 final String responseString = response.getEntity(String.class); 79 try { 77 try { 78 final ClientResponse response = resource 79 .accept(MediaType.APPLICATION_JSON_TYPE) 80 .get(ClientResponse.class); 81 82 if (response.getClientResponseStatus() != ClientResponse.Status.OK) { 83 logger.error("Unexpected response status {} for {}", response.getClientResponseStatus(), requestUrl); 84 } else { 85 final String responseString = response.getEntity(String.class); 80 86 return getUrlFromJson(responseString); 81 } catch (JSONException ex) {82 logger.error("Could not parse Handle API response", ex);83 return null;84 87 } 88 } catch (UniformInterfaceException ex) { 89 logger.error("Could not communicate with Handle API", ex); 90 } catch (ClientHandlerException ex) { 91 logger.error("Could not communicate with Handle API", ex); 92 } catch (JSONException ex) { 93 logger.error("Could not parse Handle API response", ex); 85 94 } 86 95 return null; 87 96 } 88 97 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/impl/ResourceStringConverterImpl.java
r4978 r4981 58 58 final String[] tokens = resourceString.split(SPLIT_PATTERN, 2); 59 59 final String mimeType = tokens[0]; 60 final String href; 60 final String href = tokens[1]; 61 62 // if there is a resolver, get file name from resolved URL 63 final String fileName; 61 64 if (resolver == null) { 62 href = tokens[1];65 fileName = getFileName(href); 63 66 } else { 64 href = resolver.resolve(tokens[1]);67 fileName = getFileName(resolver.resolve(href)); 65 68 } 66 69 67 final String fileName = getFileName(href);68 70 // determine resource type based on mime type 69 71 final ResourceType resourceType = determineResourceType(mimeType); -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchResultItemExpandedPanel.java
r4978 r4981 18 18 19 19 import eu.clarin.cmdi.vlo.FacetConstants; 20 import eu.clarin.cmdi.vlo.pojo.ResourceInfo; 20 21 import eu.clarin.cmdi.vlo.pojo.SearchContext; 21 22 import eu.clarin.cmdi.vlo.service.FieldFilter; … … 25 26 import eu.clarin.cmdi.vlo.wicket.components.SolrFieldLabel; 26 27 import eu.clarin.cmdi.vlo.wicket.model.CollectionListModel; 28 import eu.clarin.cmdi.vlo.wicket.model.HandleLinkModel; 27 29 import eu.clarin.cmdi.vlo.wicket.model.ResourceInfoModel; 28 30 import eu.clarin.cmdi.vlo.wicket.model.SolrFieldModel; … … 99 101 100 102 // add a link to the resource with the file name as its label 101 final ExternalLink resourceLink = new ExternalLink("resourceLink", new PropertyModel(resourceInfoModel, "href"));103 final ExternalLink resourceLink = new ExternalLink("resourceLink", new HandleLinkModel(new PropertyModel(resourceInfoModel, "href"))); 102 104 resourceLink.add(new Label("resourceName", new PropertyModel(resourceInfoModel, "fileName"))); 103 105 resourceLink.setOutputMarkupId(true); … … 110 112 protected void onTimer(AjaxRequestTarget target) { 111 113 this.stop(target); 112 resourceInfoModel.setObject( 113 resolvingResourceStringConverter.getResourceInfo(item.getModelObject())); 114 // this time get resource info from the resolving converter 115 // which will take the file name from the resolved location 116 final ResourceInfo newResourceInfo = resolvingResourceStringConverter.getResourceInfo(item.getModelObject()); 117 resourceInfoModel.setObject(newResourceInfo); 118 // update resource link 114 119 target.add(resourceLink); 115 120 }
Note: See TracChangeset
for help on using the changeset viewer.