Project

General

Profile

Activity

From 06/17/2011 to 07/16/2011

07/15/2011

07:11 AM Revision 6353 (metacat): In D1NodeService.getLogRecords(), don't pass in null start and count params - set them to the defaults (0 and 1000).
Chris Jones
06:52 AM Revision 6352 (metacat): MNResourceHandler.getObject() was making a call to ObjectFormat.getFmtid() when an object format was null. Check that it is not null before trying getFmtid().
Chris Jones

07/14/2011

09:25 PM Revision 6351 (metacat): 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.
Chris Jones
08:04 PM Revision 6350 (metacat): Use CamelCaps for properties for better readability.
Chris Jones
04:27 PM Revision 6349 (metacat): include Mock version of looking up the base url for our own node - for testReplicate().
still expecting a failure during MN.replicate() since we are trying to add the replica to the same MN from which it c... ben leinfelder
03:12 PM Revision 6348 (metacat): allow alternative CNode implementations (subclasses) to be returned when D1Client.getCN() is called. The alternative is given in the Settings configuration via the D1Client.cnClassName property.
MockCNode in Metacat is an example of such an alternative and is used when Metacat requires methods of a CN be presen... ben leinfelder
02:25 PM Revision 6347 (metacat): In MNodeService.getCapabilities(), set the synchronization and replication properties of the node.
Chris Jones
02:22 PM Revision 6346 (metacat): Added node synchronization and replication properties.
Chris Jones
02:06 PM Revision 6345 (metacat): In MNodeService.getCapabilities(), set the serviceAvailable for each service supported.
Chris Jones
02:01 PM Revision 6344 (metacat): Added service availability properties for each of the MN services.
Chris Jones
01:20 PM Revision 6343 (metacat): In MNodeService.getCapabilities(), set the serviceVersion for each service supported.
Chris Jones
01:01 PM Revision 6342 (metacat): Added service version properties for each of the MN services.
Chris Jones
09:15 AM Revision 6341 (metacat): check reservation before create/update
ben leinfelder
01:52 AM Revision 6340 (metacat): Use D1 properties to set node values, and add the 'WAR VERSION' back into the node name for deployments.
Chris Jones

07/13/2011

03:09 PM Revision 6339 (metacat): add hasReservation() method (NotImplemented, however)
ben leinfelder
09:02 AM Revision 6338 (metacat): Test that the obsoletes and derivedFrom system metadata fields were set correctly.
Chris Jones

07/12/2011

03:02 PM Revision 6337 (metacat): use objectFormatIdentifier for listObjects()
remove provisional system metadata indicator - Metacat will not implement reserveIdentifier() ben leinfelder

07/11/2011

04:30 PM Revision 6336 (metacat): newer jars with better certificate exception handling as well as additional libclient implementations
ben leinfelder
12:19 PM Revision 6335 (metacat): use correct log name for the class
ben leinfelder
11:46 AM Revision 6334 (metacat): consistently construct username/groups for MetacatHandler calls - also consistently call isAuthorized
ben leinfelder

07/10/2011

07:56 PM Revision 6333 (metacat): add test for synchronization failed -- TODO: verify that the log record made it in the logs
ben leinfelder

07/08/2011

04:48 PM Revision 6332 (metacat): 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 duplica... ben leinfelder
04:05 PM Revision 6331 (metacat): provisional version of getOperationStatistics() -- not clear if we are meant to aggregate by hour or by day
ben leinfelder
03:06 PM Revision 6330 (metacat): provisional getCapabilities() implementation. Much of the synchronization information and node health is omitted.
ben leinfelder
02:53 PM Revision 6329 (metacat): include test for replicate() method -- still fails as not implemented
ben leinfelder
02:52 PM Revision 6328 (metacat): allow null objects (use default checksum)
ben leinfelder
02:46 PM Revision 6327 (metacat): wire-up the getCapabilities() and getOperationStatistics() methods for when they are actually implemented (tests fail now)
ben leinfelder
02:30 PM Revision 6326 (metacat): test listObjects()
ben leinfelder
02:23 PM Revision 6325 (metacat): include MNAuthorization tests
ben leinfelder
02:08 PM Revision 6324 (metacat): refactor to use common superclass D1NodeServiceTest for shared methods
ben leinfelder
02:08 PM Revision 6323 (metacat): simplify the get() method -- no need to use temp files for this operation
ben leinfelder

07/07/2011

