Project

General

Profile

« Previous | Next » 

Revision 7849

add method for publishing existing object (usually assumed to be scimeta) with a DOI. https://projects.ecoinformatics.org/ecoinfo/issues/6014

View differences:

SystemMetadataFactory.java
96 96

  
97 97
public class SystemMetadataFactory {
98 98

  
99
	private static final String resourceMapPrefix = "resourceMap_";
99
	public static final String RESOURCE_MAP_PREFIX = "resourceMap_";
100 100
	private static Logger logMetacat = Logger.getLogger(SystemMetadataFactory.class);
101 101
	/**
102 102
	 * use this flag if you want to update any existing system metadata values with generated content
......
522 522
				            // generate the ORE map for this datapackage
523 523
				            Identifier resourceMapId = new Identifier();
524 524
				            // use the local id, not the guid in case we have DOIs for them already
525
				            resourceMapId.setValue(resourceMapPrefix + localId);
525
				            resourceMapId.setValue(RESOURCE_MAP_PREFIX + localId);
526 526
				            idMap.put(sysMeta.getIdentifier(), dataIds);
527 527
				            ResourceMap rm = ResourceMapFactory.getInstance().createResourceMap(resourceMapId, idMap);
528 528
				            String resourceMapXML = ResourceMapFactory.getInstance().serializeResourceMap(rm);
......
544 544
								// use the localId in case we have a DOI
545 545
								String obsoletesLocalId = IdentifierManager.getInstance().getLocalId(sysMeta.getObsoletes().getValue());
546 546
								Identifier resourceMapObsoletes = new Identifier();
547
								resourceMapObsoletes.setValue(resourceMapPrefix + obsoletesLocalId );
547
								resourceMapObsoletes.setValue(RESOURCE_MAP_PREFIX + obsoletesLocalId );
548 548
								resourceMapSysMeta.setObsoletes(resourceMapObsoletes);
549 549
								SystemMetadata resourceMapObsoletesSystemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(resourceMapObsoletes);
550 550
								if (resourceMapObsoletesSystemMetadata != null) {
......
558 558
								// use the localId in case we have a DOI
559 559
								String obsoletedByLocalId = IdentifierManager.getInstance().getLocalId(sysMeta.getObsoletedBy().getValue());
560 560
								Identifier resourceMapObsoletedBy = new Identifier();
561
								resourceMapObsoletedBy.setValue(resourceMapPrefix + obsoletedByLocalId);
561
								resourceMapObsoletedBy.setValue(RESOURCE_MAP_PREFIX + obsoletedByLocalId);
562 562
								resourceMapSysMeta.setObsoletedBy(resourceMapObsoletedBy);
563 563
								resourceMapSysMeta.setArchived(true);
564 564
								SystemMetadata resourceMapObsoletedBySystemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(resourceMapObsoletedBy);

Also available in: Unified diff