Project

General

Profile

« Previous | Next » 

Revision 60388

pdf urls for OpenAIRE

View differences:

modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/EnrichProjectsPlugin.java
37 37
	}
38 38

  
39 39
	@Override
40
	protected boolean updateRecord(final MdRecord record) {
40
	protected boolean updateRecord(final String recordId, final MdRecord record) {
41 41
		log.debug("Found " + record.getProjects().size() + " projects");
42 42

  
43 43
		if (record.getProjects().isEmpty()) { return false; }
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/EnrichCollectionPlugin.java
59 59
	}
60 60

  
61 61
	@Override
62
	protected boolean updateRecord(final MdRecord record) {
62
	protected boolean updateRecord(final String recordId, final MdRecord record) {
63 63
		for (final CnrCollection c : record.getInCollections()) {
64 64
			if (colls.containsKey(c.getCode())) {
65 65
				c.setName(colls.get(c.getCode()).getName());
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/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() {
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/GenericDoiMdstorePlugin.java
14 14
	private static final Log log = LogFactory.getLog(GenericDoiMdstorePlugin.class);
15 15

  
16 16
	@Override
17
	protected final boolean updateRecord(final MdRecord record) {
17
	protected final boolean updateRecord(final String recordId, final MdRecord record) {
18 18
		for (final String doi : record.getDois()) {
19 19
			log.debug("  Record " + record.getId() + " has doi " + doi);
20 20
			final String response = download(doi);
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/EnrichLabsPlugin.java
46 46
	}
47 47

  
48 48
	@Override
49
	protected boolean updateRecord(final MdRecord doc) {
49
	protected boolean updateRecord(final String recordId, final MdRecord doc) {
50 50
		final int year = doc.getDate();
51 51

  
52 52
		for (final CnrPerson cp : doc.getCnrPersons()) {
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/MdRecordPlugin.java
45 45
				final Element xmlRecord = (Element) mdNode.selectSingleNode("./record").detach();
46 46
				final MdRecord record = MdRecordConvertUtils.fromString(xmlRecord.asXML());
47 47

  
48
				if (updateRecord(record)) {
48
				if (updateRecord(recordId, record)) {
49 49
					final Document docPart = reader.read(new StringReader(MdRecordConvertUtils.toString(record)));
50 50
					mdNode.add(docPart.getRootElement());
51 51
					collPubs.updateOne(new BasicDBObject("id", recordId), new BasicDBObject("$set", new BasicDBObject("body", doc.asXML())));
......
68 68

  
69 69
	abstract protected void resetConfiguration();
70 70

  
71
	abstract protected boolean updateRecord(MdRecord record);
71
	abstract protected boolean updateRecord(String recordId, MdRecord record);
72 72

  
73 73
}

Also available in: Unified diff