Revision 5917
Added by berkley about 13 years ago
IdentifierManager.java | ||
---|---|---|
119 | 119 |
} |
120 | 120 |
Hashtable<String, String> h = new Hashtable<String, String>(); |
121 | 121 |
String sql = "select guid, date_uploaded, rights_holder, checksum, checksum_algorithm, " + |
122 |
"origin_member_node, authoritative_member_node, date_modified, submitter " + |
|
122 |
"origin_member_node, authoritative_member_node, date_modified, submitter, object_format " +
|
|
123 | 123 |
"from systemmetadata where docid = ?"; |
124 | 124 |
DBConnection dbConn = null; |
125 | 125 |
int serialNumber = -1; |
... | ... | |
144 | 144 |
String authoritativeMemberNode = rs.getString(7); |
145 | 145 |
Timestamp dateModified = rs.getTimestamp(8); |
146 | 146 |
String submitter = rs.getString(9); |
147 |
String objectFormat = rs.getString(10); |
|
148 |
long size = new Long(rs.getString(11)).longValue(); |
|
147 | 149 |
|
148 | 150 |
h.put("guid", guid); |
149 | 151 |
h.put("date_uploaded", new Long(dateUploaded.getTime()).toString()); |
... | ... | |
154 | 156 |
h.put("authoritative_member_node", authoritativeMemberNode); |
155 | 157 |
h.put("date_modified", new Long(dateModified.getTime()).toString()); |
156 | 158 |
h.put("submitter", submitter); |
159 |
h.put("object_format", objectFormat); |
|
160 |
h.put("size", new Long(size).toString()); |
|
157 | 161 |
|
158 | 162 |
stmt.close(); |
159 | 163 |
} |
... | ... | |
678 | 682 |
|
679 | 683 |
public void insertAdditionalSystemMetadataFields(long dateUploaded, String rightsHolder, |
680 | 684 |
String checksum, String checksumAlgorithm, String originMemberNode, |
681 |
String authoritativeMemberNode, long modifiedDate, String submitter, String guid) |
|
685 |
String authoritativeMemberNode, long modifiedDate, String submitter, |
|
686 |
String guid, String objectFormat, long size) |
|
682 | 687 |
{ |
683 | 688 |
DBConnection dbConn = null; |
684 | 689 |
int serialNumber = -1; |
... | ... | |
691 | 696 |
// Execute the insert statement |
692 | 697 |
String query = "update " + TYPE_SYSTEM_METADATA + |
693 | 698 |
" set (date_uploaded, rights_holder, checksum, checksum_algorithm, " + |
694 |
"origin_member_node, authoritive_member_node, date_modified, submitter) " + |
|
695 |
"= (?, ?, ?, ?, ?, ?, ?, ?) where guid = ?"; |
|
699 |
"origin_member_node, authoritive_member_node, date_modified, " + |
|
700 |
"submitter, object_format, size) " + |
|
701 |
"= (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) where guid = ?"; |
|
696 | 702 |
PreparedStatement stmt = dbConn.prepareStatement(query); |
697 | 703 |
|
698 | 704 |
//data values |
... | ... | |
704 | 710 |
stmt.setString(6, authoritativeMemberNode); |
705 | 711 |
stmt.setTimestamp(7, new java.sql.Timestamp(modifiedDate)); |
706 | 712 |
stmt.setString(8, submitter); |
713 |
stmt.setString(9, objectFormat); |
|
714 |
stmt.setString(10, new Long(size).toString()); |
|
707 | 715 |
//where clause |
708 |
stmt.setString(9, guid);
|
|
716 |
stmt.setString(11, guid);
|
|
709 | 717 |
System.out.println("stmt: " + stmt.toString()); |
710 | 718 |
//execute |
711 | 719 |
int rows = stmt.executeUpdate(); |
... | ... | |
740 | 748 |
sm.getAuthoritativeMemberNode().getValue(), |
741 | 749 |
sm.getDateSysMetadataModified().getTime(), |
742 | 750 |
sm.getSubmitter().getValue(), |
743 |
sm.getIdentifier().getValue()); |
|
751 |
sm.getIdentifier().getValue(), |
|
752 |
sm.getObjectFormat().toString(), |
|
753 |
sm.getSize()); |
|
744 | 754 |
} |
745 | 755 |
|
746 | 756 |
/** |
... | ... | |
815 | 825 |
{ |
816 | 826 |
String sql = "select guid, date_uploaded, rights_holder, checksum, " + |
817 | 827 |
"checksum_algorithm, origin_member_node, authoritive_member_node, " + |
818 |
"date_modified, submitter, xml_documents.doctype from systemmetadata, " + |
|
819 |
"xml_documents where xml_documents.docid in " + |
|
820 |
"(select docid from identifier where guid = systemmetadata.guid)"; |
|
828 |
"date_modified, submitter, object_format, size from systemmetadata"; |
|
821 | 829 |
|
822 | 830 |
boolean f1 = false; |
823 | 831 |
boolean f2 = false; |
... | ... | |
825 | 833 |
|
826 | 834 |
if(startTime != null) |
827 | 835 |
{ |
828 |
sql += " and systemmetadata.date_modified > ?";
|
|
836 |
sql += " where systemmetadata.date_modified > ?";
|
|
829 | 837 |
f1 = true; |
830 | 838 |
} |
831 | 839 |
|
832 | 840 |
if(endTime != null) |
833 | 841 |
{ |
834 |
sql += " and systemmetadata.date_modified < ?"; |
|
842 |
if(!f1) |
|
843 |
{ |
|
844 |
sql += " where systemmetadata.date_modified < ?"; |
|
845 |
} |
|
846 |
else |
|
847 |
{ |
|
848 |
sql += " and systemmetadata.date_modified < ?"; |
|
849 |
} |
|
835 | 850 |
f2 = true; |
836 | 851 |
} |
837 | 852 |
|
838 | 853 |
if(objectFormat != null) |
839 | 854 |
{ |
840 |
sql += " and xml_documents.doctype = ?"; |
|
855 |
if(!f1 && !f2) |
|
856 |
{ |
|
857 |
sql += " where object_format = ?"; |
|
858 |
} |
|
859 |
else |
|
860 |
{ |
|
861 |
sql += " and object_format = ?"; |
|
862 |
} |
|
841 | 863 |
f3 = true; |
842 | 864 |
} |
843 | 865 |
|
844 | 866 |
if(replicaStatus) |
845 | 867 |
{ |
846 | 868 |
String currentNodeId = PropertyService.getInstance().getProperty("dataone.memberNodeId"); |
847 |
sql += " and authoritive_member_node != '" + currentNodeId.trim() + "'"; |
|
869 |
if(!f1 && !f2 && !f3) |
|
870 |
{ |
|
871 |
sql += " where authoritive_member_node != '" + currentNodeId.trim() + "'"; |
|
872 |
} |
|
873 |
else |
|
874 |
{ |
|
875 |
sql += " and authoritive_member_node != '" + currentNodeId.trim() + "'"; |
|
876 |
} |
|
848 | 877 |
} |
849 | 878 |
|
850 | 879 |
DBConnection dbConn = DBConnectionPool.getDBConnection("IdentifierManager.createMapping"); |
... | ... | |
888 | 917 |
//System.out.println("LISTOBJECTS QUERY: " + stmt.toString()); |
889 | 918 |
|
890 | 919 |
ResultSet rs = stmt.executeQuery(); |
891 |
for(int i=0; i<start - 1; i++)
|
|
920 |
for(int i=0; i<start; i++) |
|
892 | 921 |
{ |
893 |
rs.next(); |
|
922 |
if(rs.next()) |
|
923 |
{ |
|
924 |
total++; |
|
925 |
} |
|
926 |
else |
|
927 |
{ |
|
928 |
break; |
|
929 |
} |
|
894 | 930 |
} |
931 |
|
|
895 | 932 |
int countIndex = 0; |
896 | 933 |
|
897 | 934 |
while(rs.next()) |
... | ... | |
912 | 949 |
Timestamp dateModified = rs.getTimestamp(8); |
913 | 950 |
//String submitter = rs.getString(9); |
914 | 951 |
String format = rs.getString(10); |
952 |
String sz = rs.getString(11); |
|
953 |
long size = 0; |
|
954 |
if(sz != null && !sz.trim().equals("")) |
|
955 |
{ |
|
956 |
size = new Long(rs.getString(11)).longValue(); |
|
957 |
} |
|
915 | 958 |
|
916 | 959 |
ObjectInfo oi = new ObjectInfo(); |
917 | 960 |
|
... | ... | |
933 | 976 |
} |
934 | 977 |
else |
935 | 978 |
{ //if there is no object format, just default to text/plain |
936 |
oi.setObjectFormat(ObjectFormat.TEXT_PLAIN);
|
|
979 |
oi.setObjectFormat(ObjectFormat.OCTET_STREAM);
|
|
937 | 980 |
} |
981 |
|
|
982 |
oi.setSize(size); |
|
938 | 983 |
|
939 | 984 |
ol.addObjectInfo(oi); |
940 | 985 |
countIndex++; |
... | ... | |
951 | 996 |
System.out.println("Error querying system metadata: " + e.getMessage()); |
952 | 997 |
} |
953 | 998 |
|
954 |
System.out.println("listObjects total: " + total); |
|
955 | 999 |
ol.setStart(start); |
956 | 1000 |
ol.setCount(count); |
957 | 1001 |
ol.setTotal(total); |
Also available in: Unified diff
fixed bugs in listObjects