Project

General

Profile

« Previous | Next » 

Revision 6384

Added by Chris Jones over 12 years ago

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.

View differences:

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