Project

General

Profile

  • svn:keywords: Author, Date, RCSfile

# Date Author Comment
7812 06/20/2013 04:49 PM ben leinfelder

use an independent ISet<SystemMetadata> structure to communicate objects that should be indexed by metacat-index. https://projects.ecoinformatics.org/ecoinfo/issues/5943

7781 05/28/2013 01:20 PM Jing Tao

Solr will be enabled if it is in the db.enabledEngines.

7772 05/23/2013 06:39 PM Jing Tao

Use some contants from the EnabledQueryEngines.

7757 05/23/2013 10:20 AM ben leinfelder

use ContentTypeInputStream interface (and ByteArray implementation) to specify the desired content-type of the InputStream returned by MN.query().

7680 05/09/2013 10:04 AM Jing Tao

Use the set of subjects to replace the user and groups for the solr query.

7662 05/02/2013 12:47 PM Jing Tao

Use a new class to handle the solr query engine description request.

7648 05/01/2013 02:38 PM Jing Tao

Add the access query filter.

7634 04/29/2013 04:59 PM Jing Tao

Add code to handle the solr index information. we still need to figure out how to get the information.

7625 04/25/2013 05:09 PM Jing Tao

Add the solr engine to the engine list.

7620 04/24/2013 05:00 PM Jing Tao

Add code to handle solr query.

7600 04/20/2013 06:19 PM Chris Jones

Merging the METACAT_2_0_6_BRANCH changes for [M|C]NodeService into the trunk.

7512 03/12/2013 04:44 PM ben leinfelder

refactor DOI registration into separate class. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5513

7511 03/12/2013 04:26 PM ben leinfelder

refactor using ezid-client changes that split field names and values into separate enums. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5513

7510 03/12/2013 03:20 PM ben leinfelder

Correctly mint and register DOIs in teh MN API implementation. Add tests to exercise minting and creating. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5513

7507 03/11/2013 04:48 PM ben leinfelder

register DOIs with minimal DataCite metadata. still need to determine which details to include and when, but the plumbing is in place as we refine those rules. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5513

7503 02/26/2013 10:27 AM ben leinfelder

disable EZID/DOI minting by default since we do not yet have a means of tracking minted DOIs and augmenting metadata for them when we actually receive the object in a subsequent create() or update() call. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5753

7489 01/31/2013 04:02 PM ben leinfelder

generate ID from UUID. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5840

7486 01/18/2013 02:12 PM ben leinfelder

make sure serial version is included or set on MN.update().
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5793

7448 12/02/2012 08:58 AM ben leinfelder

first pass at DOI minting using the EZID service in mn.generateIdentifier()
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5755

7443 11/30/2012 12:17 PM ben leinfelder

for MN.update() we needed to pass the original pid, not the new pid

7442 11/30/2012 10:49 AM ben leinfelder

do not reject any schemes -- all handled the same at the moment.

7441 11/30/2012 10:23 AM ben leinfelder

simple autogen-based implementation of MN.generateIdentifier(). does not support DOIs, ARKs, etc. It does support including a fragment, returning an identifier like "<fragment>.2012113010215298206"

7439 11/29/2012 04:52 PM ben leinfelder

limit /log and /object calls to configurable maximum count for paging. defaults to existing Metacat value of 7000

7418 11/07/2012 04:27 PM ben leinfelder

implement query description for pathquery -- only tells callers about the pre-indexed paths we have in Metacat since there are an infinite number of "fields" when storing arbitrary XML, but we really don't want people using non-indexed paths for performance reasons anyway. I've typed all the fields as String, even though some are not just strings and can be used for numeric or data comparisons.

7417 11/07/2012 02:53 PM ben leinfelder

