saga-ogf SVN commit 1285: /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/

User: svn_ceriel Date: 2010/09/22 10:28 AM Modified: /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/error/ package.html /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/ NSDirectory.java, NSEntry.java, NSFactory.java /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/session/ Session.java, SessionFactory.java /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/task/ TaskContainer.java Log: A couple of modifications to make the Java language bindings more conforming to the latest Saga specs: - fixed signature of task_container.remove() (does not return anything now); - various namespaces constructors now take READ as default flag; - added the various versions of get_mtime(); - fixed signature of session constructors: no longer throws NotImplemented. File Changes: Directory: /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/error/ ============================================================================================ File [modified]: package.html Delta lines: +6 -0 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/error/package.html 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/error/package.html 2010-09-22 15:28:13 UTC (rev 1285) @@ -52,6 +52,12 @@ </p> <p> +The IncorrectType exception as described in the language-independent +SAGA specification does not exist in the Java Language Bindings for SAGA, +as Java has a ClassCastException for that purpose. +</p> + +<p> A simple mechanism exists for storing and examining exceptions that may be thrown by adaptors in adaptor-based Saga implementations. In such implementations, the top-level exception (the one highest up in the Saga exception hierarchy) is not Directory: /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/ ================================================================================================ File [modified]: NSDirectory.java Delta lines: +64 -0 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/NSDirectory.java 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/NSDirectory.java 2010-09-22 15:28:13 UTC (rev 1285) @@ -392,6 +392,54 @@ NoSuccessException; /** + * Returns the time of the last modification in seconds since epoch + * (01.01.1970) of the specified name. + * + * @param name + * the name of which the last modification time must be returned. + * @return + * the last modification time. + * @exception NotImplementedException + * is thrown if the implementation does not provide an + * implementation of this method. + * @exception PermissionDeniedException + * is thrown when the method failed because the identity used did + * not have sufficient permissions to perform the operation + * successfully. + * @exception AuthorizationFailedException + * is thrown when none of the available contexts of the + * used session could be used for successful authorization. + * This error indicates that the resource could not be accessed + * at all, and not that an operation was not available due to + * restricted permissions. + * @exception AuthenticationFailedException + * is thrown when operation failed because none of the available + * session contexts could successfully be used for authentication. + * @exception TimeoutException + * is thrown when a remote operation did not complete successfully + * because the network communication or the remote service timed + * out. + * @exception BadParameterException + * is thrown when the specified URL contains an invalid entry name. + * @exception IncorrectStateException + * is thrown when the NSDirectory is already closed. + * @exception IncorrectURLException + * is thrown when an implementation cannot handle the specified + * protocol, or that access to the specified entity via the + * given protocol is impossible. + * @exception DoesNotExistException + * is thrown if the specified name does not exist. + * @exception NoSuccessException + * is thrown when the operation was not successfully performed, + * and none of the other exceptions apply. + */ + public long getMTime(URL name) throws NotImplementedException, + IncorrectURLException, DoesNotExistException, AuthenticationFailedException, + AuthorizationFailedException, PermissionDeniedException, + BadParameterException, IncorrectStateException, TimeoutException, + NoSuccessException; + + /** * Tests the name for being a directory. * * @param name @@ -2367,6 +2415,22 @@ */ public Task<NSDirectory, Boolean> isLink(TaskMode mode, URL name) throws NotImplementedException; + + /** + * Creates a task that determines the last modification time of + * the specified name. + * + * @param mode + * the task mode. + * @param name + * of which the last modification time must be determined. + * @return the task. + * @exception NotImplementedException + * is thrown when the task version of this method is not + * implemented. + */ + public Task<NSDirectory, Long> getMTime(TaskMode mode, URL name) + throws NotImplementedException; /** * Creates a task that returns the URL representing the link target. File [modified]: NSEntry.java Delta lines: +50 -0 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/NSEntry.java 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/NSEntry.java 2010-09-22 15:28:13 UTC (rev 1285) @@ -234,6 +234,43 @@ TimeoutException, NoSuccessException; /** + * Returns the time of the last modification in seconds since epoch + * (01.01.1970). + * + * @return + * the last modification time. + * @exception NotImplementedException + * is thrown if the implementation does not provide an + * implementation of this method. + * @exception PermissionDeniedException + * is thrown when the method failed because the identity used did + * not have sufficient permissions to perform the operation + * successfully. + * @exception AuthorizationFailedException + * is thrown when none of the available contexts of the + * used session could be used for successful authorization. + * This error indicates that the resource could not be accessed + * at all, and not that an operation was not available due to + * restricted permissions. + * @exception AuthenticationFailedException + * is thrown when operation failed because none of the available + * session contexts could successfully be used for authentication. + * @exception TimeoutException + * is thrown when a remote operation did not complete successfully + * because the network communication or the remote service timed + * out. + * @exception IncorrectStateException + * is thrown when the NSEntry is already closed. + * @exception NoSuccessException + * is thrown when the operation was not successfully performed, + * and none of the other exceptions apply. + */ + public long getMTime() throws NotImplementedException, + AuthenticationFailedException, AuthorizationFailedException, + PermissionDeniedException, IncorrectStateException, + TimeoutException, NoSuccessException; + + /** * Copies this entry to another part of the namespace. * * @param target @@ -787,6 +824,19 @@ throws NotImplementedException; /** + * Creates a task that returns the last modification time of this entry. + * + * @param mode + * the task mode. + * @return the task. + * @exception NotImplementedException + * is thrown when the task version of this method is not + * implemented. + */ + public Task<NSEntry, Long> getMTime(TaskMode mode) + throws NotImplementedException; + + /** * Creates a task that tests this entry for being a directory. * * @param mode File [modified]: NSFactory.java Delta lines: +12 -12 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/NSFactory.java 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/namespace/NSFactory.java 2010-09-22 15:28:13 UTC (rev 1285) @@ -218,7 +218,7 @@ DoesNotExistException, AlreadyExistsException, TimeoutException, NoSuccessException { initializeFactory(); - return factory.doCreateNSEntry(session, name, Flags.NONE.getValue()); + return factory.doCreateNSEntry(session, name, Flags.READ.getValue()); } /** @@ -328,7 +328,7 @@ NoSuccessException { Session session = SessionFactory.createSession(); initializeFactory(); - return factory.doCreateNSEntry(session, name, Flags.NONE.getValue()); + return factory.doCreateNSEntry(session, name, Flags.READ.getValue()); } /** @@ -441,7 +441,7 @@ NoSuccessException { initializeFactory(); return factory - .doCreateNSDirectory(session, name, Flags.NONE.getValue()); + .doCreateNSDirectory(session, name, Flags.READ.getValue()); } /** @@ -552,7 +552,7 @@ Session session = SessionFactory.createSession(); initializeFactory(); return factory - .doCreateNSDirectory(session, name, Flags.NONE.getValue()); + .doCreateNSDirectory(session, name, Flags.READ.getValue()); } /** @@ -600,8 +600,8 @@ Session session, URL name) throws NotImplementedException, NoSuccessException { initializeFactory(); - return factory.doCreateNSEntry(mode, session, name, Flags.NONE - .getValue()); + return factory.doCreateNSEntry(mode, session, name, + Flags.READ.getValue()); } /** @@ -648,8 +648,8 @@ throws NotImplementedException, NoSuccessException { Session session = SessionFactory.createSession(); initializeFactory(); - return factory.doCreateNSEntry(mode, session, name, Flags.NONE - .getValue()); + return factory.doCreateNSEntry(mode, session, name, + Flags.READ.getValue()); } /** @@ -698,8 +698,8 @@ Session session, URL name) throws NotImplementedException, NoSuccessException { initializeFactory(); - return factory.doCreateNSDirectory(mode, session, name, Flags.NONE - .getValue()); + return factory.doCreateNSDirectory(mode, session, name, + Flags.READ.getValue()); } /** @@ -749,7 +749,7 @@ URL name) throws NotImplementedException, NoSuccessException { Session session = SessionFactory.createSession(); initializeFactory(); - return factory.doCreateNSDirectory(mode, session, name, Flags.NONE - .getValue()); + return factory.doCreateNSDirectory(mode, session, name, + Flags.READ.getValue()); } } Directory: /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/session/ ============================================================================================== File [modified]: Session.java Delta lines: +8 -1 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/session/Session.java 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/session/Session.java 2010-09-22 15:28:13 UTC (rev 1285) @@ -16,6 +16,12 @@ * * @param context * the context to be added. + * @exception NoSuccessException + * is thrown when the implementation is not able to initialize + * the context, and cannot use the context as-is. + * @exception TimeoutException + * is thrown if the context initialization implies a remote operation, + * and that operation times out. */ public void addContext(Context context) throws NoSuccessException, TimeoutException; @@ -32,7 +38,8 @@ /** * Retrieves all contexts attached to the session. An empty array is - * returned if no context is attached. + * returned if no context is attached. The contexts in the returned list + * are deep copies of the session's context. * * @return * a list of contexts. File [modified]: SessionFactory.java Delta lines: +3 -11 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/session/SessionFactory.java 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/session/SessionFactory.java 2010-09-22 15:28:13 UTC (rev 1285) @@ -2,7 +2,6 @@ import org.ogf.saga.bootstrap.ImplementationBootstrapLoader; import org.ogf.saga.error.NoSuccessException; -import org.ogf.saga.error.NotImplementedException; /** * Factory for creating sessions. @@ -27,7 +26,7 @@ * @return the session. */ protected abstract Session doCreateSession(boolean defaults) - throws NotImplementedException, NoSuccessException; + throws NoSuccessException; /** * Creates a session. @@ -38,15 +37,12 @@ * reflected in the default session. * @return * the session. - * @exception NotImplementedException - * is thrown if the implementation does not provide an - * implementation of this method. * @exception NoSuccessException * is thrown if the implementation cannot create valid * default values based on the available information. */ public static Session createSession(boolean defaults) - throws NotImplementedException, NoSuccessException { + throws NoSuccessException { initFactory(); return factory.doCreateSession(defaults); } @@ -57,15 +53,11 @@ * * @return * the session. - * @exception NotImplementedException - * is thrown if the implementation does not provide an - * implementation of this method. * @exception NoSuccessException * is thrown if the implementation cannot create valid * default values based on the available information. */ - public static Session createSession() throws NotImplementedException, - NoSuccessException { + public static Session createSession() throws NoSuccessException { return createSession(true); } } Directory: /trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/task/ =========================================================================================== File [modified]: TaskContainer.java Delta lines: +1 -3 =================================================================== --- trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/task/TaskContainer.java 2010-09-01 15:06:46 UTC (rev 1284) +++ trunk/documents/saga-core-binding-java/implementation/VU/src/org/ogf/saga/task/TaskContainer.java 2010-09-22 15:28:13 UTC (rev 1285) @@ -53,8 +53,6 @@ * * @param task * the task to be removed. - * @return - * the task. * @exception NotImplementedException * is thrown if the implementation does not provide an * implementation of this method. @@ -68,7 +66,7 @@ * is thrown when the operation was not successfully performed, * and none of the other exceptions apply. */ - public Task<?,?> remove(Task<?,?> task) throws NotImplementedException, + public void remove(Task<?,?> task) throws NotImplementedException, DoesNotExistException, TimeoutException, NoSuccessException; /**
participants (1)
-
ceriel@cs.vu.nl