Project

General

Profile

Statistics
| Revision:

metacat / src / edu / ucsb @ 6394

# Date Author Comment
6394 09/06/2011 11:55 AM ben leinfelder

use InvalidRequest when the PID is not found. https://redmine.dataone.org/issues/1768

6391 09/02/2011 01:57 PM ben leinfelder

use Permission.REPLICATE not EXECUTE

6390 09/02/2011 01:41 PM ben leinfelder

check with the CN if replication is allowed for the object in question for getReplica()

6389 09/02/2011 12:45 PM ben leinfelder

add getReplica() implementation. same as get() but with different logging. seems silly, but maybe I missed something important that distinguishes this method.

6386 08/31/2011 02:39 PM Chris Jones

Update MetacatPopulator to use the DataONE 0.6.4 schema and types.

6384 08/31/2011 02:36 PM Chris Jones

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.

6382 08/10/2011 04:24 PM Chris Jones

Insert system metadata after the data object is inserted.

6381 08/10/2011 07:04 AM Chris Jones

Fix bug in updateSystemMetadataFields() where guid is set from the wrong parameter in the prepared SQL statement.

6378 08/03/2011 10:46 AM ben leinfelder

latest D1 jars - changes include:
updateSystemMetadata() impl for CN
new identifier methods (generate is its own method)
removal of the resourceMap pointer from system metadata

6377 07/29/2011 10:40 AM ben leinfelder

remove ORE mapping from system metadata

6376 07/29/2011 08:14 AM Chris Jones

Update the d1 common java jar to include the changes to BaseException, and update MNodeService.synchronizationFailed() to use the BaseException.getNodeId() method to report which node the exception came from.

6375 07/28/2011 05:11 PM ben leinfelder

include obsoletes and obsoletedBy for system metadata
repurpose the "provenance" table as the ORE mapping table for system metadata

6373 07/28/2011 11:10 AM ben leinfelder

use correct enum method

6371 07/28/2011 10:50 AM ben leinfelder

refactor Constants

6369 07/28/2011 10:44 AM ben leinfelder

use NodelistUtil

6368 07/28/2011 10:11 AM ben leinfelder

use correct enum method

6367 07/28/2011 10:10 AM ben leinfelder

remove ServiceTypeUtil - replace with TypeMarshaller

6366 07/27/2011 04:25 PM ben leinfelder

use new "v1" types from DataONE

6362 07/20/2011 03:00 PM ben leinfelder

remove CrudService -- replaced by MNodeService and CNodeService

6361 07/20/2011 02:51 PM ben leinfelder

handle more than "contains" searchmode when using the path index for queries
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5443

6359 07/20/2011 01:51 PM ben leinfelder

-handle NotFound object format when generating system metadata
-improve EML DML for null entity/attribute elements

6358 07/20/2011 11:39 AM ben leinfelder

use the ObjectFormat Id (not toString()) to check against the configured science metadata formats

6354 07/19/2011 08:09 AM Chris Jones

Return the new pid (not the obsoleted pid) on update(), and set the correct system metadata.

6353 07/15/2011 07:11 AM Chris Jones

In D1NodeService.getLogRecords(), don't pass in null start and count params - set them to the defaults (0 and 1000).

6352 07/15/2011 06:52 AM Chris Jones

MNResourceHandler.getObject() was making a call to ObjectFormat.getFmtid() when an object format was null. Check that it is not null before trying getFmtid().

6351 07/14/2011 09:25 PM Chris Jones

In MNodeService.getCapabilities(), update the properties to match those in metacat.properties. Flesh out the NodeHealth object, adding NodeState, Ping, and Status information. Flesh out the Synchronization object information, but for now, use mock values. TODO: This should be determined from configuration and on-the-fly information.

6347 07/14/2011 02:25 PM Chris Jones

In MNodeService.getCapabilities(), set the synchronization and replication properties of the node.

6345 07/14/2011 02:06 PM Chris Jones

In MNodeService.getCapabilities(), set the serviceAvailable for each service supported.

6343 07/14/2011 01:20 PM Chris Jones

In MNodeService.getCapabilities(), set the serviceVersion for each service supported.

6341 07/14/2011 09:15 AM ben leinfelder

check reservation before create/update

6340 07/14/2011 01:52 AM Chris Jones

Use D1 properties to set node values, and add the 'WAR VERSION' back into the node name for deployments.

6339 07/13/2011 03:09 PM ben leinfelder

add hasReservation() method (NotImplemented, however)

6337 07/12/2011 03:02 PM ben leinfelder

use objectFormatIdentifier for listObjects()
remove provisional system metadata indicator - Metacat will not implement reserveIdentifier()

6335 07/11/2011 12:19 PM ben leinfelder

use correct log name for the class

