Project

General

Profile

Activity

From 06/02/2011 to 07/01/2011

07/01/2011

05:23 PM Revision 6284 (metacat): simplify the MN rest servlet mapping to match CN mappings - also streamlined the handler code to share extra path info parsing
ben leinfelder
05:21 PM Revision 6283 (metacat): add space to error message
ben leinfelder
05:03 PM Revision 6282 (metacat): 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 ben leinfelder
05:01 PM Revision 6281 (metacat): add the old ecogrid query code (still commented out) from the old Rest handler
ben leinfelder
03:32 PM Revision 6280 (metacat): allow service implementation method to throw exception when guid parameter is null
ben leinfelder
12:47 PM Revision 6279 (metacat): allow parameters to be omitted in reserveIdentifier handling
ben leinfelder
12:37 PM Revision 6278 (metacat): 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)
ben leinfelder
12:35 PM Revision 6277 (metacat): allow for provisional SystemMetadata records (provisional=true)
ben leinfelder
11:10 AM Revision 6276 (metacat): remove extraneous update() call when create() does the call for us
ben leinfelder

06/30/2011

05:24 PM Revision 6275 (metacat): remove old RestServlet url-mappings
ben leinfelder
05:24 PM Revision 6274 (metacat): use monitor() return value when processing response
ben leinfelder
05:04 PM Revision 6273 (metacat): throw exceptions up the call stack and handle exception reporting/serialization centrally in the handle() method
ben leinfelder
04:44 PM Revision 6272 (metacat): use logging, not system.out
ben leinfelder
04:40 PM Revision 6271 (metacat): consolidate session management and parameter preparation in the superclass
ben leinfelder
04:31 PM Revision 6270 (metacat): throw exceptions up the call stack rather than catching and handling them differently for each possible rest path
ben leinfelder
03:54 PM Revision 6269 (metacat): 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
ben leinfelder
03:05 PM Revision 6268 (metacat): cleaning up the handlers -- removing superclass methods.
ben leinfelder
02:37 PM Revision 6267 (metacat): refactor to use D1RestServlet and D1ResourceHandler for the D1 rest interface
ben leinfelder
02:34 PM Revision 6266 (metacat): remove old RestServlet and it's mappings -- only using D1Servlet subclasses now
ben leinfelder
02:30 PM Revision 6265 (metacat): deprecate the old rest servlet in favor of the new D1-specific (CN/MN) versions
ben leinfelder
02:08 PM Revision 6264 (metacat): MN rest servlet, handler and mappings
ben leinfelder
02:07 PM Revision 6263 (metacat): share getSystemMetadata (before refactoring the superclass)
ben leinfelder
02:07 PM Revision 6262 (metacat): share getSystemMetadata (before refactoring this superclass)
ben leinfelder
06:39 AM Revision 6261 (metacat): Add placeholder NotImplemented exceptions for getOperationsStatistics() and getCapabilities() in MNodeService.
Chris Jones
06:13 AM Revision 6260 (metacat): Implement MNCore.ping() by testing for a successful database connection.
Chris Jones

06/29/2011

11:16 PM Revision 6259 (metacat): Minor housekeeping - tabs to spaces.
Chris Jones
11:15 PM Revision 6258 (metacat): 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.
Chris Jones
09:41 PM Revision 6257 (metacat): Make isScienceMetadata() protected for access from subclasses.
Chris Jones
09:36 PM Revision 6256 (metacat): Add insertSystemMetadata() to D1NodeService, wrap the exception handling from calls to IdentifierManager.
Chris Jones
09:25 PM Revision 6255 (metacat): Add updateSystemMetadata() to D1NodeService as a helper method to wrap the exception handling from calls to IdentifierManager.
Chris Jones
05:50 PM Revision 6254 (metacat): 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().
Chris Jones
05:23 PM Revision 6253 (metacat): 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
ben leinfelder
05:17 PM Revision 6252 (metacat): share the deserializer method with subclasses
ben leinfelder
05:07 PM Revision 6251 (metacat): throw NotAllowed in MNodeService.delete() when isAuthorized() returns false.
Chris Jones
04:59 PM Revision 6250 (metacat): 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.
Chris Jones
04:13 PM Revision 6249 (metacat): add shared operations for authorization
ben leinfelder
03:08 PM Revision 6248 (metacat): share tempDir method with subclasses
ben leinfelder
02:55 PM Revision 6247 (metacat): make RestServlet and ResourceHandler extendible for D1 CN and MN handlers
ben leinfelder
02:19 PM Revision 6246 (metacat): use session member variable now that we actually have it
ben leinfelder
12:35 PM Revision 6245 (metacat): isAuthorized: check for nulls in Session subjects, catch any unexpected errors and deny access when in doubt
ben leinfelder
12:20 PM Revision 6244 (metacat): remove CrudService calls in favor of MNodeService
ben leinfelder
12:14 PM Revision 6243 (metacat): include commons-configuration jar -- runtime dep for d1_common
ben leinfelder
12:09 PM Revision 6242 (metacat): Remove setParamsFromRequest() from D1NodeService. This was called (previously as CrudService) from ResourceHandler, but will be deprecated in favor of manually creating a param map for each method that needs to pass params on to MetacatHandler.
Chris Jones
08:44 AM Revision 6241 (metacat): Implement [MN|CN]Storage.create() in D1NodeService. Since MetacatHandler requires an IP for event logging, we pass in the metacat URL (hold over from CrudService). To do this in the abstract D1NodeService, change the constructors to take metacatUrl as a parameter and get the URL from the metacat properties file in getInstance() of the subclasses. Needs testing.
Chris Jones
07:23 AM Revision 6240 (metacat): Add a dataone.serviceName property (set to 'd1') to remove hardcoded 'd1' strings in the codebase.
Chris Jones

