Revision 6366
Added by ben leinfelder over 12 years ago
IdentifierManager.java | ||
---|---|---|
37 | 37 |
import org.apache.log4j.Logger; |
38 | 38 |
import org.dataone.client.ObjectFormatCache; |
39 | 39 |
import org.dataone.service.exceptions.NotFound; |
40 |
import org.dataone.service.types.AccessPolicy; |
|
41 |
import org.dataone.service.types.AccessRule; |
|
42 |
import org.dataone.service.types.Checksum; |
|
43 |
import org.dataone.service.types.ChecksumAlgorithm; |
|
44 |
import org.dataone.service.types.Identifier; |
|
45 |
import org.dataone.service.types.NodeReference; |
|
46 |
import org.dataone.service.types.ObjectFormat; |
|
47 |
import org.dataone.service.types.ObjectFormatIdentifier; |
|
48 |
import org.dataone.service.types.ObjectInfo; |
|
49 |
import org.dataone.service.types.ObjectList; |
|
50 |
import org.dataone.service.types.Permission; |
|
51 |
import org.dataone.service.types.Replica; |
|
52 |
import org.dataone.service.types.ReplicationPolicy; |
|
53 |
import org.dataone.service.types.ReplicationStatus; |
|
54 |
import org.dataone.service.types.Session; |
|
55 |
import org.dataone.service.types.Subject; |
|
56 |
import org.dataone.service.types.SystemMetadata; |
|
40 |
import org.dataone.service.types.v1.AccessPolicy;
|
|
41 |
import org.dataone.service.types.v1.AccessRule;
|
|
42 |
import org.dataone.service.types.v1.Checksum;
|
|
43 |
import org.dataone.service.types.v1.ChecksumAlgorithm;
|
|
44 |
import org.dataone.service.types.v1.Identifier;
|
|
45 |
import org.dataone.service.types.v1.NodeReference;
|
|
46 |
import org.dataone.service.types.v1.ObjectFormat;
|
|
47 |
import org.dataone.service.types.v1.ObjectFormatIdentifier;
|
|
48 |
import org.dataone.service.types.v1.ObjectInfo;
|
|
49 |
import org.dataone.service.types.v1.ObjectList;
|
|
50 |
import org.dataone.service.types.v1.Permission;
|
|
51 |
import org.dataone.service.types.v1.Replica;
|
|
52 |
import org.dataone.service.types.v1.ReplicationPolicy;
|
|
53 |
import org.dataone.service.types.v1.ReplicationStatus;
|
|
54 |
import org.dataone.service.types.v1.Session;
|
|
55 |
import org.dataone.service.types.v1.Subject;
|
|
56 |
import org.dataone.service.types.v1.SystemMetadata;
|
|
57 | 57 |
|
58 | 58 |
import edu.ucsb.nceas.metacat.accesscontrol.AccessControlInterface; |
59 | 59 |
import edu.ucsb.nceas.metacat.accesscontrol.XMLAccessAccess; |
... | ... | |
330 | 330 |
} |
331 | 331 |
|
332 | 332 |
// look up provenance information |
333 |
sysMeta.setObsoleteList(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "obsoletes")); |
|
334 |
sysMeta.setObsoletedByList(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "obsoletedBy")); |
|
335 |
sysMeta.setDescribeList(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "describes")); |
|
336 |
sysMeta.setDescribedByList(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "describedBy")); |
|
337 |
sysMeta.setDerivedFromList(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "derivedFrom")); |
|
333 |
sysMeta.setObsoletes(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "obsoletes").get(0)); |
|
334 |
sysMeta.setObsoletedBy(getSystemMetadataProvenance(sysMeta.getIdentifier().getValue(), "obsoletedBy").get(0)); |
|
338 | 335 |
|
339 | 336 |
// look up replication policy |
340 | 337 |
ReplicationPolicy replicationPolicy = new ReplicationPolicy(); |
... | ... | |
1233 | 1230 |
|
1234 | 1231 |
// add provenance information |
1235 | 1232 |
String guid = sm.getIdentifier().getValue(); |
1236 |
List<Identifier> idList = null;
|
|
1233 |
Identifier id = null;
|
|
1237 | 1234 |
List<String> targetGuids = null; |
1238 | 1235 |
String relationship = null; |
1239 | 1236 |
|
1240 | 1237 |
relationship = "obsoletedBy"; |
1241 | 1238 |
targetGuids = new ArrayList<String>(); |
1242 |
idList = sm.getObsoletedByList(); |
|
1243 |
if (idList != null) { |
|
1244 |
for (Identifier id: idList) { |
|
1245 |
targetGuids.add(id.getValue()); |
|
1246 |
} |
|
1239 |
id = sm.getObsoletedBy(); |
|
1240 |
if (id != null) { |
|
1241 |
targetGuids.add(id.getValue()); |
|
1247 | 1242 |
this.insertSystemMetadataProvenance(guid, relationship, targetGuids); |
1248 | 1243 |
} |
1249 | 1244 |
relationship = "obsoletes"; |
1250 | 1245 |
targetGuids = new ArrayList<String>(); |
1251 |
idList = sm.getObsoleteList(); |
|
1252 |
if (idList != null) { |
|
1253 |
for (Identifier id: idList) { |
|
1254 |
targetGuids.add(id.getValue()); |
|
1255 |
} |
|
1246 |
id = sm.getObsoletes(); |
|
1247 |
if (id != null) { |
|
1248 |
targetGuids.add(id.getValue()); |
|
1256 | 1249 |
this.insertSystemMetadataProvenance(guid, relationship, targetGuids); |
1257 | 1250 |
} |
1258 | 1251 |
|
1252 |
// TODO inspect the ORE map |
|
1259 | 1253 |
relationship = "describes"; |
1260 |
targetGuids = new ArrayList<String>(); |
|
1261 |
idList = sm.getDescribeList(); |
|
1262 |
if (idList != null) { |
|
1263 |
for (Identifier id: idList) { |
|
1264 |
targetGuids.add(id.getValue()); |
|
1265 |
} |
|
1266 |
this.insertSystemMetadataProvenance(guid, relationship, targetGuids); |
|
1267 |
} |
|
1268 |
|
|
1269 |
relationship = "describedBy"; |
|
1270 |
targetGuids = new ArrayList<String>(); |
|
1271 |
idList = sm.getDescribedByList(); |
|
1272 |
if (idList != null) { |
|
1273 |
for (Identifier id: idList) { |
|
1274 |
targetGuids.add(id.getValue()); |
|
1275 |
} |
|
1276 |
this.insertSystemMetadataProvenance(guid, relationship, targetGuids); |
|
1277 |
} |
|
1278 |
|
|
1254 |
relationship = "describedBy"; |
|
1279 | 1255 |
relationship = "derivedFrom"; |
1280 |
targetGuids = new ArrayList<String>(); |
|
1281 |
idList = sm.getDerivedFromList(); |
|
1282 |
if (idList != null) { |
|
1283 |
for (Identifier id: idList) { |
|
1284 |
targetGuids.add(id.getValue()); |
|
1285 |
} |
|
1286 |
this.insertSystemMetadataProvenance(guid, relationship, targetGuids); |
|
1287 |
} |
|
1288 | 1256 |
|
1289 | 1257 |
// save replication policies |
1290 | 1258 |
if (replicationPolicy != null) { |
Also available in: Unified diff
use new "v1" types from DataONE