Project

General

Profile

  • svn:eol-style: native
  • svn:keywords: Author Date Id Revision

# Date Author Comment
10276 05/17/2017 03:15 PM Jing Tao

Add the checksum parameter to the handleInsertAndUpdate method.

10047 11/22/2016 02:55 PM Matt Jones

Fix issue in getDefaultReplicationPolicy.

Previously, under some circumstances, a ReplicationPolicy was created but was missing the optional replicationAllowed and numReplicas attributes. These are critical to the policy, so ensure they are set to sensible defaults even when property parsing errors and other issues might skip them. Added a test of this method, but I note that other methods in SystemMetadataFactory do not have unit tests and should be added if they are modified.

9833 07/06/2016 04:52 PM Jing Tao

Replaced the JiBXException by MarshallingException.

8991 11/20/2014 09:00 AM Jing Tao

Fixed a bug that the reindex of data objects may index an archived data object.

8986 11/19/2014 04:59 PM Jing Tao

Fixed a bug that the solr index of data files doesn't reflect the change of access control.

8810 07/23/2014 04:19 PM ben leinfelder

add support for v2 DataONE API.

8566 02/05/2014 01:55 PM ben leinfelder

do not set sm.archived=true when generating system metadata for objects that come in via the old Metacat API.

8200 09/13/2013 03:53 PM ben leinfelder

only attempt to generate OREs for objects that we know not to have them already. https://projects.ecoinformatics.org/ecoinfo/issues/6061

8190 09/12/2013 04:50 PM ben leinfelder

better checking for ORE maps when publishing DOIs (need to update the packages that contain sci meta). https://projects.ecoinformatics.org/ecoinfo/issues/6061

8189 09/12/2013 01:45 PM ben leinfelder

implement ORE check method to actually query the MN for OREs that reference the given pid.
https://projects.ecoinformatics.org/ecoinfo/issues/6061

8028 07/18/2013 10:53 AM ben leinfelder

type the doctype="metadata" objects as "FGDC-STD-001-1998" formatId for rendering XSLT and for DataONE SystemMetadata.

7849 07/03/2013 09:58 PM ben leinfelder

add method for publishing existing object (usually assumed to be scimeta) with a DOI. https://projects.ecoinformatics.org/ecoinfo/issues/6014

7622 04/24/2013 07:34 PM ben leinfelder

use maven to manage most jar dependencies in Metacat.
Exceptions include: LSID, Datamamager (EML),

7322 07/19/2012 02:38 PM ben leinfelder

utility methods to update/reserialize existing ORE maps that were generated with older foresite (and included bad dateTime strings).
https://redmine.dataone.org/issues/3046

7297 07/10/2012 10:20 AM ben leinfelder

set date SM modified when we are setting obsoletes/obsoletedBy/archived values. This way the CN can actualy pick up the changes in revision history.

7278 06/18/2012 03:43 PM ben leinfelder

set archived flag (true) when we set the obsoletedBy value in the ORE system metadata

7273 06/18/2012 12:13 PM ben leinfelder