06/28/2011

04:48 PM Revision 6239 (metacat): include URL in resolve() method as well as placeholder for preference
ben leinfelder
04:06 PM Revision 6238 (metacat): Make "Change Access Permission" button work on sanparks scheduler web page.
Merge the change from 1.9.5 branch to the trunk. Jing Tao
02:58 PM Revision 6236 (metacat): newer jars with updated CNRegistry even though we aren't implementing that interface
ben leinfelder
01:46 PM Revision 6235 (metacat): Metacat does not implement CNRegister
ben leinfelder
11:41 AM Revision 6234 (metacat): Implement CNRead.synchronizationFailed() in MNodeService. Note: The CN URL is not yet available in the SynchronizationFailed exception, but will be once the d1_common_java exception is updated. See https://redmine.dataone.org/issues/1656. Once updated, change this method to explicitly state the CN URL making the call.
Chris Jones
11:18 AM Revision 6233 (metacat): Change Metacathandler.read() to be public since it's internal to Metacat, and use read() in D1NodeService after isAuthorized() for the calling Subject from the Session object.
Chris Jones
10:13 AM Revision 6232 (metacat): add missing comma in xml_replication insert
ben leinfelder
08:49 AM Revision 6231 (metacat): include release notes from 1.9.5 branch (includes v 1.9.3 and 1.9.4)
ben leinfelder
08:48 AM Revision 6230 (metacat): Implement MNRead.listObjects() in MNodeService.
Chris Jones
08:42 AM Revision 6229 (metacat): Implement MNRead.describe() in MNodeService.
Chris Jones
08:31 AM Revision 6228 (metacat): Implement MNRead.getChecksum() in MNodeService.
Chris Jones
08:08 AM Revision 6227 (metacat): Minor formatting changes - tabs to spaces, indents, etc.
Chris Jones
08:04 AM Revision 6226 (metacat): Implement [MN|CN]Read.get() in D1NodeService. Added setParamsFromRequest() to pass through parameters from the request object. Since the D1 Authorization API doesn't specify which authentication system a subject belongs to, we don't know if the subject listed is a KNB LDAP DN. isAuthorized() may return true for a mapped identity, but we don't know the DN of the KNB identity per se. This needs to be tested.
Chris Jones

06/27/2011

02:39 PM Revision 6225 (metacat): -use every Subject in the session (alt Ids and Group membership)
-consolidate to single isAuthorized method ben leinfelder
02:00 PM Revision 6224 (metacat): oops!
ben leinfelder
01:19 PM Revision 6223 (metacat): throw exception for unimplemented methods
ben leinfelder
12:22 PM Revision 6222 (metacat): implement resolve() method
ben leinfelder
11:56 AM Revision 6221 (metacat): implement assertRelation
ben leinfelder
11:41 AM Revision 6220 (metacat): implement CNReplication.setReplicationStatus() but with a note about selecting which replica's status should be set (right now it is all)
ben leinfelder
11:29 AM Revision 6219 (metacat): implement CNReplication.setReplicationPolicy
ben leinfelder
11:13 AM Revision 6218 (metacat): correction: implementation is CN-specific
ben leinfelder
11:12 AM Revision 6217 (metacat): implement getChecksum() in the superclass
ben leinfelder
11:07 AM Revision 6216 (metacat): implement getChecksum (retrieves from system metadata)
ben leinfelder
10:59 AM Revision 6215 (metacat): use shared get() method from superclass
ben leinfelder
10:55 AM Revision 6214 (metacat): use shared getLogRecords method
ben leinfelder
10:28 AM Revision 6213 (metacat): Remove isAuthorized(), setAccessPolicy(), and getLogRecords() methods since they're implemented in the superclass.
Chris Jones
10:15 AM Revision 6212 (metacat): use Permission, not Event for isAuthorized() methods
ben leinfelder