Implement MNQuery for "pathquery" engine. Optionally include guid in the pathquery results (https://redmine.dataone.org/issues/3083)

7400 10/12/2012 01:35 PM ben leinfelder

do not allow updates to orphan another branch of revision history. https://redmine.dataone.org/issues/3338

7330 07/26/2012 12:08 PM ben leinfelder

check if the caller is the Node admin (the member node calling itself) as well as the existing check for the CN calling the service. Both of those callers should be given full admin rights.

7318 07/17/2012 01:34 PM ben leinfelder

check for invalid (!) pids. thanks, M. Reyes for catching this
https://redmine.dataone.org/issues/3047

7315 07/17/2012 11:09 AM ben leinfelder

check for whitespace in identifiers during create() and update()
https://redmine.dataone.org/issues/3047

7286 07/02/2012 03:35 PM ben leinfelder

use secure Metacat context URL for D1 registration
https://redmine.dataone.org/issues/3030

7245 06/06/2012 10:23 AM Chris Jones

Minor logging change.

7192 05/25/2012 06:20 PM Chris Jones

Don't set the replication status to failed for an object when it is called by a public user. Just throw the NotAuthorized exception. This prevents this node from being de-prioritized because of public calls to the method.

7162 05/02/2012 08:58 AM ben leinfelder

handle authorization for delete() differently for CN vs MN.
On the CN, only the CN (or tbd admin user) can call it.
On the MN, both the CN (or admin user) and the same MN can call it.

7144 04/25/2012 03:33 PM ben leinfelder

include Session-less interface methods and updated jars that define them.

7142 04/19/2012 02:04 PM ben leinfelder

remove extraneous pid and permission parameters from isAdminAuthorized() method and make public so that it can be called in other locations - namely before our asynchronous replicate() implementation on the MN.

7127 04/06/2012 04:22 PM ben leinfelder

added comments and logging about https://redmine.dataone.org/issues/2572

7126 04/06/2012 03:01 PM ben leinfelder

generalize the exception handling because our actions are the same no matter what the specific error is during create - we just notify the CN that the replicate call failed

7125 04/06/2012 02:58 PM ben leinfelder

catch general Exception that may be thrown during MN.replicate() when creating the object locally. There are a few records that keep slipping off our radar with no explanation as to why they remain in "REQUESTED" status.

7113 04/03/2012 11:58 AM ben leinfelder

additional logging in MN.replicate()

7101 03/28/2012 11:08 AM ben leinfelder

change ordering of getLogRecords() parameter -- pidFilter is in the middle now

7099 03/27/2012 04:35 PM ben leinfelder

upgrade to latest RC in libclient and common jars -- includes updated getLogRecords and new mn.generateIdentifier method

7091 03/26/2012 04:25 PM ben leinfelder

add logging statements when there is a problem calling setReplicationStatus

7083 03/19/2012 06:14 PM Chris Jones

Don't check for populated obsoletes and obsoletedBy fields during CN.create(), only MN.create(). The CN should expect that the MN has populated this field because of existing revision information, and should trust the MN information. Addresses https://redmine.dataone.org/issues/2507.

7082 03/19/2012 06:08 PM Chris Jones

Some minor logging changes.

7079 03/19/2012 10:12 AM ben leinfelder

use isAdminAuthorized() to check access to CN.create(). Note this method takes a pid and permission parameter and neither is used. Also removed the NotFound exception because it would never come up.

7077 03/19/2012 09:52 AM ben leinfelder

include CN.delete()
https://redmine.dataone.org/issues/2506

7075 03/16/2012 11:40 AM Chris Jones

Only allow CNs to call MN.synchronizationFailed() by calling isAdminAuthorized(). The pid must also be valid.

7063 03/13/2012 02:58 PM ben leinfelder

do not replicate if session is null

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)....

7029 02/24/2012 09:46 AM ben leinfelder

throw InvalidToken when an invalid Permission is passed in. THis requires that internal calls to the method also check for this exception.
https://redmine.dataone.org/issues/2388

7021 02/21/2012 10:55 AM ben leinfelder

