Revision 6384
Added by Chris Jones about 13 years ago
src/edu/ucsb/nceas/metacat/restservice/MNResourceHandler.java | ||
---|---|---|
572 | 572 |
response.addHeader("checksum_algorithm", dr.getDataONE_Checksum().getAlgorithm().xmlValue()); |
573 | 573 |
response.addHeader("content_length", dr.getContent_Length() + ""); |
574 | 574 |
response.addHeader("last_modified", dateFormat.format(dr.getLast_Modified())); |
575 |
response.addHeader("format", dr.getDataONE_ObjectFormat().toString());
|
|
575 |
response.addHeader("format", dr.getDataONE_ObjectFormatIdentifier().getValue());
|
|
576 | 576 |
|
577 | 577 |
} |
578 | 578 |
|
... | ... | |
663 | 663 |
SystemMetadata sm = MNodeService.getInstance().getSystemMetadata(session, id); |
664 | 664 |
|
665 | 665 |
//set the content type |
666 |
if (sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
666 |
if (sm.getFmtid().getValue().trim().equals( |
|
667 | 667 |
ObjectFormatCache.getInstance().getFormat("text/csv").getFmtid().getValue())) |
668 | 668 |
{ |
669 | 669 |
response.setContentType("text/csv"); |
670 | 670 |
response.setHeader("Content-Disposition", "inline; filename=" + id.getValue() + ".csv"); |
671 | 671 |
} |
672 |
else if (sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
672 |
else if (sm.getFmtid().getValue().trim().equals( |
|
673 | 673 |
ObjectFormatCache.getInstance().getFormat("text/plain").getFmtid().getValue())) |
674 | 674 |
{ |
675 | 675 |
response.setContentType("text/plain"); |
676 | 676 |
response.setHeader("Content-Disposition", "inline; filename=" + id.getValue() + ".txt"); |
677 | 677 |
} |
678 |
else if (sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
678 |
else if (sm.getFmtid().getValue().trim().equals( |
|
679 | 679 |
ObjectFormatCache.getInstance().getFormat("application/octet-stream").getFmtid().getValue())) |
680 | 680 |
{ |
681 | 681 |
response.setContentType("application/octet-stream"); |
src/edu/ucsb/nceas/metacat/restservice/ResourceHandler.java | ||
---|---|---|
827 | 827 |
response.addHeader("checksum_algorithm", dr.getDataONE_Checksum().getAlgorithm().xmlValue()); |
828 | 828 |
response.addHeader("content_length", dr.getContent_Length() + ""); |
829 | 829 |
response.addHeader("last_modified", dateFormat.format(dr.getLast_Modified())); |
830 |
response.addHeader("format", dr.getDataONE_ObjectFormat().toString());
|
|
830 |
response.addHeader("format", dr.getDataONE_ObjectFormatIdentifier().getValue());
|
|
831 | 831 |
} |
832 | 832 |
catch(InvalidRequest ir) |
833 | 833 |
{ |
... | ... | |
1123 | 1123 |
SystemMetadata sm = MNodeService.getInstance().getSystemMetadata(session, id); |
1124 | 1124 |
|
1125 | 1125 |
//set the content type |
1126 |
if(sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
1126 |
if(sm.getFmtid().getValue().trim().equals( |
|
1127 | 1127 |
ObjectFormatCache.getInstance().getFormat("text/csv").getFmtid().getValue())) |
1128 | 1128 |
{ |
1129 | 1129 |
response.setContentType("text/csv"); |
1130 | 1130 |
response.setHeader("Content-Disposition", "inline; filename=" + id.getValue() + ".csv"); |
1131 | 1131 |
} |
1132 |
else if(sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
1132 |
else if(sm.getFmtid().getValue().trim().equals( |
|
1133 | 1133 |
ObjectFormatCache.getInstance().getFormat("text/plain").getFmtid().getValue())) |
1134 | 1134 |
{ |
1135 | 1135 |
response.setContentType("text/plain"); |
1136 | 1136 |
response.setHeader("Content-Disposition", "inline; filename=" + id.getValue() + ".txt"); |
1137 | 1137 |
} |
1138 |
else if(sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
1138 |
else if(sm.getFmtid().getValue().trim().equals( |
|
1139 | 1139 |
ObjectFormatCache.getInstance().getFormat("application/octet-stream").getFmtid().getValue())) |
1140 | 1140 |
{ |
1141 | 1141 |
response.setContentType("application/octet-stream"); |
src/edu/ucsb/nceas/metacat/restservice/CNResourceHandler.java | ||
---|---|---|
406 | 406 |
SystemMetadata sm = CNodeService.getInstance().getSystemMetadata(session, id); |
407 | 407 |
|
408 | 408 |
//set the content type |
409 |
if(sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
409 |
if(sm.getFmtid().getValue().trim().equals( |
|
410 | 410 |
ObjectFormatCache.getInstance().getFormat("text/csv").getFmtid().getValue())) |
411 | 411 |
{ |
412 | 412 |
response.setContentType("text/csv"); |
413 | 413 |
response.setHeader("Content-Disposition", "inline; filename=" + id.getValue() + ".csv"); |
414 | 414 |
} |
415 |
else if(sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
415 |
else if(sm.getFmtid().getValue().trim().equals( |
|
416 | 416 |
ObjectFormatCache.getInstance().getFormat("text/plain").getFmtid().getValue())) |
417 | 417 |
{ |
418 | 418 |
response.setContentType("text/plain"); |
419 | 419 |
response.setHeader("Content-Disposition", "inline; filename=" + id.getValue() + ".txt"); |
420 | 420 |
} |
421 |
else if(sm.getObjectFormat().getFmtid().getValue().trim().equals(
|
|
421 |
else if(sm.getFmtid().getValue().trim().equals( |
|
422 | 422 |
ObjectFormatCache.getInstance().getFormat("application/octet-stream").getFmtid().getValue())) |
423 | 423 |
{ |
424 | 424 |
response.setContentType("application/octet-stream"); |
src/edu/ucsb/nceas/metacat/MetacatHandler.java | ||
---|---|---|
41 | 41 |
import java.io.StringReader; |
42 | 42 |
import java.io.UnsupportedEncodingException; |
43 | 43 |
import java.io.Writer; |
44 |
import java.math.BigInteger; |
|
44 | 45 |
import java.net.MalformedURLException; |
45 | 46 |
import java.net.URL; |
46 | 47 |
import java.security.NoSuchAlgorithmException; |
... | ... | |
81 | 82 |
import org.dataone.service.types.v1.Identifier; |
82 | 83 |
import org.dataone.service.types.v1.NodeReference; |
83 | 84 |
import org.dataone.service.types.v1.ObjectFormat; |
85 |
import org.dataone.service.types.v1.ObjectFormatIdentifier; |
|
84 | 86 |
import org.dataone.service.types.v1.Subject; |
85 | 87 |
import org.dataone.service.types.v1.SystemMetadata; |
86 | 88 |
import org.dataone.service.types.v1.util.ChecksumUtil; |
... | ... | |
3575 | 3577 |
Hashtable<String, Object> docInfo = IdentifierManager.getInstance().getDocumentInfo(localId); |
3576 | 3578 |
//set the default object format |
3577 | 3579 |
String doctype = (String) docInfo.get("doctype"); |
3578 |
ObjectFormat format = null;
|
|
3580 |
ObjectFormatIdentifier fmtid = null;
|
|
3579 | 3581 |
|
3580 | 3582 |
// set the object format, fall back to defaults |
3581 | 3583 |
try { |
3582 |
format = ObjectFormatCache.getInstance().getFormat(doctype);
|
|
3584 |
fmtid = ObjectFormatCache.getInstance().getFormat(doctype).getFmtid();
|
|
3583 | 3585 |
|
3584 | 3586 |
} catch (NotFound nfe) { |
3585 | 3587 |
|
3586 | 3588 |
try { |
3587 | 3589 |
// format is not registered, use default |
3588 | 3590 |
if (doctype.trim().equals("BIN")) { |
3589 |
format = ObjectFormatCache.getInstance().getFormat("application/octet-stream"); |
|
3591 |
fmtid = ObjectFormatCache.getInstance().getFormat( |
|
3592 |
"application/octet-stream").getFmtid(); |
|
3590 | 3593 |
|
3591 | 3594 |
} else { |
3592 |
format = ObjectFormatCache.getInstance().getFormat("text/plain");
|
|
3595 |
fmtid = ObjectFormatCache.getInstance().getFormat("text/plain").getFmtid();
|
|
3593 | 3596 |
} |
3594 | 3597 |
|
3595 | 3598 |
} catch (NotFound nf) { |
... | ... | |
3600 | 3603 |
|
3601 | 3604 |
} |
3602 | 3605 |
|
3603 |
sysMeta.setObjectFormat(format);
|
|
3604 |
logMetacat.debug("The ObjectFormat for " + localId + " is " + format.toString());
|
|
3606 |
sysMeta.setFmtid(fmtid);
|
|
3607 |
logMetacat.debug("The ObjectFormat for " + localId + " is " + fmtid.getValue());
|
|
3605 | 3608 |
|
3606 | 3609 |
// further parse EML documents to get data object format, |
3607 | 3610 |
// describes and describedBy information |
3608 |
if ( format == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.0.0") ||
|
|
3609 |
format == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.0.1") ||
|
|
3610 |
format == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.1.0") ||
|
|
3611 |
format == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.1.1") ) {
|
|
3611 |
if ( fmtid == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.0.0").getFmtid() ||
|
|
3612 |
fmtid == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.0.1").getFmtid() ||
|
|
3613 |
fmtid == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.1.0").getFmtid() ||
|
|
3614 |
fmtid == ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.1.1").getFmtid() ) {
|
|
3612 | 3615 |
|
3613 | 3616 |
try { |
3614 | 3617 |
|
... | ... | |
3668 | 3671 |
|
3669 | 3672 |
// set object format |
3670 | 3673 |
logMetacat.debug("Updating system metadata for " + dataGuid.getValue() + " to " + dataDocMimeType); |
3671 |
ObjectFormat f = ObjectFormatCache.getInstance().getFormat(dataDocMimeType); |
|
3672 |
if (f == null) { |
|
3673 |
f = ObjectFormatCache.getInstance().getFormat("application/octet-stream"); |
|
3674 |
try { |
|
3675 |
ObjectFormatIdentifier fmt = |
|
3676 |
ObjectFormatCache.getInstance().getFormat(dataDocMimeType).getFmtid(); |
|
3677 |
dataSysMeta.setFmtid(fmt); |
|
3678 |
|
|
3679 |
} catch (NotFound nfe) { |
|
3680 |
logMetacat.debug("Couldn't find format identifier for: " + |
|
3681 |
dataDocMimeType + ". Setting it to application/octet-stream."); |
|
3682 |
ObjectFormatIdentifier newFmtid = new ObjectFormatIdentifier(); |
|
3683 |
newFmtid.setValue("application/octet-stream"); |
|
3684 |
|
|
3674 | 3685 |
} |
3675 |
dataSysMeta.setObjectFormat(f); |
|
3676 | 3686 |
|
3677 | 3687 |
// update the values |
3678 | 3688 |
IdentifierManager.getInstance().updateSystemMetadata(dataSysMeta); |
... | ... | |
3735 | 3745 |
|
3736 | 3746 |
//set the size |
3737 | 3747 |
inputStream = this.read(localId); |
3738 |
sysMeta.setSize(sizeOfStream(inputStream)); |
|
3748 |
String sizeStr = new Long(sizeOfStream(inputStream)).toString(); |
|
3749 |
sysMeta.setSize(new BigInteger(sizeStr)); |
|
3739 | 3750 |
|
3751 |
|
|
3740 | 3752 |
//submitter |
3741 | 3753 |
Subject subject = new Subject(); |
3742 | 3754 |
subject.setValue((String) docInfo.get("user_owner")); |
src/edu/ucsb/nceas/metacat/dataone/MNodeService.java | ||
---|---|---|
496 | 496 |
|
497 | 497 |
SystemMetadata sysmeta = getSystemMetadata(session, pid); |
498 | 498 |
DescribeResponse describeResponse = |
499 |
new DescribeResponse(sysmeta.getObjectFormat(),
|
|
499 |
new DescribeResponse(sysmeta.getFmtid(),
|
|
500 | 500 |
sysmeta.getSize(), sysmeta.getDateSysMetadataModified(), sysmeta.getChecksum()); |
501 | 501 |
|
502 | 502 |
return describeResponse; |
... | ... | |
858 | 858 |
// if we are filtering by format |
859 | 859 |
if (formatId != null) { |
860 | 860 |
SystemMetadata sysmeta = IdentifierManager.getInstance().getSystemMetadata(pid.getValue()); |
861 |
if (!sysmeta.getObjectFormat().getFmtid().getValue().equals(formatId.getValue())) {
|
|
861 |
if (!sysmeta.getFmtid().getValue().equals(formatId.getValue())) { |
|
862 | 862 |
// does not match |
863 | 863 |
continue; |
864 | 864 |
} |
... | ... | |
959 | 959 |
|
960 | 960 |
} |
961 | 961 |
|
962 |
/** |
|
963 |
* TODO: Implement this for D1 Tier 4 functionality |
|
964 |
*/ |
|
965 |
@Override |
|
966 |
public InputStream getReplica(Session session, Identifier pid) |
|
967 |
throws InvalidRequest, InvalidToken, NotAuthorized, NotImplemented, |
|
968 |
ServiceFailure, NotFound { |
|
969 |
|
|
970 |
throw new NotImplemented("4870", "isReplicationAuthorized not implemented"); |
|
971 |
} |
|
972 |
|
|
962 | 973 |
} |
src/edu/ucsb/nceas/metacat/dataone/CNodeService.java | ||
---|---|---|
728 | 728 |
return pid; |
729 | 729 |
} |
730 | 730 |
|
731 |
/** |
|
732 |
* Verify that a replication task is authorized by comparing the target node's |
|
733 |
* Subject (from the X.509 certificate-derived Session) with the list of |
|
734 |
* subjects in the known, pending replication tasks map. |
|
735 |
* |
|
736 |
* @param originatingNodeSession - Session information that contains the |
|
737 |
* identity of the calling user |
|
738 |
* @param targetNodeSubject - Subject identifying the target node |
|
739 |
* @param pid - the identifier of the object to be replicated |
|
740 |
* @param replicatePermission - the execute permission to be granted |
|
741 |
* |
|
742 |
* @throws ServiceFailure |
|
743 |
* @throws NotImplemented |
|
744 |
* @throws InvalidToken |
|
745 |
* @throws NotAuthorized |
|
746 |
* @throws InvalidRequest |
|
747 |
* @throws NotFound |
|
748 |
*/ |
|
749 |
@Override |
|
750 |
public boolean isReplicationAuthorized(Session originatingNodeSession, |
|
751 |
Subject targetNodeSubject, Identifier pid, Permission replicatePermission) |
|
752 |
throws NotImplemented, NotAuthorized, InvalidToken, ServiceFailure, |
|
753 |
NotFound, InvalidRequest { |
|
754 |
|
|
755 |
throw new NotImplemented("4870", "isReplicationAuthorized not implemented"); |
|
756 |
|
|
757 |
} |
|
758 |
|
|
731 | 759 |
} |
src/edu/ucsb/nceas/metacat/dataone/D1NodeService.java | ||
---|---|---|
666 | 666 |
boolean isScienceMetadata = false; |
667 | 667 |
|
668 | 668 |
try { |
669 |
objectFormat = ObjectFormatCache.getInstance().getFormat(sysmeta.getObjectFormat().getFmtid());
|
|
669 |
objectFormat = ObjectFormatCache.getInstance().getFormat(sysmeta.getFmtid()); |
|
670 | 670 |
isScienceMetadata = objectFormat.isScienceMetadata(); |
671 | 671 |
|
672 | 672 |
} catch (InvalidRequest e) { |
src/edu/ucsb/nceas/metacat/admin/upgrade/GenerateSystemMetadata.java | ||
---|---|---|
39 | 39 |
import org.dataone.service.exceptions.NotFound; |
40 | 40 |
import org.dataone.service.exceptions.NotImplemented; |
41 | 41 |
import org.dataone.service.exceptions.ServiceFailure; |
42 |
import org.dataone.service.types.AuthToken;
|
|
42 |
import org.dataone.service.types.v1.Session;
|
|
43 | 43 |
import org.dataone.service.types.v1.SystemMetadata; |
44 | 44 |
|
45 | 45 |
import edu.ucsb.nceas.metacat.AccessionNumberException; |
... | ... | |
93 | 93 |
* @throws McdbDocNotFoundException |
94 | 94 |
* @throws ServiceFailure |
95 | 95 |
*/ |
96 |
public void generateMissingSystemMetadata(AuthToken token)
|
|
96 |
public void generateMissingSystemMetadata(Session session)
|
|
97 | 97 |
throws ServiceFailure, McdbDocNotFoundException, PropertyNotFoundException, InvalidToken, NotAuthorized, |
98 | 98 |
NotFound, NotImplemented, InvalidRequest, NoSuchAlgorithmException, AccessionNumberException, SQLException |
99 | 99 |
{ |
... | ... | |
103 | 103 |
for (String localId : idList) { |
104 | 104 |
//for each id, add a system metadata doc |
105 | 105 |
try { |
106 |
generateMissingSystemMetadata(token, localId);
|
|
106 |
generateMissingSystemMetadata(session, localId);
|
|
107 | 107 |
} catch (Exception e) { |
108 | 108 |
log.error("Error generating system metadata for: " + localId, e); |
109 | 109 |
} |
... | ... | |
132 | 132 |
* @throws PropertyNotFoundException |
133 | 133 |
* @throws McdbDocNotFoundException |
134 | 134 |
*/ |
135 |
public void generateMissingSystemMetadata(AuthToken token, String localId)
|
|
135 |
public void generateMissingSystemMetadata(Session session, String localId)
|
|
136 | 136 |
throws ServiceFailure, McdbDocNotFoundException, PropertyNotFoundException, InvalidToken, NotAuthorized, |
137 | 137 |
NotFound, NotImplemented, InvalidRequest, NoSuchAlgorithmException, AccessionNumberException, SQLException |
138 | 138 |
{ |
src/edu/ucsb/nceas/metacat/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.