use the localId for obsoletes/obsoletedBy ORE system metadata (https://redmine.dataone.org/issues/2964)

7222 05/31/2012 09:04 PM ben leinfelder

use metacat.properties to specify the default checksum algorithm to use -- this way it will be easy for us to switch to whatever DataONE decrees.
https://redmine.dataone.org/issues/2834

7215 05/31/2012 10:10 AM Chris Jones

Also get the list size, which may throw an NPE.

7214 05/31/2012 09:53 AM Chris Jones

Only add an AccessPolicy to SystemMetadata during generation when the AccessPolicy is not empty. We've had some scenarios where IdentifierManager.getaccessPolicy() is returning an empty policy because of an empty permission list coming from the db. This was causing InvalidSystemMetadata exceptions during MN to MN replication.

7188 05/23/2012 04:41 PM ben leinfelder

share the same dbConnection when inserting and then updating SystemMetadata objects in the backing store.
any errors encountered during the update will rollback the entire transaction and the SM record will not exist, even in part.

7178 05/21/2012 02:12 PM ben leinfelder

add trace statements for measuring time to complete SM generation.

7123 04/06/2012 01:53 PM ben leinfelder

catch errors for each localid we are processing so that they do do prevent other ids from having ORE content generated

7112 04/03/2012 11:32 AM ben leinfelder

double check "ecogrid" data urls for valid docid.rev - namely integer rev numbers - when parsing EML and also generating system metadata when necessary. Log the errors as warnings.

7087 03/22/2012 09:31 PM Chris Jones

Use Jjava.util.Calendar rather than com.ibm ...

7084 03/21/2012 11:26 AM ben leinfelder

use current datetime (at system metadata generation) as the date last modified

7030 02/24/2012 02:21 PM Chris Jones

Globally change the property 'dataone.memberNodeId' to 'dataone.nodeId'. This is more useful for both MNs and CNs implemented in Metacat. Also, change D1NodeService.getLogRecords() to return log entries with the actual node id rather than the IP address (looks like a cut/paste error)....

7025 02/22/2012 02:31 PM ben leinfelder

do not allow blank node references to be used.
https://redmine.dataone.org/issues/2362

7022 02/21/2012 01:11 PM ben leinfelder

Get ReplicationPolicy correctly generated:
-tweak the regular expression for getting the pref/blocked node list for default replication policy.
-set blocked list (had mistakenly been two calls to set pref list)

7001 02/08/2012 01:20 PM ben leinfelder

1. lookup and use the guid when processing obsoletes/obsoletedBy entries -- had previously been assuming localId==guid but now that we have introduced DOIs as part of the Metacat upgrade process, we may have DOIs for the guid that map to localIds.
2. base ORE guids on the localid of the data package they are describing and not on their DOI -- otherwise we might mash up the DOI prefix (or other id scheme that we are unaware of). By using resourceMapPreix + localId we are sure to have a valid localid and guid for the ORE map we create and add to the system

6998 02/08/2012 10:53 AM ben leinfelder

remove createAndInsertSystemMetadat() method that acts on a single localId -- incorporated this into the localId-list-based method.

6997 02/08/2012 10:50 AM ben leinfelder

refactor IdentityManager.createSystemMetadata(sm) to be insertSystemMetadata(sm) so that it is clear that this method inserts the SM object into the backing store. This differentiates it from the "generation" methods we use when we need to create SM about pre-existing objects or objects we get from non-D1 api calls.

6996 02/08/2012 10:44 AM ben leinfelder

generate SystemMetadata during D1 registration (not 2.0.0 upgrade). This process runs in a thread and updates a metacat.properties value when it is complete.

6988 02/07/2012 12:02 AM Matt Jones

Added new methods to generate a default replication policy based on properties from the metacat configuration. This is called during system metadata creation for objects that lack any system metadata.

6982 02/06/2012 12:38 PM ben leinfelder

handle "BIN" objects so as to avoid repeated calls to lookup the non-existent ObjectFormat

6971 02/01/2012 04:09 PM ben leinfelder

catch cases where the previous/next revision of objects have not had system metadata generated yet

6970 02/01/2012 03:52 PM ben leinfelder

create system metadata object if it wasn't found in HZ

6964 01/27/2012 05:15 PM ben leinfelder

multithreaded implementation for processing docids for system metadata generation.
need to investigate ant/junit running that deadlocks hazelcast (config?)

6962 01/27/2012 10:53 AM ben leinfelder

calculate object size using the size on the file system rather than re-reading as an input stream.
Now only EML document bytes will be read twice: once for the checksum and again for parsing out datapackage details

6961 01/26/2012 11:14 PM ben leinfelder

system metadata generation optionally skips entries that have already been generated (data size, checksum) but allows the latest EML that describes them to have the last word on object format

6960 01/26/2012 09:35 PM ben leinfelder

remove DML for parsing -- the D1 EML parser still uses DOM, so this may not be too big of a perfromance improvement

6931 01/20/2012 03:45 PM ben leinfelder

try to read the local document before making the localid->guid mapping (in cases where we fail to read the data locally like if it is referenced in an EML file but does not exist on this Metacat instance)

6911 01/17/2012 11:43 AM ben leinfelder

refactor generate system meta loop to the factory class -- to be reused in sysmeta and ORE generation
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522

6910 01/17/2012 11:34 AM Chris Jones

When managing obsoletes/obsoletedBy system metadata fields, set the archived flag to false initially, and set it to true on system metadata for objects that a revision obsoletes.

6907 01/13/2012 02:01 PM ben leinfelder

check that the resourceMap (based on Id only) does not currently exist in the local metacat when generating OREs

6873 01/10/2012 12:12 PM ben leinfelder

do not download and save remote data resources which are HTML but are not expected to be such (login or info/splash pages before data content).
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522

6855 01/05/2012 01:37 PM ben leinfelder

use inherited access control from EML for the data file we download from a remote source
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522

6852 01/05/2012 12:06 PM ben leinfelder

download remote data and save locally when it is referenced by an EML package, then include it in the ORE map.
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522

6808 12/20/2011 11:25 AM ben leinfelder

process the current revision, not the latest!
use direct object/system metadata insertion for ORE maps.

6800 12/16/2011 11:00 AM ben leinfelder

add revision history to the generated ORE objects -- we use the revision history of the EML package as a basis because the each ORE revision mirrors the revision of the EML package.
Add a placeholder for checking if an equivalent ORE map exists in the DataONE infrastructure - this will be a call to CN.search() that looks at the solr index for OREs based on the EML package ID.

6747 12/07/2011 05:05 PM ben leinfelder

for now, look up SystemMetadata directly from the table otherwise we won't have the latest access information. Need to refresh the in-memory copy everytime we edit the access policy via Metacat (includes EML parser)

6744 12/07/2011 12:18 PM ben leinfelder

refactor Metacat access handling to be on a per-revision basis so that it more closely aligns with the DataONE approach
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5560

6727 12/01/2011 01:30 PM ben leinfelder

ensure that the revision list is ordered ascending in case someone changes the sql query without realizing that it matters...

6726 12/01/2011 01:21 PM ben leinfelder

set the byte size of the ORE map before adding it

6725 12/01/2011 01:12 PM ben leinfelder

set/update the obsoletes/obsoletedBy fields in system metadata so that we always have a complete revision history for each object.
Note: ORE maps do not have revision history...yet(?)

6721 11/30/2011 05:31 PM ben leinfelder

generating ORE maps and creating/updating system metadata now. There are some Permission conversion issues to be worked out yet

6713 11/29/2011 03:41 PM ben leinfelder

optionally include ORE generation/insertion into Metacat when generating SystemMetadata
https://redmine.dataone.org/issues/2056

6712 11/29/2011 02:15 PM ben leinfelder

optionally include ORE generation/insertion into Metacat when generating SystemMetadata
https://redmine.dataone.org/issues/2056

6710 11/29/2011 01:41 PM ben leinfelder

no need to cast docInfo entries to String -- they are all strings

6709 11/29/2011 01:39 PM ben leinfelder

set revision history, the create/update dates and the owner/submitter (correctly)

6708 11/29/2011 01:05 PM ben leinfelder

use shared method for looking up "docInfo" map -- both in Metacat replication and in D1 system metadata generation

6707 11/29/2011 12:38 PM ben leinfelder

make default formatting a little bit easier to read

6706 11/29/2011 12:33 PM ben leinfelder

reformat code -- no changes

6705 11/29/2011 12:31 PM ben leinfelder

refactor SystemMetadata creation into separate class from the MetacatHandler -- this will be shared by upgrade code and normal metacat api.