03:16 PM Revision 6322 (metacat): test for getLogRecords -- with some semi-reasonable expectations on the return that is expected
ben leinfelder
03:14 PM Revision 6321 (metacat): implement d1 paging for the log record results
ben leinfelder
01:56 PM Revision 6320 (metacat): tests for isAuthorized and setAccessPolicy
ben leinfelder
01:36 PM Revision 6319 (metacat): include getLogRecords() test, though it is commented out at the moment
ben leinfelder
01:28 PM Revision 6318 (metacat): Reverting the resultset order in querySystemMetadata(). Thanks Ben.
Chris Jones
01:17 PM Revision 6317 (metacat): test for CN.getSystemMetadata()
ben leinfelder
01:11 PM Revision 6316 (metacat): 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.
Chris Jones
01:09 PM Revision 6315 (metacat): test CN.get()
ben leinfelder
01:02 PM Revision 6314 (metacat): Uncommented MNStorage tests.
Chris Jones
12:51 PM Revision 6313 (metacat): save systemmetadata when create() is called
ben leinfelder
12:31 PM Revision 6312 (metacat): Send the correct Date format in testGetLogRecords(). I've commented out certain tests in the suite until isAuthorized() functionality is working. It is returning a NotFound exception even though the object is clearly in Metacat.
Chris Jones
12:18 PM Revision 6311 (metacat): allow very minimal system metadata for provisional entries (CN.reserveIdentifier)
ben leinfelder
11:05 AM Revision 6310 (metacat): Fix a NullPointerException issue when the SubjectList in a Session is null.
Chris Jones
09:46 AM Revision 6309 (metacat): Add MNodeServiceTest tests for MNCore, MNRead, MNStorage, MNAuthorization implementations. MNReplication remains to be tested, as does MNCore.getCapabilities() and getOperationStatistics().
Chris Jones
05:45 AM Revision 6308 (metacat): Add the missing URL delimiter when building the D1 base service URL.
Chris Jones

07/06/2011

04:30 PM Revision 6307 (metacat): add the d1_common formats if they do not exist on the server
ben leinfelder
04:29 PM Revision 6306 (metacat): allow the test to read the OFL docid
ben leinfelder
04:29 PM Revision 6305 (metacat): check for null docid from access table -- using guid for many system meta rows
ben leinfelder
03:40 PM Revision 6304 (metacat): 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... ben leinfelder
01:35 PM Revision 6303 (metacat): remove resolve() test -- not implemented in Metacat
ben leinfelder
12:09 PM Revision 6302 (metacat): handle data objects (not sci meta) and also set the resulting pid so that create() can succeed
ben leinfelder
11:53 AM Revision 6301 (metacat): newer d1_common jar with updated MNCore interface
ben leinfelder
11:52 AM Revision 6300 (metacat): catch exceptions from system meta data query and throw service failure rather than swallowing them with an error msg
ben leinfelder
11:52 AM Revision 6299 (metacat): handle null values from DB better when querying system metadata
ben leinfelder
08:13 AM Revision 6298 (metacat): Update getOperationStatistics() to reflect the change in the signature, using ObjectFormatIdentifier instead of ObjectFormat.
Chris Jones
08:11 AM Revision 6297 (metacat): Modify monitor() to accept new parameters for getOperationStatisics() (fromDate, toDate) instead of 'period'. Added getDateAsUTC() to parse incoming fromDate and toDate parameter strings.
Chris Jones
07:59 AM Revision 6296 (metacat): 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.
Chris Jones

07/05/2011

04:20 PM Revision 6295 (metacat): add methods for testing CNodeService impl. Still some failing tests, but whittling them down
ben leinfelder
04:19 PM Revision 6294 (metacat): use super class' create() method
use string comparison for assertRelation method ben leinfelder
04:18 PM Revision 6293 (metacat): beef up isAuthorized method to check for "public" access rules and also for the rights holder
ben leinfelder
04:18 PM Revision 6292 (metacat): do not delete if the sysmeta doesn't exist
ben leinfelder
04:17 PM Revision 6291 (metacat): add "public" user subject
ben leinfelder
04:07 PM Revision 6290 (metacat): make the left panle look exactly the same as the left panel of index.jsp.
Jing Tao
12:33 PM Revision 6288 (metacat): 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.
Chris Jones
11:54 AM Revision 6287 (metacat): refactor to test the entire CN service impl
ben leinfelder
10:49 AM Revision 6286 (metacat): return all public objects for the search() method [for now]
ben leinfelder
07:51 AM Revision 6285 (metacat): Changed 'guid' to 'pid' to be in line with the D1 API.
Chris Jones

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
 

Also available in: Atom