Revision 6384
Added by Chris Jones over 12 years ago
IdentifierManager.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
package edu.ucsb.nceas.metacat; |
26 | 26 |
|
27 |
import java.math.BigInteger; |
|
27 | 28 |
import java.sql.PreparedStatement; |
28 | 29 |
import java.sql.ResultSet; |
29 | 30 |
import java.sql.SQLException; |
... | ... | |
108 | 109 |
public SystemMetadata asSystemMetadata(Date dateUploaded, String rightsHolder, |
109 | 110 |
String checksum, String checksumAlgorithm, String originMemberNode, |
110 | 111 |
String authoritativeMemberNode, Date dateModified, String submitter, |
111 |
String guid, String fmtidStr, long size) {
|
|
112 |
String guid, String fmtidStr, BigInteger size) {
|
|
112 | 113 |
SystemMetadata sysMeta = new SystemMetadata(); |
113 | 114 |
|
114 | 115 |
Identifier sysMetaId = new Identifier(); |
... | ... | |
133 | 134 |
submitterSubject.setValue(submitter); |
134 | 135 |
sysMeta.setSubmitter(submitterSubject); |
135 | 136 |
try { |
136 |
sysMeta.setObjectFormat(ObjectFormatCache.getInstance().getFormat(fmtidStr)); |
|
137 |
ObjectFormatIdentifier fmtid = |
|
138 |
ObjectFormatCache.getInstance().getFormat(fmtidStr).getFmtid(); |
|
139 |
sysMeta.setFmtid(fmtid); |
|
137 | 140 |
} catch (NotFound nfe) { |
138 | 141 |
logMetacat.error("The objectFormat " + fmtidStr + |
139 |
" is not registered. Setting the default format."); |
|
140 |
ObjectFormat of = new ObjectFormat(); |
|
142 |
" is not registered. Setting the default format id."); |
|
141 | 143 |
ObjectFormatIdentifier fmtid = new ObjectFormatIdentifier(); |
142 | 144 |
fmtid.setValue("application/octet-stream"); |
143 |
of.setFmtid(fmtid); |
|
144 |
of.setFormatName("Octet Stream"); |
|
145 |
sysMeta.setObjectFormat(of); |
|
145 |
sysMeta.setFmtid(fmtid); |
|
146 | 146 |
} |
147 | 147 |
sysMeta.setSize(size); |
148 | 148 |
|
... | ... | |
270 | 270 |
Timestamp dateModified = rs.getTimestamp(8); |
271 | 271 |
String submitter = rs.getString(9); |
272 | 272 |
String fmtidStr = rs.getString(10); |
273 |
long size = new Long(rs.getString(11)).longValue();
|
|
273 |
BigInteger size = new BigInteger(rs.getString(11));
|
|
274 | 274 |
String obsoletes = rs.getString(12); |
275 | 275 |
String obsoletedBy = rs.getString(13); |
276 | 276 |
|
... | ... | |
297 | 297 |
submitterSubject.setValue(submitter); |
298 | 298 |
sysMeta.setSubmitter(submitterSubject); |
299 | 299 |
try { |
300 |
sysMeta.setObjectFormat(ObjectFormatCache.getInstance().getFormat(fmtidStr)); |
|
300 |
ObjectFormatIdentifier fmtid = |
|
301 |
ObjectFormatCache.getInstance().getFormat(fmtidStr).getFmtid(); |
|
302 |
sysMeta.setFmtid(fmtid); |
|
301 | 303 |
} catch (NotFound nfe) { |
302 | 304 |
logMetacat.error("The objectFormat " + fmtidStr + |
303 |
" is not registered. Setting the default format."); |
|
304 |
ObjectFormat of = new ObjectFormat(); |
|
305 |
" is not registered. Setting the default format id."); |
|
305 | 306 |
ObjectFormatIdentifier fmtid = new ObjectFormatIdentifier(); |
306 | 307 |
fmtid.setValue("application/octet-stream"); |
307 |
of.setFmtid(fmtid); |
|
308 |
of.setFormatName("Octet Stream"); |
|
309 |
sysMeta.setObjectFormat(of); |
|
308 |
sysMeta.setFmtid(fmtid); |
|
310 | 309 |
} |
311 | 310 |
sysMeta.setSize(size); |
312 | 311 |
Identifier obsoletesId = new Identifier(); |
... | ... | |
970 | 969 |
private void updateSystemMetadataFields(long dateUploaded, String rightsHolder, |
971 | 970 |
String checksum, String checksumAlgorithm, String originMemberNode, |
972 | 971 |
String authoritativeMemberNode, long modifiedDate, String submitter, |
973 |
String guid, String objectFormat, long size, boolean replicationAllowed,
|
|
972 |
String guid, String objectFormat, BigInteger size, boolean replicationAllowed,
|
|
974 | 973 |
int numberReplicas, String obsoletes, String obsoletedBy) |
975 | 974 |
{ |
976 | 975 |
DBConnection dbConn = null; |
... | ... | |
1000 | 999 |
stmt.setTimestamp(7, new java.sql.Timestamp(modifiedDate)); |
1001 | 1000 |
stmt.setString(8, submitter); |
1002 | 1001 |
stmt.setString(9, objectFormat); |
1003 |
stmt.setString(10, new Long(size).toString());
|
|
1002 |
stmt.setString(10, size.toString());
|
|
1004 | 1003 |
stmt.setBoolean(11, replicationAllowed); |
1005 | 1004 |
stmt.setInt(12, numberReplicas); |
1006 | 1005 |
stmt.setString(13, obsoletes); |
... | ... | |
1146 | 1145 |
sm.getAuthoritativeMemberNode() == null ? null: sm.getAuthoritativeMemberNode().getValue(), |
1147 | 1146 |
sm.getDateSysMetadataModified() == null ? null: sm.getDateSysMetadataModified().getTime(), |
1148 | 1147 |
sm.getSubmitter() == null ? null: sm.getSubmitter().getValue(), |
1149 |
sm.getIdentifier().getValue(),
|
|
1150 |
sm.getObjectFormat() == null ? null: sm.getObjectFormat().getFmtid().getValue(),
|
|
1151 |
sm.getSize(),
|
|
1152 |
replicationAllowed,
|
|
1153 |
numberReplicas,
|
|
1154 |
sm.getObsoletes() == null ? null:sm.getObsoletes().getValue(),
|
|
1155 |
sm.getObsoletedBy() == null ? null: sm.getObsoletedBy().getValue());
|
|
1148 |
sm.getIdentifier().getValue(), |
|
1149 |
sm.getFmtid() == null ? null: sm.getFmtid().getValue(),
|
|
1150 |
sm.getSize(), |
|
1151 |
replicationAllowed, |
|
1152 |
numberReplicas, |
|
1153 |
sm.getObsoletes() == null ? null:sm.getObsoletes().getValue(), |
|
1154 |
sm.getObsoletedBy() == null ? null: sm.getObsoletedBy().getValue()); |
|
1156 | 1155 |
|
1157 | 1156 |
String guid = sm.getIdentifier().getValue(); |
1158 | 1157 |
|
... | ... | |
1449 | 1448 |
//String submitter = rs.getString(9); |
1450 | 1449 |
String fmtidStr = rs.getString(10); |
1451 | 1450 |
String sz = rs.getString(11); |
1452 |
long size = 0;
|
|
1451 |
BigInteger size = new BigInteger("0");
|
|
1453 | 1452 |
|
1454 | 1453 |
if (sz != null && !sz.trim().equals("")) { |
1455 |
size = new Long(rs.getString(11)).longValue();
|
|
1454 |
size = new BigInteger(rs.getString(11));
|
|
1456 | 1455 |
} |
1457 | 1456 |
|
1458 | 1457 |
ObjectInfo oi = new ObjectInfo(); |
... | ... | |
1476 | 1475 |
oi.setChecksum(cs); |
1477 | 1476 |
|
1478 | 1477 |
try { |
1479 |
oi.setObjectFormat(ObjectFormatCache.getInstance().getFormat(fmtidStr));
|
|
1478 |
oi.setFmtid(ObjectFormatCache.getInstance().getFormat(fmtidStr).getFmtid());
|
|
1480 | 1479 |
} catch (NotFound e) { |
1481 | 1480 |
logMetacat.warn("could not find object format: " + fmtidStr, e); |
1481 |
|
|
1482 | 1482 |
} |
1483 | 1483 |
|
1484 | 1484 |
oi.setSize(size); |
Also available in: Unified diff
Update classes to use the DataONE 0.6.4 schema and types. Major changes involve using BigInteger vs long in SystemMetadata.size, and using ObjectFormatIdentifier rather than Object format.