/** * Links the {@link TaskObject} to the {@link SectionObject}. * * @param task * {@link SectionTask}. * @param objectName * Name of the object. * @param objectType * Type of the object. * @param designer * {@link SectionDesigner}. * @param objects * Registry of the {@link SectionObject} by type of object. */ static void linkObject(SectionTask task, String objectName, Class<?> objectType, SectionDesigner designer, Map<Class<?>, SectionObject> objects) { // Obtain the section object SectionObject sectionObject = objects.get(objectType); if (sectionObject == null) { sectionObject = designer.addSectionObject(objectType.getName(), objectType.getName()); objects.put(objectType, sectionObject); } // Link task object to section object TaskObject taskObject = task.getTaskObject(objectName); designer.link(taskObject, sectionObject); }
designer.link(preSubscription.getTaskObject(CometRequestServicer.class .getName()), cometRequestServicer); designer.link(postSubscription.getTaskObject(CometRequestServicer.class .getName()), cometRequestServicer); designer.link(preSubscription, postSubscription); PublishWorkSource.TASK_NAME); designer.link(publishTask .getTaskObject(Dependencies.SERVER_GWT_RPC_CONNECTION.name()), connection); designer.link( publishTask.getTaskObject(Dependencies.COMET_SERVICE.name()), cometService); designer.link(designer.addSectionInput(PUBLISH_INPUT_NAME, null),
.getTaskObject(DependencyKeys.SERVER_HTTP_CONNECTION .name()); designer.link(serverHttpConnectionObject,
/** * Adds handling for a {@link Servlet} resource. * * @param inputName * {@link SectionInput} name. * @param requestDispatcherPath * {@link RequestDispatcher} path. * @param servletBridge * {@link ServletBridge} {@link SectionObject}. * @param designer * {@link SectionDesigner}. */ private void addServletResource(String inputName, String requestDispatcherPath, SectionObject servletBridge, SectionDesigner designer) { // Create the task to indicate Servlet container resource SectionWork work = designer.addSectionWork(inputName, ServletContainerResourceWorkSource.class.getName()); work.addProperty( ServletContainerResourceWorkSource.PROPERTY_SERVLET_CONTAINER_RESOURCE, requestDispatcherPath); SectionTask task = work.addSectionTask(inputName, "RESOURCE"); TaskObject dependency = task .getTaskObject(DependencyKeys.SERVLET_BRIDGE.name()); designer.link(dependency, servletBridge); // Link input for task SectionInput input = designer.addSectionInput(inputName, null); designer.link(input, task); }
challengeTask.getTaskObject("HTTP_AUTHENTICATION_REQUIRED_EXCEPTION").flagAsParameter(); designer.link(challengeTask.getTaskObject("SERVER_HTTP_CONNECTION"), serverHttpConnection); designer.link(challengeTask.getTaskObject("HTTP_SESSION"), httpSession); designer.link(challengeTask.getTaskObject("HTTP_REQUEST_STATE"), httpRequestState); for (SectionObject dependency : dependencyObjects) { designer.link(challengeTask.getTaskObject(dependency.getSectionObjectName()), dependency); moAuthTask.getTaskObject("TASK_AUTHENTICATE_CONTEXT").flagAsParameter(); for (SectionObject dependency : dependencyObjects) { designer.link(moAuthTask.getTaskObject(dependency.getSectionObjectName()), dependency); moLogoutTask.getTaskObject("TASK_LOGOUT_CONTEXT").flagAsParameter(); for (SectionObject dependency : dependencyObjects) { designer.link(moLogoutTask.getTaskObject(dependency.getSectionObjectName()), dependency); startAuthTask.getTaskObject(StartApplicationHttpAuthenticateTask.Dependencies.CREDENTIALS.name()) .flagAsParameter(); designer.link( startAuthTask .getTaskObject(StartApplicationHttpAuthenticateTask.Dependencies.HTTP_AUTHENTICATION.name()), httpAuthentication); designer.link(startAuthTask.getTaskFlow(StartApplicationHttpAuthenticateTask.Flows.FAILURE.name()), designer.link( completeAuthTask .getTaskObject(CompleteApplicationHttpAuthenticateTask.Dependencies.HTTP_AUTHENTICATION.name()), httpAuthentication); designer.link( completeAuthTask.getTaskObject(
HttpTemplateInitialWorkSource.PROPERTY_CONTENT_TYPE, HttpTemplateInitialWorkSource.PROPERTY_CHARSET); SectionTask initialTask = initialWork.addSectionTask("_INITIAL_TASK_", HttpTemplateInitialWorkSource.TASK_NAME); designer.link(initialTask.getTaskObject("SERVER_HTTP_CONNECTION"), connectionObject); designer.link(initialTask.getTaskObject("HTTP_APPLICATION_LOCATION"), locationObject); designer.link(initialTask.getTaskObject("REQUEST_STATE"), requestStateObject); designer.link(initialTask.getTaskObject("HTTP_SESSION"), sessionObject); designer.link(initialTask.getTaskEscalation(IOException.class.getName()), ioEscalation, FlowInstigationStrategyEnum.SEQUENTIAL); designer.link(templateTask.getTaskObject("SERVER_HTTP_CONNECTION"), connectionObject); designer.link(templateTask.getTaskObject("HTTP_APPLICATION_LOCATION"), locationObject); templateTask.getTaskObject("OBJECT").flagAsParameter(); SectionTask arrayIteratorTask = arrayIteratorWork.addSectionTask( templateTaskName + "ArrayIterator", HttpTemplateArrayIteratorWorkSource.TASK_NAME); arrayIteratorTask.getTaskObject(HttpTemplateArrayIteratorWorkSource.OBJECT_NAME) .flagAsParameter();
.getTaskObject(Dependencies.SERVER_GWT_RPC_CONNECTION .name()); SectionObject connectionObject = context
FlowInstigationStrategyEnum.SEQUENTIAL); designer.link( routeTask.getTaskObject( net.officefloor.plugin.servlet.route.ServletRouteTask.DependencyKeys.HTTP_CONNECTION.name()), httpConnectionMo); designer.link(routeTask.getTaskObject( net.officefloor.plugin.servlet.route.ServletRouteTask.DependencyKeys.OFFICE_SERVLET_CONTEXT.name()), officeServletContextMo); servletTask.getTaskObject(DependencyKeys.SERVICER_MAPPING.name()).flagAsParameter(); designer.link(servletTask.getTaskObject(DependencyKeys.OFFICE_SERVLET_CONTEXT.name()), officeServletContextMo); designer.link(servletTask.getTaskObject(DependencyKeys.HTTP_CONNECTION.name()), httpConnectionMo); designer.link(servletTask.getTaskObject(DependencyKeys.REQUEST_ATTRIBUTES.name()), requestAttributesMo); designer.link(servletTask.getTaskObject(DependencyKeys.HTTP_SESSION.name()), httpSessionMo); designer.link(servletTask.getTaskObject(DependencyKeys.HTTP_SECURITY.name()), httpSecurityMo);