06/24/2011

09:33 PM Revision 6211 (metacat): do not use pisco for referral testing (merge from 1.9.5)
ben leinfelder
09:32 PM Revision 6210 (metacat): include different (non pisco) referral account (merge from 1.9.5 branch)
include upgrade sql scripts ben leinfelder
09:31 PM Revision 6209 (metacat): merge changes from 1.9.5 branch for upgrade process (1.9.3->1.9.4->1.9.5)
ben leinfelder
09:06 PM Revision 6208 (metacat): merge 1.9.5 changes to trunk (delete now preserves access rules and docs can be read after deletion)
ben leinfelder

06/23/2011

05:16 PM Revision 6197 (metacat): do not delete the access rules when we "archive" the document on "delete" (commented out for now)
ben leinfelder
05:10 PM Revision 6196 (metacat): allow reading from xml_revision table when we are the doc owner
ben leinfelder
04:10 PM Revision 6195 (metacat): CNCoreImpl is replaced by CNodeService
ben leinfelder
03:58 PM Revision 6194 (metacat): implement CNAuthorization
ben leinfelder
02:26 PM Revision 6189 (metacat): Metacat does not implement CNIdentity - it is a stand-alone service
ben leinfelder
02:20 PM Revision 6188 (metacat): implement registerSystemMetadata
ben leinfelder
02:19 PM Revision 6187 (metacat): implement object format methods - using a separate class to do the actual metacat lookup/caching so that teh CN implementation looks cleaner
ben leinfelder
02:17 PM Revision 6186 (metacat): implement getLogRecords
ben leinfelder
01:54 PM Revision 6185 (metacat): include latest D1 common/lib changes
ben leinfelder

06/22/2011

05:21 PM Revision 6184 (metacat): On the fullclean target, add code to delete the entired checked-out utilities directory.
Jing Tao
05:01 PM Revision 6182 (metacat): add commons-io-2.0.jar dependency to Metacat Client API section
ben leinfelder
11:03 AM Revision 6179 (metacat): Initial check in of the MNodeService stub methods that implement the D1 MN* interfaces. CrudService methods will be transitioned into this class. The methods follow the D1 0.6.2 API thus far.
Also changed CNodeService to reflect minor changes to the D1NodeService class. Chris Jones
08:13 AM Revision 6178 (metacat): Add a static getInstance() method to CNodeService and make CNodeService a singleton.
Chris Jones
08:06 AM Revision 6177 (metacat): Initial check in of the CNodeService stub methods that implement the D1 CN* interfaces. CNCoreImpl methods will be transitioned into this class. The methods follow the D1 0.6.2 API thus far.
Chris Jones
07:50 AM Revision 6176 (metacat): CNAuthorization.isAuthorized() and MNAuthorization.isAuthorized() differ. Removed it from the base class.
Chris Jones
06:12 AM Revision 6175 (metacat): getChecksum() is intentionally different on the CN vs MN, so I'm removing it as a common method.
Chris Jones

06/21/2011

03:42 PM Revision 6174 (metacat): Initial check in of the D1NodeService class that provides methods common to both CNodeService and MNodeService implementation classes. The common API methods are:
Methods common to CNCore and MNCore APIs
getLogRecords()
Methods common to CNRead and MNRead APIs
get()
getSystemMet...
Chris Jones

06/17/2011

01:52 PM Revision 6156 (metacat): Get username and password from a property file.
Jing Tao
09:41 AM Revision 6152 (metacat): placeholder for setting up certificate manager
ben leinfelder
09:17 AM Revision 6151 (metacat): remove AuthToken (use session). Remove login() call. Use AccessPolicu object to set public read permission
ben leinfelder

06/16/2011

10:33 AM Revision 6149 (metacat): take getLogRecords impl form CrudService and use in CNCoreImpl
ben leinfelder
12:49 AM Revision 6148 (metacat): Added NCEAS logo to header.
Matt Jones
12:09 AM Revision 6147 (metacat): Begin process of migrating Admin guide to Sphinx. Structure is now set up, but
content needs to be copied. Matt Jones

06/15/2011

