Project

General

Profile

« Previous | Next » 

Revision 60388

pdf urls for OpenAIRE

View differences:

EnrichLocalLinksPlugin.java
86 86
	}
87 87

  
88 88
	@Override
89
	protected boolean updateRecord(final MdRecord doc) {
89
	protected boolean updateRecord(final String recordId, final MdRecord doc) {
90 90

  
91 91
		final int year = doc.getDate();
92 92
		final String code = StringUtils.substringAfterLast(doc.getId(), ":");
......
101 101
			log.info("  - adding new urls: " + files.size());
102 102
			doc.setBestRights(DEFAULT_RIGHTS);
103 103
			for (final String f : files) {
104
				doc.getUrls().add(new MyURL(calculateUrl(code, year, f), getHostedBy(), DEFAULT_RIGHTS));
104
				doc.getUrls().add(new MyURL(calculateUrl(recordId, code, year, f), getHostedBy(), DEFAULT_RIGHTS));
105 105
			}
106 106
		}
107 107
		return true;
......
162 162
		}
163 163
	}
164 164

  
165
	private String calculateUrl(final String code, final int year, final String f) {
166
		return String.format("%s/%s/%s/%s", getBaseUrl(), year, code, UrlEscapers.urlPathSegmentEscaper().escape(f));
165
	private String calculateUrl(final String id, final String code, final int year, final String f) {
166
		// the parameter ID is necessary for a better integration with OpenAIRE
167
		return String.format("%s/%s/%s/%s?id=%s", getBaseUrl(), year, code, UrlEscapers.urlPathSegmentEscaper().escape(f),
168
				UrlEscapers.urlFormParameterEscaper().escape(id));
167 169
	}
168 170

  
169 171
	public String getHostedBy() {

Also available in: Unified diff