actually, let's set the serialVersion during the MN.create() call so that the HZ map and the backing store have the same information immediately. Also, this is how the docs specify it.
http://mule1.dataone.org/ArchitectureDocs-current/design/SystemMetadata.html

6991 02/07/2012 09:54 AM ben leinfelder

match changes to MN service methods (return type as boolean)

6986 02/06/2012 11:56 PM Matt Jones

Clean up warnings in class.

6948 01/24/2012 04:32 PM Chris Jones

fix a bug in MNodeService.replicate() where the checksum value was being compared to the computed checksum object, not its value.

6938 01/23/2012 02:43 PM Chris Jones

In MN.getCapabilities(), the required contact subject was not being added to the node instance from the dataone properties. Add it in.

6934 01/23/2012 11:08 AM ben leinfelder

use RC-1 Dataone jars

6916 01/17/2012 03:15 PM Chris Jones

On MN.create(), set the archived flag to be false. This field isn't required in the schema, but is needed by the DataONE indexer once objects are sync'd.

6875 01/10/2012 05:03 PM Chris Jones

Minor null checks to avoid NPEs when calling replicate()

6822 12/22/2011 11:51 AM Chris Jones

Make sure the local id isn't null when we try to get the object from the local instance.

6821 12/22/2011 11:16 AM Chris Jones

Simplify the error handling, and throw the exception once the CN is updated with the new status.

6820 12/22/2011 11:13 AM Chris Jones

Set the replica status to failed (not invalidated) when we get exceptions trying to read the object bytes. Not much of a difference, but only the CN, in theory, is supposed to be able to set the invalidated status.

6819 12/22/2011 11:07 AM Chris Jones

Set the replication status to invalidated when we have a localId, but getting the object bytes fails for any reason.

6818 12/22/2011 10:51 AM Chris Jones

Only call super.create() if there's no localId found on the MN (ie a replica is there from an out of band process).

6817 12/22/2011 10:40 AM Chris Jones

Get the object inputstream from the local metacat instance using MetacatHandler.get() rather than MN.getReplica() so we don't throw an InvalidToken exception when passing in a null Session. The D1Client object is never used for this local call.

6803 12/16/2011 04:24 PM ben leinfelder

new jars with many changes -- including new CN methods: ping, describe, listChecksumAlgorithm. Removed MN.setAccessPolicy. Refactored CN.setOwner() to CN.setRightsHolder().

6795 12/16/2011 07:42 AM Chris Jones

In the call to MNReplication.replicate(), call back to CNReplication.setReplicationStatus() and set the status to failed when we get local exceptions, exceptions from the source MN when calling getReplica(). Send back an exception with a description when setting the status. Add a private setReplicationStatus() method to refactor these calls out.

6787 12/15/2011 01:29 PM ben leinfelder

set SystemMetadata.archived=true on MN.delete
There is ongoing discussion on what the exact behavior should be here, but this mimics Metacat's delete-as-archive action.
http://redmine.dataone.org/issues/882

6786 12/14/2011 08:48 AM Chris Jones

In MNodeService.replicate(), check to see if we have a replica (via an out of band channel) before we call sourceMN.getReplica().

6777 12/13/2011 12:22 PM ben leinfelder

updated D1 API -- removed Permission.REPLICATE and associated parameters

6773 12/13/2011 10:58 AM ben leinfelder

include SerialVersion in describe response
https://redmine.dataone.org/issues/2135
NOTE: d1 jars should be replaced once all schema changes are finalized and the generate d1_common code is committed to svn

6693 11/23/2011 12:10 PM ben leinfelder

verify checksum when retrieving replica from another member node.
https://redmine.dataone.org/issues/1794

6692 11/23/2011 11:59 AM ben leinfelder

make sure to get/put system metadata to the HZ map instead of using IdentifierManager directly
verified changes for: https://redmine.dataone.org/issues/1999

6689 11/23/2011 11:03 AM ben leinfelder