10:44 PM Revision 6146 (metacat): escape quotes when processing returnfield with predicates. example:
<returnfield>dataset/dataTable/physical/distribution/online/url[@function='download']</returnfield> ben leinfelder
09:03 AM Revision 6144 (metacat): Updated MetacatPopulator to now use ObjectFormatCache.getInstance(). Note: problems remain with the authentication API changes - calls to mn.login(), etc. need to be addressed.
Chris Jones
08:59 AM Revision 6143 (metacat): New D1 libclient and common 0.6.2 jars with changes to the ObjectFormat schema type (adds isScienceMetadata field).
Chris Jones
08:56 AM Revision 6142 (metacat): Removed ObjectFormatService in favor of CNCoreImpl
Chris Jones
08:53 AM Revision 6141 (metacat): Updated tests to use ObjectFormatCache.getInstance(), and added tests for CNCoreImpl.listFormats and getFormat().
Chris Jones
08:50 AM Revision 6140 (metacat): Added support in ResourceHandler for the /formats collection. Added listFormats() and getFormat() method, both of which call CNCoreImpl methods to handle the call.
Chris Jones
08:48 AM Revision 6139 (metacat): Updated CNCoreImpl to implement listFormats() and getFormat(), and changed calls to ObjectFormatCache in IdentifierManager, MetacatHandler to call getInstance(). Removed the ObjectFormatService registration from MetaCatServlet since it is replaced by CNCoreImpl.
Chris Jones
08:41 AM Revision 6138 (metacat): Added the /formats collection into the servlet-mappings for D1UrlFilter to handle.
Chris Jones

06/14/2011

12:03 AM Revision 6137 (metacat): Removed module index from docs because we don't have multiple modules yet.
Matt Jones

06/08/2011

05:08 PM Revision 6136 (metacat): add option for replicating system metadata (dataone)
https://redmine.dataone.org/issues/1626
also make sure the latest table changes are included in upgrade scripts
ben leinfelder
05:08 PM Revision 6135 (metacat): add option for replicating system metadata (dataone)
https://redmine.dataone.org/issues/1626 ben leinfelder
02:35 PM Revision 6134 (metacat): use Data Manager Library to parse EML when needed in DataONE classes.
(augmented DML to parse data format elements in EML to estimate MIME type)
https://redmine.dataone.org/issues/1634
ben leinfelder
06:25 AM Revision 6133 (metacat): When calling SystemMetadata.getObjectFormat(), return the string value of the ObjectFormatIdentifier rather than ObjectFormat.toString() (which no longer returns the fmtid string).
Chris Jones
06:24 AM Revision 6132 (metacat): When calling SystemMetadata.getObjectFormat(), return the string value of the ObjectFormatIdentifier rather than ObjectFormat.toString() (which no longer returns the fmtid string).
Chris Jones
06:22 AM Revision 6131 (metacat): When calling SystemMetadata.getObjectFormat(), return the value of the ObjectFormatIdentifier rather than ObjectFormat.toString() (which no longer returns the fmtid string).
Chris Jones

06/07/2011

02:56 PM Revision 6130 (metacat): organize imports so that it is clearer what dependencies exist on the D1 jars
ben leinfelder
12:08 PM Revision 6129 (metacat): include create() and reserveIdentifier() methods
ben leinfelder
11:14 AM Revision 6128 (metacat): include override annotation for register method
ben leinfelder
11:09 AM Revision 6127 (metacat): use Date not joda's DateTime
ben leinfelder
10:28 AM Revision 6126 (metacat): expose spatial cache regeneration option in the admin interface
ben leinfelder
10:27 AM Revision 6125 (metacat): force replication for newly-registered system metadata
ben leinfelder
09:53 AM Revision 6124 (metacat): Merged in the D1_0_6_2_BRANCH changes that include the transition from ObjectFormat calls to ObjectFormatCache calls.
Chris Jones

06/06/2011

03:56 PM Revision 6123 (metacat): check system metadata for the id as well (in cases when we only have system metadata)
ben leinfelder
03:28 PM Revision 6122 (metacat): include GUID column for xml_access and related methods for storing/retrieving access rules
ben leinfelder
12:08 PM Revision 6121 (metacat): implement the old interface for now (until 0.6.2)
ben leinfelder

06/03/2011

12:51 PM Revision 6120 (metacat): include CNCore implementation - only registerSystemMetadata is implemented at the moment. also - updated d1 jar (0.6.2) should be used since that is where the method is defined.
would like to consider making ResourceHandler more modular - seems like it does A LOT of different things ben leinfelder

06/02/2011

04:40 PM Revision 6119 (metacat): include System Metadata forced replication - just need to figure out when to call it!
ben leinfelder
 

Also available in: Atom