6334 07/11/2011 11:46 AM ben leinfelder

consistently construct username/groups for MetacatHandler calls - also consistently call isAuthorized

6332 07/08/2011 04:48 PM ben leinfelder

provisional replicate() implementation -- does not check if the session's subject is "allowed" to do this.
the test also requires 2 servers -- right now it attempts to replicate with itself which will fail because of duplicate IDs

6331 07/08/2011 04:05 PM ben leinfelder

provisional version of getOperationStatistics() -- not clear if we are meant to aggregate by hour or by day

6330 07/08/2011 03:06 PM ben leinfelder

provisional getCapabilities() implementation. Much of the synchronization information and node health is omitted.

6323 07/08/2011 02:08 PM ben leinfelder

simplify the get() method -- no need to use temp files for this operation

6321 07/07/2011 03:14 PM ben leinfelder

implement d1 paging for the log record results

6318 07/07/2011 01:28 PM Chris Jones

Reverting the resultset order in querySystemMetadata(). Thanks Ben.

6316 07/07/2011 01:11 PM Chris Jones

Because of the new 'provisional' column, the resultset field order in querySystemMetadata() was out of order. Changed the order to reflect the new table column order.

6313 07/07/2011 12:51 PM ben leinfelder

save systemmetadata when create() is called

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

allow very minimal system metadata for provisional entries (CN.reserveIdentifier)

6310 07/07/2011 11:05 AM Chris Jones

Fix a NullPointerException issue when the SubjectList in a Session is null.

6308 07/07/2011 05:45 AM Chris Jones

Add the missing URL delimiter when building the D1 base service URL.

6306 07/06/2011 04:29 PM ben leinfelder

allow the test to read the OFL docid

6305 07/06/2011 04:29 PM ben leinfelder

check for null docid from access table -- using guid for many system meta rows

6304 07/06/2011 03:40 PM ben leinfelder

use docImpl getBytes() to preserve encoding
no need to catch an exception only to throw it (those I was playing around with looking up the fmt from the d1_common lib if it was not found on the server...but this is redundant with other client code)

6303 07/06/2011 01:35 PM ben leinfelder

remove resolve() test -- not implemented in Metacat

6302 07/06/2011 12:09 PM ben leinfelder

handle data objects (not sci meta) and also set the resulting pid so that create() can succeed

6300 07/06/2011 11:52 AM ben leinfelder

catch exceptions from system meta data query and throw service failure rather than swallowing them with an error msg

6299 07/06/2011 11:52 AM ben leinfelder

handle null values from DB better when querying system metadata

6298 07/06/2011 08:13 AM Chris Jones

Update getOperationStatistics() to reflect the change in the signature, using ObjectFormatIdentifier instead of ObjectFormat.

6297 07/06/2011 08:11 AM Chris Jones

Modify monitor() to accept new parameters for getOperationStatisics() (fromDate, toDate) instead of 'period'. Added getDateAsUTC() to parse incoming fromDate and toDate parameter strings.

6296 07/06/2011 07:59 AM Chris Jones

Fixed problems in IdentifierManager asSystemMetadata(), getSystemMetadata(), and querySystemMetadata() that were using ObjectFormat.toString() rather than ObjectFormat.getFmtid().getValue(). Metacat was storing the string memory pointer rather than the actual format string in the systemmetadata table.

6294 07/05/2011 04:19 PM ben leinfelder

use super class' create() method
use string comparison for assertRelation method

6293 07/05/2011 04:18 PM ben leinfelder

beef up isAuthorized method to check for "public" access rules and also for the rights holder

6292 07/05/2011 04:18 PM ben leinfelder

do not delete if the sysmeta doesn't exist

6288 07/05/2011 12:33 PM Chris Jones

Use 'synchronization_failed' for the event string in synchronizationFailed(), and add a TODO to use the event enum when the 0.6.3 types are updated.

6286 07/05/2011 10:49 AM ben leinfelder

return all public objects for the search() method [for now]

6285 07/05/2011 07:51 AM Chris Jones

Changed 'guid' to 'pid' to be in line with the D1 API.

6284 07/01/2011 05:23 PM ben leinfelder

simplify the MN rest servlet mapping to match CN mappings - also streamlined the handler code to share extra path info parsing

6283 07/01/2011 05:21 PM ben leinfelder

add space to error message

6282 07/01/2011 05:03 PM ben leinfelder