look-up sych schedule from metacat properties instead of hardcoding them
https://redmine.dataone.org/issues/1933

6663 11/16/2011 03:34 PM ben leinfelder

throw NotAuthorized when there is no session

6653 11/15/2011 10:48 AM ben leinfelder

throw InvalidToken when session is null

6651 11/15/2011 09:37 AM Chris Jones

Send the correct node id (the target node) when calling setReplicationStatus()

6649 11/14/2011 03:49 PM ben leinfelder

check obsoletes and obsoletedBy PIDs when updating objects

6648 11/14/2011 03:34 PM ben leinfelder

delete system metadata when MN.delete() is called.

6645 11/14/2011 02:59 PM ben leinfelder

throw InvalidToken when there is no session (certificate) provided in update() and delete() methods.

6632 11/10/2011 08:30 AM Chris Jones

Use a session object that is set to null when calling CNode.setReplicationStatus()

6631 11/10/2011 08:05 AM Chris Jones

Add debugging code to MNodeService.getReplica().

6630 11/09/2011 06:55 PM Chris Jones

Set a new Session object to null, to be overwritten by the CertificateManager session information from the X.509 certificate.

6622 11/08/2011 03:49 PM ben leinfelder

upgrade to 1.0.1-SNAPSHOT DataONE jars

6610 11/07/2011 10:52 AM Chris Jones

Update methods in MNodeService to reflect they modifications of the MN API with regard to exceptions being raised. Largely removed InvalidRequest from a number of methods, and instead threw an appropriate NotFound or ServiceFailure instead.

6600 11/03/2011 12:55 PM Chris Jones

Add in the systemMetadataChanged() method in MNodeService to respond to notifications. Only allow subjects from CNs listed in the node list to make the call. Update the local copy of the system metadata document for the given pid.

6599 11/03/2011 10:36 AM Chris Jones

Include the serialVersion in the call to CN.setReplicationStatus() after replicating data.

6576 11/01/2011 08:59 AM Chris Jones

getReplica() should log replication events as DataONE Types.Event.replicate (vs 'getreplica')

6575 11/01/2011 08:54 AM Chris Jones

Minor indentation cleanup.

6573 11/01/2011 06:40 AM Chris Jones

Add a placeholder setAccessPolicy() method in MNodeService that throws NotImplemented since this method is being deprecated. Note: need to confirm that this shouldn't be calling D1Client.getCN().setAccessPolicy().

6561 10/27/2011 05:51 PM ben leinfelder

move the DataONE 1.0.0-SNAPSHOT

6552 10/27/2011 02:13 PM ben leinfelder

Configure and use CertificateManager in order to act as the MN when performing replicate() and getReplica() mthods.

6542 10/20/2011 02:03 PM ben leinfelder

add User-Agent logging to support D1 requirements

6540 10/16/2011 10:47 AM Chris Jones

Add debugging output to MNodeService.

6532 10/12/2011 11:17 AM ben leinfelder

update D1 jars to include recent SubjectList -> SubjectInfo refactoring and the SUBJECT_PUBLIC constant

6530 10/12/2011 10:00 AM ben leinfelder

throw InvalidToken when the Session parameter is null for create()
https://redmine.dataone.org/issues/1850

6528 10/09/2011 02:50 PM Chris Jones

Once a CN calls replicate() on an MN, the MN needs to call getReplica() on the source MN (not get()). Once the bytes are retrieved, the MN must then call back to the CN with setReplicationStatus() to indicate that the replication status is complete. Modify MNodeService to do so.

6525 09/26/2011 10:59 PM ben leinfelder

set date uploaded and date system metadata updated date to current time when calling MN.create() and MN.update()

6521 09/26/2011 11:59 AM ben leinfelder

set the originating member node on update()

6520 09/26/2011 11:53 AM ben leinfelder

set the originating member node on create()

6518 09/26/2011 11:10 AM ben leinfelder

set sysmeta submitter based on the subject given in the certificate