Project

General

Profile

  • svn:keywords: Author, Date, RCSfile

# Date Author Comment
8414 11/25/2013 01:40 PM Jing Tao

Add the code to set the replication status when some exceptions happen.

8362 11/04/2013 01:56 PM ben leinfelder

generate ORE object when publishing even if there was not an ORE for the original package. https://projects.ecoinformatics.org/ecoinfo/issues/6194

8360 10/31/2013 01:07 PM Jing Tao

Add the methond named isAuthoritativeMNodeAdmin method. It applies to both CN and MN methods.

8267 09/24/2013 04:21 PM ben leinfelder

do not modify existing SystemMetadata on MN.update() if something goes wrong during content insertion. https://projects.ecoinformatics.org/ecoinfo/issues/6101

8210 09/16/2013 04:33 PM ben leinfelder

require authenticated session when minting a DOI/other identifier. https://projects.ecoinformatics.org/ecoinfo/issues/6086

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

8162 08/23/2013 04:01 PM Jing Tao

Add code to throw an exception if the pathquery is not enabled.
We also need to disable building index if the pathquery is disabled.

8160 08/22/2013 04:04 PM ben leinfelder

use consistent file names and zip content names. Opted for "-" separator so that the zip writer does not remove the unique part of the filename. https://projects.ecoinformatics.org/ecoinfo/issues/6054

8141 08/13/2013 12:57 PM ben leinfelder

copy the original systemMetadata when publishing a revision in order to avoid overwriting the original values - the shared map is listening! https://projects.ecoinformatics.org/ecoinfo/issues/6014

8026 07/18/2013 08:13 AM ben leinfelder

use custom FileInputStream subclass to delete the temporary bagit zip when the inputstream is closed (after someone has downloaded the zip).

8025 07/18/2013 08:02 AM ben leinfelder

use ObjectFormatCache instead of ObjectFormatService because we are not calling it as a CN.

8014 07/16/2013 04:21 PM ben leinfelder

include the localid when rendering the view (used in stylesheets)

8013 07/16/2013 04:05 PM ben leinfelder

use ObjectFormatCache.getInstance().getFormat() instead of the CN service (the MN does not typically act as a CN!)

7864 07/09/2013 10:40 AM ben leinfelder

include mn.publish() REST endpoint handling. https://projects.ecoinformatics.org/ecoinfo/issues/6024

7861 07/08/2013 06:10 PM ben leinfelder

implement the view service (uses existing skin-based dbtransform) - and include the REST endpoint. https://projects.ecoinformatics.org/ecoinfo/issues/6028

7860 07/08/2013 05:51 PM ben leinfelder

use StreamSource instead of StringReader for method signature -- can be used with different sources this way. https://projects.ecoinformatics.org/ecoinfo/issues/6019

7855 07/08/2013 12:14 PM ben leinfelder

include GET /package/{pid} endpoint in MN service. https://projects.ecoinformatics.org/ecoinfo/issues/6027

7853 07/05/2013 06:33 PM ben leinfelder

MN.getPackage() - test with ORE that includes 2 data files and a "metadata" file (still should be using EML for that test). https://projects.ecoinformatics.org/ecoinfo/issues/6026

7850 07/04/2013 12:33 PM ben leinfelder

First pass at MN.getPackage() implementation using Bagit library from LOC. https://projects.ecoinformatics.org/ecoinfo/issues/6026

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

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.