route all /d1/cn/* traffic through the CNRestServlet/Handler -- inspect the pathInfo when deciding what action to take and also strip off any extra parts (like pid).
include query() method pass-through to CNodeService

6281 07/01/2011 05:01 PM ben leinfelder

add the old ecogrid query code (still commented out) from the old Rest handler

6280 07/01/2011 03:32 PM ben leinfelder

allow service implementation method to throw exception when guid parameter is null

6279 07/01/2011 12:47 PM ben leinfelder

allow parameters to be omitted in reserveIdentifier handling

6278 07/01/2011 12:37 PM ben leinfelder

implement reserveIdentifier() and check whether the id is reserved when creating records (only allow the create when the Subject creating matches the Subject who reserved it -- currently stored in rightsHolder)

6277 07/01/2011 12:35 PM ben leinfelder

allow for provisional SystemMetadata records (provisional=true)

6276 07/01/2011 11:10 AM ben leinfelder

remove extraneous update() call when create() does the call for us

6274 06/30/2011 05:24 PM ben leinfelder

use monitor() return value when processing response

6273 06/30/2011 05:04 PM ben leinfelder

throw exceptions up the call stack and handle exception reporting/serialization centrally in the handle() method

6272 06/30/2011 04:44 PM ben leinfelder

use logging, not system.out

6271 06/30/2011 04:40 PM ben leinfelder

consolidate session management and parameter preparation in the superclass

6270 06/30/2011 04:31 PM ben leinfelder

throw exceptions up the call stack rather than catching and handling them differently for each possible rest path

6269 06/30/2011 03:54 PM ben leinfelder

consolidate multi part handling in the super class - subclasses need only call the appropriate helper to get access to the needed resources. superclass does some validation to make sure the files are in place in the request

6268 06/30/2011 03:05 PM ben leinfelder

cleaning up the handlers -- removing superclass methods.

6267 06/30/2011 02:37 PM ben leinfelder

refactor to use D1RestServlet and D1ResourceHandler for the D1 rest interface

6265 06/30/2011 02:30 PM ben leinfelder

deprecate the old rest servlet in favor of the new D1-specific (CN/MN) versions

6264 06/30/2011 02:08 PM ben leinfelder

MN rest servlet, handler and mappings

6263 06/30/2011 02:07 PM ben leinfelder

share getSystemMetadata (before refactoring the superclass)

6262 06/30/2011 02:07 PM ben leinfelder

share getSystemMetadata (before refactoring this superclass)

6261 06/30/2011 06:39 AM Chris Jones

Add placeholder NotImplemented exceptions for getOperationsStatistics() and getCapabilities() in MNodeService.

6260 06/30/2011 06:13 AM Chris Jones

Implement MNCore.ping() by testing for a successful database connection.

6259 06/29/2011 11:16 PM Chris Jones

Minor housekeeping - tabs to spaces.

6258 06/29/2011 11:15 PM Chris Jones

Implement update() in MNodeService. Handle both XML science metadata updates and data object updates. Keep system metadata up to date, and log the update event.

6257 06/29/2011 09:41 PM Chris Jones

Make isScienceMetadata() protected for access from subclasses.

6256 06/29/2011 09:36 PM Chris Jones

Add insertSystemMetadata() to D1NodeService, wrap the exception handling from calls to IdentifierManager.

6255 06/29/2011 09:25 PM Chris Jones

Add updateSystemMetadata() to D1NodeService as a helper method to wrap the exception handling from calls to IdentifierManager.

6254 06/29/2011 05:50 PM Chris Jones

At Ben's suggestion, add metacatUrl to D1NodeService and make it available to subclasses. Set the metacatUrl in the constructor using SystemUtil rather than all roll your own PropertyService calls. More concise. Also, log the delete event in MNodeService.delete().

6253 06/29/2011 05:23 PM ben leinfelder

add CNRestServlet and mappings for urls in the form:
/d1/cn/*
This extends existing code for CN-specific handling. MN handling will be analogous and is forthcoming

6252 06/29/2011 05:17 PM ben leinfelder

share the deserializer method with subclasses

6251 06/29/2011 05:07 PM Chris Jones

throw NotAllowed in MNodeService.delete() when isAuthorized() returns false.

6250 06/29/2011 04:59 PM Chris Jones

Implement the MNStorage.delete() MNodeService. There is debate about what permissions are needed to 'delete' an object (archive it in metacat terms): D1 'WRITE' (metacat 'write') or D1 CHANGE_PERMISSION (metacat 'all'). For now we are using CHANGE_PERMISSION until it is ironed out.

6249 06/29/2011 04:13 PM ben leinfelder

add shared operations for authorization

6248 06/29/2011 03:08 PM ben leinfelder

share tempDir method with subclasses

6247 06/29/2011 02:55 PM ben leinfelder

make RestServlet and ResourceHandler extendible for D1 CN and MN handlers

6246 06/29/2011 02:19 PM ben leinfelder

use session member variable now that we actually have it

6245 06/29/2011 12:35 PM ben leinfelder

isAuthorized: check for nulls in Session subjects, catch any unexpected errors and deny access when in doubt