Project

General

Profile

« Previous | Next » 

Revision 47480

mapping resulttypes from cobjCategory instead of assuming the type from the mdstore of provenance (#2909)

View differences:

modules/dnet-openaireplus-mapping-utils/trunk/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java
111 111
		addField(metadata, mDesc.findFieldByName("embargoenddate"), values.get("embargoenddate").listValues());
112 112
		addField(metadata, mDesc.findFieldByName("storagedate"), values.get("storagedate").listValues());
113 113

  
114
		addField(metadata, mDesc.findFieldByName("resulttype"), getSimpleQualifier("publication", "dnet:result_typologies"));
114
		final String cobjcategoryCode = values.get("cobjcategory").stream()
115
				.map(e -> e.getText())
116
				.map(s -> s != null && !s.isEmpty() ? s : "0000")
117
				.findFirst()
118
				.orElse("0000");
119
		String resulttype = "";
120
		switch (cobjcategoryCode) {
121
		// add here the code to be excluded from the default mapping as 'publication'
115 122

  
123
			/*
124
			case "0029":
125
				resulttype = "software";
126
				break;
127
			*/
128
		case "0021":
129
			resulttype = "dataset";
130
			break;
131
		default:
132
			resulttype = "publication";
133
		}
134
		addField(metadata, mDesc.findFieldByName("resulttype"), getSimpleQualifier(resulttype, "dnet:result_typologies"));
135

  
116 136
		addField(metadata, mDesc.findFieldByName("fulltext"), values.get("fulltext").listValues());
117 137
		addField(metadata, mDesc.findFieldByName("format"), values.get("format").listValues());
118 138
		if (values.get("concept") != null) {
modules/dnet-openaireplus-mapping-utils/trunk/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java
179 179
					setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(getFirstItem(resourceTypes))));
180 180

  
181 181
			// resultType
182
			addField(metadataProto, Result.Metadata.getDescriptor().findFieldByName("resulttype"), getSimpleQualifier("dataset", "dnet:result_typologies"));
182
			final String cobjcategoryCode = getFirstItem(cobjcategory);
183
			String resulttype = "";
184
			switch (cobjcategoryCode) {
185
			// add here the code to be excluded from the default mapping as 'dataset'
183 186

  
187
			/*
188
			case "0029":
189
				resulttype = "software";
190
				break;
191
			*/
192
			default:
193
				resulttype = "dataset";
194
			}
195

  
196
			addField(metadataProto, Result.Metadata.getDescriptor().findFieldByName("resulttype"), getSimpleQualifier(resulttype, "dnet:result_typologies"));
197

  
184 198
			String tmpID;
185 199
			String TmpName;
186 200

  
......
204 218
					setQualifier(getDefaultQualifier("dnet:access_modes"), Lists.newArrayList(tmpRigths)));
205 219

  
206 220
			addField(instance, Instance.getDescriptor().findFieldByName("instancetype"),
207
					setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(getFirstItem(cobjcategory))));
221
					setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(cobjcategoryCode)));
208 222

  
209 223
			addField(instance, Instance.getDescriptor().findFieldByName("url"), instanceUri);
210 224

  

Also available in: Unified diff