package org.taverna -> org.apache.taverna
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/commit/00397eff Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/tree/00397eff Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/diff/00397eff Branch: refs/heads/master Commit: 00397eff0a8170b29906c56c06d5c624bd5fbbe2 Parents: 63fdb89 Author: Stian Soiland-Reyes <[email protected]> Authored: Tue Jan 9 23:22:30 2018 +0000 Committer: Stian Soiland-Reyes <[email protected]> Committed: Tue Jan 9 23:22:30 2018 +0000 ---------------------------------------------------------------------- .../server/port_description/AbsentValue.java | 26 + .../server/port_description/AbstractPort.java | 39 + .../AbstractPortDescription.java | 42 + .../server/port_description/AbstractValue.java | 45 + .../server/port_description/ErrorValue.java | 38 + .../port_description/InputDescription.java | 64 + .../server/port_description/LeafValue.java | 32 + .../server/port_description/ListValue.java | 45 + .../server/port_description/Namespaces.java | 25 + .../port_description/OutputDescription.java | 65 + .../server/port_description/package-info.java | 32 + .../port_description/utils/IntAdapter.java | 45 + .../server/port_description/AbsentValue.java | 26 - .../server/port_description/AbstractPort.java | 39 - .../AbstractPortDescription.java | 42 - .../server/port_description/AbstractValue.java | 45 - .../server/port_description/ErrorValue.java | 38 - .../port_description/InputDescription.java | 64 - .../server/port_description/LeafValue.java | 32 - .../server/port_description/ListValue.java | 45 - .../server/port_description/Namespaces.java | 25 - .../port_description/OutputDescription.java | 65 - .../server/port_description/package-info.java | 32 - .../port_description/utils/IntAdapter.java | 45 - .../server/port_description/JaxbSanityTest.java | 114 ++ .../server/port_description/JaxbSanityTest.java | 114 -- .../taverna/server/rmidaemon/Registry.java | 88 + .../taverna/server/rmidaemon/package-info.java | 21 + .../org/taverna/server/rmidaemon/Registry.java | 88 - .../taverna/server/rmidaemon/package-info.java | 21 - .../remote/IllegalStateTransitionException.java | 49 + .../remote/ImplementationException.java | 39 + .../localworker/remote/RemoteDirectory.java | 75 + .../remote/RemoteDirectoryEntry.java | 75 + .../server/localworker/remote/RemoteFile.java | 111 ++ .../server/localworker/remote/RemoteInput.java | 105 ++ .../localworker/remote/RemoteListener.java | 90 + .../localworker/remote/RemoteRunFactory.java | 97 ++ .../remote/RemoteSecurityContext.java | 47 + .../localworker/remote/RemoteSingleRun.java | 267 +++ .../server/localworker/remote/RemoteStatus.java | 53 + .../remote/StillWorkingOnItException.java | 33 + .../server/localworker/remote/package-info.java | 22 + .../localworker/server/UsageRecordReceiver.java | 42 + .../server/localworker/server/package-info.java | 22 + .../remote/IllegalStateTransitionException.java | 49 - .../remote/ImplementationException.java | 39 - .../localworker/remote/RemoteDirectory.java | 75 - .../remote/RemoteDirectoryEntry.java | 75 - .../server/localworker/remote/RemoteFile.java | 111 -- .../server/localworker/remote/RemoteInput.java | 105 -- .../localworker/remote/RemoteListener.java | 90 - .../localworker/remote/RemoteRunFactory.java | 97 -- .../remote/RemoteSecurityContext.java | 47 - .../localworker/remote/RemoteSingleRun.java | 267 --- .../server/localworker/remote/RemoteStatus.java | 53 - .../remote/StillWorkingOnItException.java | 33 - .../server/localworker/remote/package-info.java | 22 - .../localworker/server/UsageRecordReceiver.java | 42 - .../server/localworker/server/package-info.java | 22 - .../taverna/server/unixforker/Forker.java | 221 +++ .../org/taverna/server/unixforker/Forker.java | 221 --- .../master/ContentsDescriptorBuilder.java | 305 ++++ .../taverna/server/master/DirectoryREST.java | 388 +++++ .../server/master/FileConcatenation.java | 84 + .../apache/taverna/server/master/InputREST.java | 265 +++ .../taverna/server/master/InteractionFeed.java | 120 ++ .../server/master/ListenerPropertyREST.java | 91 + .../taverna/server/master/ListenersREST.java | 106 ++ .../taverna/server/master/ManagementState.java | 228 +++ .../apache/taverna/server/master/RunREST.java | 512 ++++++ .../taverna/server/master/RunSecurityREST.java | 316 ++++ .../server/master/SingleListenerREST.java | 110 ++ .../taverna/server/master/TavernaServer.java | 1438 ++++++++++++++++ .../server/master/TavernaServerSupport.java | 970 +++++++++++ .../taverna/server/master/admin/Admin.java | 1113 +++++++++++++ .../taverna/server/master/admin/AdminBean.java | 807 +++++++++ .../server/master/admin/package-info.java | 46 + .../taverna/server/master/api/ContentTypes.java | 63 + .../server/master/api/DirectoryBean.java | 32 + .../taverna/server/master/api/FeedBean.java | 29 + .../taverna/server/master/api/InputBean.java | 37 + .../server/master/api/ListenerPropertyBean.java | 31 + .../server/master/api/ListenersBean.java | 29 + .../server/master/api/ManagementModel.java | 74 + .../server/master/api/OneListenerBean.java | 30 + .../taverna/server/master/api/RunBean.java | 33 + .../taverna/server/master/api/SecurityBean.java | 30 + .../taverna/server/master/api/SupportAware.java | 37 + .../server/master/api/TavernaServerBean.java | 114 ++ .../taverna/server/master/api/package-info.java | 22 + .../server/master/common/Capability.java | 38 + .../server/master/common/Credential.java | 162 ++ .../server/master/common/DirEntryReference.java | 106 ++ .../server/master/common/InputDescription.java | 123 ++ .../server/master/common/Namespaces.java | 52 + .../server/master/common/Permission.java | 56 + .../server/master/common/ProfileList.java | 55 + .../taverna/server/master/common/Roles.java | 38 + .../server/master/common/RunReference.java | 80 + .../taverna/server/master/common/Status.java | 57 + .../taverna/server/master/common/Trust.java | 92 + .../taverna/server/master/common/Uri.java | 445 +++++ .../server/master/common/VersionedElement.java | 78 + .../taverna/server/master/common/Workflow.java | 380 +++++ .../server/master/common/package-info.java | 42 + .../server/master/common/version/Version.java | 56 + .../taverna/server/master/defaults/Default.java | 112 ++ .../server/master/defaults/package-info.java | 21 + .../exceptions/BadInputPortNameException.java | 34 + .../exceptions/BadPropertyValueException.java | 39 + .../exceptions/BadStateChangeException.java | 48 + .../exceptions/FilesystemAccessException.java | 51 + .../exceptions/GeneralFailureException.java | 41 + .../exceptions/InvalidCredentialException.java | 49 + .../master/exceptions/NoCreateException.java | 45 + .../exceptions/NoCredentialException.java | 31 + .../master/exceptions/NoDestroyException.java | 37 + .../exceptions/NoDirectoryEntryException.java | 37 + .../master/exceptions/NoListenerException.java | 46 + .../master/exceptions/NoUpdateException.java | 46 + .../master/exceptions/NotOwnerException.java | 36 + .../master/exceptions/OverloadedException.java | 48 + .../master/exceptions/UnknownRunException.java | 40 + .../server/master/exceptions/package-info.java | 42 + .../taverna/server/master/facade/Facade.java | 86 + .../server/master/facade/package-info.java | 23 + .../factories/ConfigurableRunFactory.java | 146 ++ .../master/factories/ListenerFactory.java | 59 + .../server/master/factories/RunFactory.java | 53 + .../server/master/factories/package-info.java | 23 + .../identity/AuthorityDerivedIDMapper.java | 63 + .../master/identity/CompositeIDMapper.java | 78 + .../master/identity/ConstantIDMapper.java | 45 + .../server/master/identity/NameIDMapper.java | 63 + .../identity/StrippedDownAuthProvider.java | 294 ++++ .../taverna/server/master/identity/User.java | 166 ++ .../server/master/identity/UserStore.java | 402 +++++ .../server/master/identity/UserStoreAPI.java | 107 ++ .../identity/WorkflowInternalAuthProvider.java | 317 ++++ .../server/master/identity/package-info.java | 23 + .../interaction/InteractionFeedSupport.java | 329 ++++ .../server/master/interaction/package-info.java | 23 + .../server/master/interfaces/Directory.java | 95 ++ .../master/interfaces/DirectoryEntry.java | 60 + .../taverna/server/master/interfaces/File.java | 82 + .../taverna/server/master/interfaces/Input.java | 105 ++ .../server/master/interfaces/Listener.java | 77 + .../master/interfaces/LocalIdentityMapper.java | 42 + .../master/interfaces/MessageDispatcher.java | 58 + .../server/master/interfaces/Policy.java | 133 ++ .../server/master/interfaces/RunStore.java | 95 ++ .../interfaces/SecurityContextFactory.java | 45 + .../server/master/interfaces/TavernaRun.java | 232 +++ .../interfaces/TavernaSecurityContext.java | 226 +++ .../master/interfaces/UriBuilderFactory.java | 56 + .../server/master/interfaces/package-info.java | 23 + .../localworker/AbstractRemoteRunFactory.java | 452 +++++ .../master/localworker/ForkRunFactory.java | 336 ++++ .../localworker/IdAwareForkRunFactory.java | 529 ++++++ .../master/localworker/LocalWorkerFactory.java | 44 + .../master/localworker/LocalWorkerState.java | 475 ++++++ .../master/localworker/PersistedState.java | 270 +++ .../server/master/localworker/StreamLogger.java | 78 + .../server/master/localworker/package-info.java | 23 + .../master/notification/EmailDispatcher.java | 126 ++ .../master/notification/JabberDispatcher.java | 153 ++ .../master/notification/NotificationEngine.java | 158 ++ .../notification/RateLimitedDispatcher.java | 102 ++ .../master/notification/SMSDispatcher.java | 171 ++ .../master/notification/TwitterDispatcher.java | 145 ++ .../master/notification/atom/AtomFeed.java | 147 ++ .../server/master/notification/atom/Event.java | 123 ++ .../master/notification/atom/EventDAO.java | 230 +++ .../master/notification/atom/package-info.java | 42 + .../master/notification/package-info.java | 23 + .../taverna/server/master/package-info.java | 24 + .../server/master/rest/ContentTypes.java | 41 + .../server/master/rest/DirectoryContents.java | 74 + .../taverna/server/master/rest/FileSegment.java | 91 + .../server/master/rest/InteractionFeedREST.java | 139 ++ .../server/master/rest/ListenerDefinition.java | 45 + .../master/rest/MakeOrUpdateDirEntry.java | 69 + .../master/rest/TavernaServerDirectoryREST.java | 253 +++ .../master/rest/TavernaServerInputREST.java | 368 ++++ .../master/rest/TavernaServerListenersREST.java | 441 +++++ .../server/master/rest/TavernaServerREST.java | 617 +++++++ .../master/rest/TavernaServerRunREST.java | 810 +++++++++ .../master/rest/TavernaServerSecurityREST.java | 788 +++++++++ .../rest/handler/AccessDeniedHandler.java | 34 + .../rest/handler/BadInputPortNameHandler.java | 36 + .../rest/handler/BadPropertyValueHandler.java | 36 + .../rest/handler/BadStateChangeHandler.java | 36 + .../master/rest/handler/EntryHandler.java | 147 ++ .../server/master/rest/handler/FeedHandler.java | 82 + .../rest/handler/FileConcatenationHandler.java | 77 + .../master/rest/handler/FileMessageHandler.java | 93 ++ .../master/rest/handler/FileSegmentHandler.java | 87 + .../rest/handler/FilesystemAccessHandler.java | 36 + .../rest/handler/GeneralFailureHandler.java | 34 + .../server/master/rest/handler/HandlerCore.java | 84 + .../rest/handler/IllegalArgumentHandler.java | 34 + .../handler/ImplementationProblemHandler.java | 34 + .../rest/handler/InputStreamMessageHandler.java | 120 ++ .../rest/handler/InvalidCredentialHandler.java | 36 + .../rest/handler/JAXBExceptionHandler.java | 35 + .../rest/handler/NegotiationFailedHandler.java | 38 + .../master/rest/handler/NoCreateHandler.java | 36 + .../rest/handler/NoCredentialHandler.java | 34 + .../master/rest/handler/NoDestroyHandler.java | 36 + .../rest/handler/NoDirectoryEntryHandler.java | 36 + .../master/rest/handler/NoListenerHandler.java | 36 + .../master/rest/handler/NoUpdateHandler.java | 36 + .../master/rest/handler/NotOwnerHandler.java | 34 + .../master/rest/handler/OverloadedHandler.java | 35 + .../master/rest/handler/PermissionHandler.java | 87 + .../rest/handler/Scufl2DocumentHandler.java | 100 ++ .../rest/handler/T2FlowDocumentHandler.java | 131 ++ .../master/rest/handler/URIListHandler.java | 134 ++ .../master/rest/handler/UnknownRunHandler.java | 36 + .../master/rest/handler/ZipStreamHandler.java | 67 + .../master/rest/handler/package-info.java | 44 + .../server/master/rest/package-info.java | 44 + .../taverna/server/master/soap/DirEntry.java | 113 ++ .../server/master/soap/FileContents.java | 184 ++ .../server/master/soap/PermissionList.java | 63 + .../server/master/soap/TavernaServerSOAP.java | 1566 ++++++++++++++++++ .../server/master/soap/WrappedWorkflow.java | 169 ++ .../server/master/soap/ZippedDirectory.java | 102 ++ .../server/master/soap/package-info.java | 44 + .../server/master/usage/UsageRecord.java | 130 ++ .../master/usage/UsageRecordRecorder.java | 178 ++ .../server/master/usage/package-info.java | 22 + .../server/master/utils/CallTimeLogger.java | 100 ++ .../server/master/utils/CallTimingFilter.java | 81 + .../server/master/utils/CapabilityLister.java | 60 + .../master/utils/CertificateChainFetcher.java | 212 +++ .../server/master/utils/Contextualizer.java | 79 + .../taverna/server/master/utils/DerbyUtils.java | 84 + .../server/master/utils/FilenameUtils.java | 281 ++++ .../utils/FlushThreadLocalCacheInterceptor.java | 34 + .../server/master/utils/InvocationCounter.java | 61 + .../taverna/server/master/utils/JCECheck.java | 73 + .../taverna/server/master/utils/JDOSupport.java | 285 ++++ .../master/utils/LoggingDerbyAdapter.java | 154 ++ .../server/master/utils/OneShotThread.java | 26 + .../taverna/server/master/utils/RestUtils.java | 45 + .../master/utils/RuntimeExceptionWrapper.java | 50 + .../server/master/utils/UsernamePrincipal.java | 82 + .../utils/WSDLHeadOptionsInterceptor.java | 81 + .../master/utils/WebappAwareDataSource.java | 147 ++ .../taverna/server/master/utils/X500Utils.java | 120 ++ .../server/master/utils/package-info.java | 23 + .../master/worker/CompletionNotifier.java | 58 + .../server/master/worker/FactoryBean.java | 39 + .../server/master/worker/PasswordIssuer.java | 73 + .../server/master/worker/PolicyImpl.java | 171 ++ .../server/master/worker/PolicyLimits.java | 56 + .../server/master/worker/RemoteRunDelegate.java | 980 +++++++++++ .../server/master/worker/RunConnection.java | 252 +++ .../server/master/worker/RunDBSupport.java | 96 ++ .../server/master/worker/RunDatabase.java | 324 ++++ .../server/master/worker/RunDatabaseDAO.java | 323 ++++ .../master/worker/RunFactoryConfiguration.java | 411 +++++ .../master/worker/SecurityContextDelegate.java | 662 ++++++++ .../worker/SecurityContextDelegateImpl.java | 311 ++++ .../master/worker/SecurityContextFactory.java | 167 ++ .../SimpleFormattedCompletionNotifier.java | 77 + .../worker/VelocityCompletionNotifier.java | 121 ++ .../server/master/worker/WorkerModel.java | 216 +++ .../server/master/worker/package-info.java | 23 + .../master/ContentsDescriptorBuilder.java | 305 ---- .../taverna/server/master/DirectoryREST.java | 388 ----- .../server/master/FileConcatenation.java | 84 - .../org/taverna/server/master/InputREST.java | 265 --- .../taverna/server/master/InteractionFeed.java | 120 -- .../server/master/ListenerPropertyREST.java | 91 - .../taverna/server/master/ListenersREST.java | 106 -- .../taverna/server/master/ManagementState.java | 228 --- .../java/org/taverna/server/master/RunREST.java | 512 ------ .../taverna/server/master/RunSecurityREST.java | 316 ---- .../server/master/SingleListenerREST.java | 110 -- .../taverna/server/master/TavernaServer.java | 1438 ---------------- .../server/master/TavernaServerSupport.java | 970 ----------- .../org/taverna/server/master/admin/Admin.java | 1113 ------------- .../taverna/server/master/admin/AdminBean.java | 807 --------- .../server/master/admin/package-info.java | 46 - .../taverna/server/master/api/ContentTypes.java | 63 - .../server/master/api/DirectoryBean.java | 32 - .../org/taverna/server/master/api/FeedBean.java | 29 - .../taverna/server/master/api/InputBean.java | 37 - .../server/master/api/ListenerPropertyBean.java | 31 - .../server/master/api/ListenersBean.java | 29 - .../server/master/api/ManagementModel.java | 74 - .../server/master/api/OneListenerBean.java | 30 - .../org/taverna/server/master/api/RunBean.java | 33 - .../taverna/server/master/api/SecurityBean.java | 30 - .../taverna/server/master/api/SupportAware.java | 37 - .../server/master/api/TavernaServerBean.java | 114 -- .../taverna/server/master/api/package-info.java | 22 - .../server/master/common/Capability.java | 38 - .../server/master/common/Credential.java | 162 -- .../server/master/common/DirEntryReference.java | 106 -- .../server/master/common/InputDescription.java | 123 -- .../server/master/common/Namespaces.java | 52 - .../server/master/common/Permission.java | 56 - .../server/master/common/ProfileList.java | 55 - .../org/taverna/server/master/common/Roles.java | 38 - .../server/master/common/RunReference.java | 80 - .../taverna/server/master/common/Status.java | 57 - .../org/taverna/server/master/common/Trust.java | 92 - .../org/taverna/server/master/common/Uri.java | 445 ----- .../server/master/common/VersionedElement.java | 78 - .../taverna/server/master/common/Workflow.java | 380 ----- .../server/master/common/package-info.java | 42 - .../server/master/common/version/Version.java | 56 - .../taverna/server/master/defaults/Default.java | 112 -- .../server/master/defaults/package-info.java | 21 - .../exceptions/BadInputPortNameException.java | 34 - .../exceptions/BadPropertyValueException.java | 39 - .../exceptions/BadStateChangeException.java | 48 - .../exceptions/FilesystemAccessException.java | 51 - .../exceptions/GeneralFailureException.java | 41 - .../exceptions/InvalidCredentialException.java | 49 - .../master/exceptions/NoCreateException.java | 45 - .../exceptions/NoCredentialException.java | 31 - .../master/exceptions/NoDestroyException.java | 37 - .../exceptions/NoDirectoryEntryException.java | 37 - .../master/exceptions/NoListenerException.java | 46 - .../master/exceptions/NoUpdateException.java | 46 - .../master/exceptions/NotOwnerException.java | 36 - .../master/exceptions/OverloadedException.java | 48 - .../master/exceptions/UnknownRunException.java | 40 - .../server/master/exceptions/package-info.java | 42 - .../taverna/server/master/facade/Facade.java | 86 - .../server/master/facade/package-info.java | 23 - .../factories/ConfigurableRunFactory.java | 146 -- .../master/factories/ListenerFactory.java | 59 - .../server/master/factories/RunFactory.java | 53 - .../server/master/factories/package-info.java | 23 - .../identity/AuthorityDerivedIDMapper.java | 63 - .../master/identity/CompositeIDMapper.java | 78 - .../master/identity/ConstantIDMapper.java | 45 - .../server/master/identity/NameIDMapper.java | 63 - .../identity/StrippedDownAuthProvider.java | 294 ---- .../taverna/server/master/identity/User.java | 166 -- .../server/master/identity/UserStore.java | 402 ----- .../server/master/identity/UserStoreAPI.java | 107 -- .../identity/WorkflowInternalAuthProvider.java | 317 ---- .../server/master/identity/package-info.java | 23 - .../interaction/InteractionFeedSupport.java | 329 ---- .../server/master/interaction/package-info.java | 23 - .../server/master/interfaces/Directory.java | 95 -- .../master/interfaces/DirectoryEntry.java | 60 - .../taverna/server/master/interfaces/File.java | 82 - .../taverna/server/master/interfaces/Input.java | 105 -- .../server/master/interfaces/Listener.java | 77 - .../master/interfaces/LocalIdentityMapper.java | 42 - .../master/interfaces/MessageDispatcher.java | 58 - .../server/master/interfaces/Policy.java | 133 -- .../server/master/interfaces/RunStore.java | 95 -- .../interfaces/SecurityContextFactory.java | 45 - .../server/master/interfaces/TavernaRun.java | 232 --- .../interfaces/TavernaSecurityContext.java | 226 --- .../master/interfaces/UriBuilderFactory.java | 56 - .../server/master/interfaces/package-info.java | 23 - .../localworker/AbstractRemoteRunFactory.java | 452 ----- .../master/localworker/ForkRunFactory.java | 336 ---- .../localworker/IdAwareForkRunFactory.java | 529 ------ .../master/localworker/LocalWorkerFactory.java | 44 - .../master/localworker/LocalWorkerState.java | 475 ------ .../master/localworker/PersistedState.java | 270 --- .../server/master/localworker/StreamLogger.java | 78 - .../server/master/localworker/package-info.java | 23 - .../master/notification/EmailDispatcher.java | 126 -- .../master/notification/JabberDispatcher.java | 153 -- .../master/notification/NotificationEngine.java | 158 -- .../notification/RateLimitedDispatcher.java | 102 -- .../master/notification/SMSDispatcher.java | 171 -- .../master/notification/TwitterDispatcher.java | 145 -- .../master/notification/atom/AtomFeed.java | 147 -- .../server/master/notification/atom/Event.java | 123 -- .../master/notification/atom/EventDAO.java | 230 --- .../master/notification/atom/package-info.java | 42 - .../master/notification/package-info.java | 23 - .../org/taverna/server/master/package-info.java | 24 - .../server/master/rest/ContentTypes.java | 41 - .../server/master/rest/DirectoryContents.java | 74 - .../taverna/server/master/rest/FileSegment.java | 91 - .../server/master/rest/InteractionFeedREST.java | 139 -- .../server/master/rest/ListenerDefinition.java | 45 - .../master/rest/MakeOrUpdateDirEntry.java | 69 - .../master/rest/TavernaServerDirectoryREST.java | 253 --- .../master/rest/TavernaServerInputREST.java | 368 ---- .../master/rest/TavernaServerListenersREST.java | 441 ----- .../server/master/rest/TavernaServerREST.java | 617 ------- .../master/rest/TavernaServerRunREST.java | 810 --------- .../master/rest/TavernaServerSecurityREST.java | 788 --------- .../rest/handler/AccessDeniedHandler.java | 34 - .../rest/handler/BadInputPortNameHandler.java | 36 - .../rest/handler/BadPropertyValueHandler.java | 36 - .../rest/handler/BadStateChangeHandler.java | 36 - .../master/rest/handler/EntryHandler.java | 147 -- .../server/master/rest/handler/FeedHandler.java | 82 - .../rest/handler/FileConcatenationHandler.java | 77 - .../master/rest/handler/FileMessageHandler.java | 93 -- .../master/rest/handler/FileSegmentHandler.java | 87 - .../rest/handler/FilesystemAccessHandler.java | 36 - .../rest/handler/GeneralFailureHandler.java | 34 - .../server/master/rest/handler/HandlerCore.java | 84 - .../rest/handler/IllegalArgumentHandler.java | 34 - .../handler/ImplementationProblemHandler.java | 34 - .../rest/handler/InputStreamMessageHandler.java | 120 -- .../rest/handler/InvalidCredentialHandler.java | 36 - .../rest/handler/JAXBExceptionHandler.java | 35 - .../rest/handler/NegotiationFailedHandler.java | 38 - .../master/rest/handler/NoCreateHandler.java | 36 - .../rest/handler/NoCredentialHandler.java | 34 - .../master/rest/handler/NoDestroyHandler.java | 36 - .../rest/handler/NoDirectoryEntryHandler.java | 36 - .../master/rest/handler/NoListenerHandler.java | 36 - .../master/rest/handler/NoUpdateHandler.java | 36 - .../master/rest/handler/NotOwnerHandler.java | 34 - .../master/rest/handler/OverloadedHandler.java | 35 - .../master/rest/handler/PermissionHandler.java | 87 - .../rest/handler/Scufl2DocumentHandler.java | 100 -- .../rest/handler/T2FlowDocumentHandler.java | 131 -- .../master/rest/handler/URIListHandler.java | 134 -- .../master/rest/handler/UnknownRunHandler.java | 36 - .../master/rest/handler/ZipStreamHandler.java | 67 - .../master/rest/handler/package-info.java | 44 - .../server/master/rest/package-info.java | 44 - .../taverna/server/master/soap/DirEntry.java | 113 -- .../server/master/soap/FileContents.java | 184 -- .../server/master/soap/PermissionList.java | 63 - .../server/master/soap/TavernaServerSOAP.java | 1566 ------------------ .../server/master/soap/WrappedWorkflow.java | 169 -- .../server/master/soap/ZippedDirectory.java | 102 -- .../server/master/soap/package-info.java | 44 - .../server/master/usage/UsageRecord.java | 130 -- .../master/usage/UsageRecordRecorder.java | 178 -- .../server/master/usage/package-info.java | 22 - .../server/master/utils/CallTimeLogger.java | 100 -- .../server/master/utils/CallTimingFilter.java | 81 - .../server/master/utils/CapabilityLister.java | 60 - .../master/utils/CertificateChainFetcher.java | 212 --- .../server/master/utils/Contextualizer.java | 79 - .../taverna/server/master/utils/DerbyUtils.java | 84 - .../server/master/utils/FilenameUtils.java | 281 ---- .../utils/FlushThreadLocalCacheInterceptor.java | 34 - .../server/master/utils/InvocationCounter.java | 61 - .../taverna/server/master/utils/JCECheck.java | 73 - .../taverna/server/master/utils/JDOSupport.java | 285 ---- .../master/utils/LoggingDerbyAdapter.java | 154 -- .../server/master/utils/OneShotThread.java | 26 - .../taverna/server/master/utils/RestUtils.java | 45 - .../master/utils/RuntimeExceptionWrapper.java | 50 - .../server/master/utils/UsernamePrincipal.java | 82 - .../utils/WSDLHeadOptionsInterceptor.java | 81 - .../master/utils/WebappAwareDataSource.java | 147 -- .../taverna/server/master/utils/X500Utils.java | 120 -- .../server/master/utils/package-info.java | 23 - .../master/worker/CompletionNotifier.java | 58 - .../server/master/worker/FactoryBean.java | 39 - .../server/master/worker/PasswordIssuer.java | 73 - .../server/master/worker/PolicyImpl.java | 171 -- .../server/master/worker/PolicyLimits.java | 56 - .../server/master/worker/RemoteRunDelegate.java | 980 ----------- .../server/master/worker/RunConnection.java | 252 --- .../server/master/worker/RunDBSupport.java | 96 -- .../server/master/worker/RunDatabase.java | 324 ---- .../server/master/worker/RunDatabaseDAO.java | 323 ---- .../master/worker/RunFactoryConfiguration.java | 411 ----- .../master/worker/SecurityContextDelegate.java | 662 -------- .../worker/SecurityContextDelegateImpl.java | 311 ---- .../master/worker/SecurityContextFactory.java | 167 -- .../SimpleFormattedCompletionNotifier.java | 77 - .../worker/VelocityCompletionNotifier.java | 121 -- .../server/master/worker/WorkerModel.java | 216 --- .../server/master/worker/package-info.java | 23 - .../taverna/server/master/JaxbSanityTest.java | 370 +++++ .../server/master/TavernaServerImplTest.java | 262 +++ .../master/WorkflowSerializationTest.java | 84 + .../taverna/server/master/mocks/ExampleRun.java | 465 ++++++ .../taverna/server/master/mocks/MockPolicy.java | 75 + .../master/mocks/SimpleListenerFactory.java | 80 + .../mocks/SimpleNonpersistentRunStore.java | 167 ++ .../server/master/mocks/SimpleServerPolicy.java | 126 ++ .../taverna/server/master/JaxbSanityTest.java | 370 ----- .../server/master/TavernaServerImplTest.java | 262 --- .../master/WorkflowSerializationTest.java | 84 - .../taverna/server/master/mocks/ExampleRun.java | 465 ------ .../taverna/server/master/mocks/MockPolicy.java | 75 - .../master/mocks/SimpleListenerFactory.java | 80 - .../mocks/SimpleNonpersistentRunStore.java | 167 -- .../server/master/mocks/SimpleServerPolicy.java | 126 -- .../server/localworker/api/Constants.java | 154 ++ .../server/localworker/api/RunAccounting.java | 35 + .../taverna/server/localworker/api/Worker.java | 148 ++ .../server/localworker/api/WorkerFactory.java | 34 + .../localworker/impl/DirectoryDelegate.java | 174 ++ .../server/localworker/impl/FileDelegate.java | 155 ++ .../server/localworker/impl/LocalWorker.java | 782 +++++++++ .../localworker/impl/TavernaRunManager.java | 255 +++ .../server/localworker/impl/WorkerCore.java | 931 +++++++++++ .../impl/utils/FilenameVerifier.java | 169 ++ .../localworker/impl/utils/TimingOutTask.java | 56 + .../server/localworker/api/Constants.java | 154 -- .../server/localworker/api/RunAccounting.java | 35 - .../taverna/server/localworker/api/Worker.java | 148 -- .../server/localworker/api/WorkerFactory.java | 34 - .../localworker/impl/DirectoryDelegate.java | 174 -- .../server/localworker/impl/FileDelegate.java | 155 -- .../server/localworker/impl/LocalWorker.java | 782 --------- .../localworker/impl/TavernaRunManager.java | 255 --- .../server/localworker/impl/WorkerCore.java | 931 ----------- .../impl/utils/FilenameVerifier.java | 169 -- .../localworker/impl/utils/TimingOutTask.java | 56 - .../localworker/impl/LocalWorkerTest.java | 564 +++++++ .../localworker/impl/LocalWorkerTest.java | 564 ------- 520 files changed, 39308 insertions(+), 39308 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbsentValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbsentValue.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbsentValue.java new file mode 100644 index 0000000..140d6a5 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbsentValue.java @@ -0,0 +1,26 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import javax.xml.bind.annotation.XmlType; + +@XmlType(name = "AbsentValue") +public class AbsentValue extends AbstractValue { + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPort.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPort.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPort.java new file mode 100644 index 0000000..5ed8d70 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPort.java @@ -0,0 +1,39 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlID; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + +import org.taverna.server.port_description.utils.IntAdapter; + +@XmlType(name = "Port") +public class AbstractPort { + @XmlID + @XmlAttribute(required = true) + public String name; + + @XmlAttribute + @XmlSchemaType(name = "int") + @XmlJavaTypeAdapter(IntAdapter.class) + public Integer depth; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPortDescription.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPortDescription.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPortDescription.java new file mode 100644 index 0000000..721e8c8 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractPortDescription.java @@ -0,0 +1,42 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.net.URI; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + +@XmlType(name = "PortDescription") +public abstract class AbstractPortDescription { + @XmlAttribute + public String workflowId; + @XmlAttribute + @XmlSchemaType(name = "anyURI") + public URI workflowRun; + @XmlAttribute + public String workflowRunId; + + public void fillInBaseData(String docId, String runId, URI runUrl) { + this.workflowId = docId; + this.workflowRun = runUrl; + this.workflowRunId = runId; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractValue.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractValue.java new file mode 100644 index 0000000..1ded5c7 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/AbstractValue.java @@ -0,0 +1,45 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import static org.taverna.server.port_description.Namespaces.XLINK; + +import java.net.URI; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + +@XmlType(name = "Value") +@XmlSeeAlso( { ErrorValue.class, LeafValue.class, ListValue.class, AbsentValue.class }) +public abstract class AbstractValue { + @XmlAttribute(namespace = XLINK) + @XmlSchemaType(name = "anyURI") + public URI href; + + public void setAddress(URI uri, String localAddress) { + if (uri.getPath().endsWith("/")) { + href = URI.create(uri + "wd/out/" + localAddress); + } else { + href = URI.create(uri + "/wd/out/" + localAddress); + } + //about = "out/" + localAddress; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ErrorValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ErrorValue.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ErrorValue.java new file mode 100644 index 0000000..641c380 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ErrorValue.java @@ -0,0 +1,38 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + +import org.taverna.server.port_description.utils.IntAdapter; + +@XmlType(name = "ErrorValue") +public class ErrorValue extends AbstractValue { + @XmlAttribute + @XmlSchemaType(name = "int") + @XmlJavaTypeAdapter(IntAdapter.class) + public Integer depth; + @XmlAttribute(name = "errorFile") + public String fileName; + @XmlAttribute(name = "errorByteLength") + public Long byteLength; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/InputDescription.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/InputDescription.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/InputDescription.java new file mode 100644 index 0000000..c11baa1 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/InputDescription.java @@ -0,0 +1,64 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import static org.taverna.server.port_description.Namespaces.XLINK; + +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + +/** + * A description of the inputs of a workflow run, as they are currently known + * about. + * + * @author Donal Fellows. + */ +@XmlRootElement +public class InputDescription extends AbstractPortDescription { + @XmlElement + public List<InputPort> input = new ArrayList<>(); + + @XmlType(name = "InputPort") + public static class InputPort extends AbstractPort { + @XmlAttribute(namespace = XLINK) + @XmlSchemaType(name = "anyURI") + public URI href; + } + + /** + * Add an input port to the list of ports. + * + * @param name + * The name of the port to add. + * @return The port (so that its details may be set); + */ + public InputPort addPort(String name) { + InputPort p = new InputPort(); + p.name = name; + input.add(p); + return p; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/LeafValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/LeafValue.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/LeafValue.java new file mode 100644 index 0000000..95658bc --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/LeafValue.java @@ -0,0 +1,32 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; + +@XmlType(name = "LeafValue") +public class LeafValue extends AbstractValue { + @XmlAttribute(name = "contentFile") + public String fileName; + @XmlAttribute(name = "contentType") + public String contentType; + @XmlAttribute(name = "contentByteLength") + public Long byteLength; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ListValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ListValue.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ListValue.java new file mode 100644 index 0000000..f3e8ff1 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/ListValue.java @@ -0,0 +1,45 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.ArrayList; +import java.util.List; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + +import org.taverna.server.port_description.utils.IntAdapter; + +@XmlType(name = "ListValue") +public class ListValue extends AbstractValue { + @XmlAttribute + @XmlSchemaType(name = "int") + @XmlJavaTypeAdapter(IntAdapter.class) + public Integer length; + @XmlElements({ + @XmlElement(name = "value", type = LeafValue.class, nillable = false), + @XmlElement(name = "list", type = ListValue.class, nillable = false), + @XmlElement(name = "error", type = ErrorValue.class, nillable = false), + @XmlElement(name = "absent", type = AbsentValue.class, nillable = false) }) + public List<AbstractValue> contents = new ArrayList<>(); +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/Namespaces.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/Namespaces.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/Namespaces.java new file mode 100644 index 0000000..f60e6c4 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/Namespaces.java @@ -0,0 +1,25 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +public interface Namespaces { + static final String DATA = "http://ns.taverna.org.uk/2010/port/"; + static final String RUN = "http://ns.taverna.org.uk/2010/run/"; + static final String XLINK = "http://www.w3.org/1999/xlink"; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/OutputDescription.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/OutputDescription.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/OutputDescription.java new file mode 100644 index 0000000..2f402d1 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/OutputDescription.java @@ -0,0 +1,65 @@ +/* + */ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.ArrayList; +import java.util.List; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +/** + * A description of the outputs of a workflow run, as they are currently known + * about. + * + * @author Donal Fellows + */ +@XmlRootElement(name = "workflowOutputs") +public class OutputDescription extends AbstractPortDescription { + private static final AbsentValue ABSENT_VALUE = new AbsentValue(); + @XmlElement(name = "output") + public List<OutputPort> ports = new ArrayList<>(); + + @XmlType(name = "OutputPort") + public static class OutputPort extends AbstractPort { + @XmlElements({ + @XmlElement(name = "value", type = LeafValue.class, nillable = false, required = true), + @XmlElement(name = "list", type = ListValue.class, nillable = false, required = true), + @XmlElement(name = "error", type = ErrorValue.class, nillable = false, required = true), + @XmlElement(name = "absent", type = AbsentValue.class, nillable = false, required = true) }) + public AbstractValue output; + } + + /** + * Add an output port to the list of ports. + * + * @param name + * The name of the port to add. + * @return The port (so that its value may be set); + */ + public OutputPort addPort(String name) { + OutputPort p = new OutputPort(); + p.name = name; + p.output = ABSENT_VALUE; + ports.add(p); + return p; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/package-info.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/package-info.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/package-info.java new file mode 100644 index 0000000..76228db --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/package-info.java @@ -0,0 +1,32 @@ +/* + */ +@XmlSchema(namespace = DATA, elementFormDefault = QUALIFIED, attributeFormDefault = QUALIFIED, xmlns = { + @XmlNs(prefix = "port", namespaceURI = DATA), + @XmlNs(prefix = "xlink", namespaceURI = XLINK), + @XmlNs(prefix = "run", namespaceURI = RUN) }) +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import static javax.xml.bind.annotation.XmlNsForm.QUALIFIED; +import static org.taverna.server.port_description.Namespaces.DATA; +import static org.taverna.server.port_description.Namespaces.RUN; +import static org.taverna.server.port_description.Namespaces.XLINK; + +import javax.xml.bind.annotation.XmlNs; +import javax.xml.bind.annotation.XmlSchema; + http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/utils/IntAdapter.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/utils/IntAdapter.java b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/utils/IntAdapter.java new file mode 100644 index 0000000..de9a3a8 --- /dev/null +++ b/taverna-server-port-description/src/main/java/org/apache/taverna/server/port_description/utils/IntAdapter.java @@ -0,0 +1,45 @@ +/* + */ +package org.taverna.server.port_description.utils; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import static javax.xml.bind.DatatypeConverter.parseInt; +import static javax.xml.bind.DatatypeConverter.printInt; + +import javax.xml.bind.annotation.adapters.XmlAdapter; + +/** + * A type conversion utility for use with JAXB. + * + * @author Donal Fellows + */ +public class IntAdapter extends XmlAdapter<String, Integer> { + @Override + public String marshal(Integer value) throws Exception { + if (value == null) + return null; + return printInt(value); + } + + @Override + public Integer unmarshal(String value) throws Exception { + if (value == null) + return null; + return parseInt(value); + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbsentValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbsentValue.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbsentValue.java deleted file mode 100644 index 140d6a5..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbsentValue.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = "AbsentValue") -public class AbsentValue extends AbstractValue { - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPort.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPort.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPort.java deleted file mode 100644 index 5ed8d70..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPort.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlID; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import org.taverna.server.port_description.utils.IntAdapter; - -@XmlType(name = "Port") -public class AbstractPort { - @XmlID - @XmlAttribute(required = true) - public String name; - - @XmlAttribute - @XmlSchemaType(name = "int") - @XmlJavaTypeAdapter(IntAdapter.class) - public Integer depth; -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPortDescription.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPortDescription.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPortDescription.java deleted file mode 100644 index 721e8c8..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractPortDescription.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.net.URI; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = "PortDescription") -public abstract class AbstractPortDescription { - @XmlAttribute - public String workflowId; - @XmlAttribute - @XmlSchemaType(name = "anyURI") - public URI workflowRun; - @XmlAttribute - public String workflowRunId; - - public void fillInBaseData(String docId, String runId, URI runUrl) { - this.workflowId = docId; - this.workflowRun = runUrl; - this.workflowRunId = runId; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractValue.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractValue.java deleted file mode 100644 index 1ded5c7..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/AbstractValue.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import static org.taverna.server.port_description.Namespaces.XLINK; - -import java.net.URI; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlSeeAlso; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = "Value") -@XmlSeeAlso( { ErrorValue.class, LeafValue.class, ListValue.class, AbsentValue.class }) -public abstract class AbstractValue { - @XmlAttribute(namespace = XLINK) - @XmlSchemaType(name = "anyURI") - public URI href; - - public void setAddress(URI uri, String localAddress) { - if (uri.getPath().endsWith("/")) { - href = URI.create(uri + "wd/out/" + localAddress); - } else { - href = URI.create(uri + "/wd/out/" + localAddress); - } - //about = "out/" + localAddress; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ErrorValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ErrorValue.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ErrorValue.java deleted file mode 100644 index 641c380..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ErrorValue.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import org.taverna.server.port_description.utils.IntAdapter; - -@XmlType(name = "ErrorValue") -public class ErrorValue extends AbstractValue { - @XmlAttribute - @XmlSchemaType(name = "int") - @XmlJavaTypeAdapter(IntAdapter.class) - public Integer depth; - @XmlAttribute(name = "errorFile") - public String fileName; - @XmlAttribute(name = "errorByteLength") - public Long byteLength; -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/InputDescription.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/InputDescription.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/InputDescription.java deleted file mode 100644 index c11baa1..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/InputDescription.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import static org.taverna.server.port_description.Namespaces.XLINK; - -import java.net.URI; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; - -/** - * A description of the inputs of a workflow run, as they are currently known - * about. - * - * @author Donal Fellows. - */ -@XmlRootElement -public class InputDescription extends AbstractPortDescription { - @XmlElement - public List<InputPort> input = new ArrayList<>(); - - @XmlType(name = "InputPort") - public static class InputPort extends AbstractPort { - @XmlAttribute(namespace = XLINK) - @XmlSchemaType(name = "anyURI") - public URI href; - } - - /** - * Add an input port to the list of ports. - * - * @param name - * The name of the port to add. - * @return The port (so that its details may be set); - */ - public InputPort addPort(String name) { - InputPort p = new InputPort(); - p.name = name; - input.add(p); - return p; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/LeafValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/LeafValue.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/LeafValue.java deleted file mode 100644 index 95658bc..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/LeafValue.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = "LeafValue") -public class LeafValue extends AbstractValue { - @XmlAttribute(name = "contentFile") - public String fileName; - @XmlAttribute(name = "contentType") - public String contentType; - @XmlAttribute(name = "contentByteLength") - public Long byteLength; -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ListValue.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ListValue.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ListValue.java deleted file mode 100644 index f3e8ff1..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/ListValue.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElements; -import javax.xml.bind.annotation.XmlSchemaType; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import org.taverna.server.port_description.utils.IntAdapter; - -@XmlType(name = "ListValue") -public class ListValue extends AbstractValue { - @XmlAttribute - @XmlSchemaType(name = "int") - @XmlJavaTypeAdapter(IntAdapter.class) - public Integer length; - @XmlElements({ - @XmlElement(name = "value", type = LeafValue.class, nillable = false), - @XmlElement(name = "list", type = ListValue.class, nillable = false), - @XmlElement(name = "error", type = ErrorValue.class, nillable = false), - @XmlElement(name = "absent", type = AbsentValue.class, nillable = false) }) - public List<AbstractValue> contents = new ArrayList<>(); -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/Namespaces.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/Namespaces.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/Namespaces.java deleted file mode 100644 index f60e6c4..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/Namespaces.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public interface Namespaces { - static final String DATA = "http://ns.taverna.org.uk/2010/port/"; - static final String RUN = "http://ns.taverna.org.uk/2010/run/"; - static final String XLINK = "http://www.w3.org/1999/xlink"; -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/OutputDescription.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/OutputDescription.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/OutputDescription.java deleted file mode 100644 index 2f402d1..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/OutputDescription.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - */ -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElements; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -/** - * A description of the outputs of a workflow run, as they are currently known - * about. - * - * @author Donal Fellows - */ -@XmlRootElement(name = "workflowOutputs") -public class OutputDescription extends AbstractPortDescription { - private static final AbsentValue ABSENT_VALUE = new AbsentValue(); - @XmlElement(name = "output") - public List<OutputPort> ports = new ArrayList<>(); - - @XmlType(name = "OutputPort") - public static class OutputPort extends AbstractPort { - @XmlElements({ - @XmlElement(name = "value", type = LeafValue.class, nillable = false, required = true), - @XmlElement(name = "list", type = ListValue.class, nillable = false, required = true), - @XmlElement(name = "error", type = ErrorValue.class, nillable = false, required = true), - @XmlElement(name = "absent", type = AbsentValue.class, nillable = false, required = true) }) - public AbstractValue output; - } - - /** - * Add an output port to the list of ports. - * - * @param name - * The name of the port to add. - * @return The port (so that its value may be set); - */ - public OutputPort addPort(String name) { - OutputPort p = new OutputPort(); - p.name = name; - p.output = ABSENT_VALUE; - ports.add(p); - return p; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/package-info.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/package-info.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/package-info.java deleted file mode 100644 index 76228db..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/package-info.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - */ -@XmlSchema(namespace = DATA, elementFormDefault = QUALIFIED, attributeFormDefault = QUALIFIED, xmlns = { - @XmlNs(prefix = "port", namespaceURI = DATA), - @XmlNs(prefix = "xlink", namespaceURI = XLINK), - @XmlNs(prefix = "run", namespaceURI = RUN) }) -package org.taverna.server.port_description; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import static javax.xml.bind.annotation.XmlNsForm.QUALIFIED; -import static org.taverna.server.port_description.Namespaces.DATA; -import static org.taverna.server.port_description.Namespaces.RUN; -import static org.taverna.server.port_description.Namespaces.XLINK; - -import javax.xml.bind.annotation.XmlNs; -import javax.xml.bind.annotation.XmlSchema; - http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/main/java/org/taverna/server/port_description/utils/IntAdapter.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/utils/IntAdapter.java b/taverna-server-port-description/src/main/java/org/taverna/server/port_description/utils/IntAdapter.java deleted file mode 100644 index de9a3a8..0000000 --- a/taverna-server-port-description/src/main/java/org/taverna/server/port_description/utils/IntAdapter.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - */ -package org.taverna.server.port_description.utils; -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import static javax.xml.bind.DatatypeConverter.parseInt; -import static javax.xml.bind.DatatypeConverter.printInt; - -import javax.xml.bind.annotation.adapters.XmlAdapter; - -/** - * A type conversion utility for use with JAXB. - * - * @author Donal Fellows - */ -public class IntAdapter extends XmlAdapter<String, Integer> { - @Override - public String marshal(Integer value) throws Exception { - if (value == null) - return null; - return printInt(value); - } - - @Override - public Integer unmarshal(String value) throws Exception { - if (value == null) - return null; - return parseInt(value); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/00397eff/taverna-server-port-description/src/test/java/org/apache/taverna/server/port_description/JaxbSanityTest.java ---------------------------------------------------------------------- diff --git a/taverna-server-port-description/src/test/java/org/apache/taverna/server/port_description/JaxbSanityTest.java b/taverna-server-port-description/src/test/java/org/apache/taverna/server/port_description/JaxbSanityTest.java new file mode 100644 index 0000000..de15cfa --- /dev/null +++ b/taverna-server-port-description/src/test/java/org/apache/taverna/server/port_description/JaxbSanityTest.java @@ -0,0 +1,114 @@ +package org.taverna.server.port_description; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.io.IOException; +import java.io.StringWriter; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.SchemaOutputResolver; +import javax.xml.transform.Result; +import javax.xml.transform.stream.StreamResult; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +/** + * This test file ensures that the JAXB bindings will work once deployed instead + * of mysteriously failing in service. + * + * @author Donal Fellows + */ +public class JaxbSanityTest { + SchemaOutputResolver sink; + StringWriter schema; + + String schema() { + return schema.toString(); + } + + private String schemaTest(Class<?>... classes) throws IOException, JAXBException { + Assert.assertTrue(schema().isEmpty()); + JAXBContext.newInstance(classes).generateSchema(sink); + Assert.assertFalse(schema().isEmpty()); + return schema(); + } + + @Before + public void init() { + schema = new StringWriter(); + sink = new SchemaOutputResolver() { + @Override + public Result createOutput(String namespaceUri, + String suggestedFileName) throws IOException { + StreamResult sr = new StreamResult(schema); + sr.setSystemId("/dev/null"); + return sr; + } + }; + } + + @Test + public void testJAXBForInput() throws Exception { + schemaTest(InputDescription.InputPort.class); + } + + @Test + public void testJAXBForInputDescription() throws Exception { + schemaTest(InputDescription.class); + } + + @Test + public void testJAXBForAbsentValue() throws Exception { + schemaTest(AbstractValue.class); + } + + @Test + public void testJAXBForAbstractValue() throws Exception { + schemaTest(AbstractValue.class); + } + + @Test + public void testJAXBForErrorValue() throws Exception { + schemaTest(ErrorValue.class); + } + + @Test + public void testJAXBForLeafValue() throws Exception { + schemaTest(LeafValue.class); + } + + @Test + public void testJAXBForListValue() throws Exception { + schemaTest(ListValue.class); + } + + @Test + public void testJAXBForOutputDescription() throws Exception { + schemaTest(OutputDescription.class); + } + + @Test + public void testJAXBForEverythingAtOnce() throws Exception { + schemaTest(AbsentValue.class, AbstractValue.class, ListValue.class, + LeafValue.class, ErrorValue.class, OutputDescription.class, + InputDescription.InputPort.class, InputDescription.class); + // System.out.println(schema()); + } +}
