new HandleAuthenticationRequiredManagedFunctionSource()); SectionFunction handler = namespace.addSectionFunction("handler", "handler"); handler.getFunctionObject(Dependencies.AUTHENTICATION_REQUIRED_EXCEPTION.name()).flagAsParameter(); designer.link(handler.getFunctionObject(Dependencies.SERVER_HTTP_CONNECTION.name()), serverHttpConnection); designer.link(handler.getFunctionObject(Dependencies.HTTP_SESSION.name()), httpSession); designer.link(handler.getFunctionObject(Dependencies.REQUEST_STATE.name()), requestState); for (String httpSecurityName : this.httpSecurityNames) { designer.link(sender.getFunctionObject( net.officefloor.web.security.impl.SendHttpChallengeFunction.Dependencies.HTTP_CHALLENGE_CONTEXT.name()), httpChallengeContext); designer.link(sender.getFunctionObject( net.officefloor.web.security.impl.SendHttpChallengeFunction.Dependencies.SERVER_HTTP_CONNECTION.name()), serverHttpConnection);
HttpSecurityManagedFunctionSource.FUNCTION_CHALLENGE, HttpSecurityManagedFunctionSource.FUNCTION_CHALLENGE); designer.link(challengeFunction.getFunctionObject(HttpChallengeContext.class.getSimpleName()), httpChallengeContext); designer.link(challengeFunction.getFunctionObject(ServerHttpConnection.class.getSimpleName()), serverHttpConnection); designer.link(challengeFunction.getFunctionObject(HttpSession.class.getSimpleName()), httpSession); for (SectionObject dependency : dependencyObjects) { designer.link(challengeFunction.getFunctionObject(dependency.getSectionObjectName()), dependency); HttpSecurityManagedFunctionSource.FUNCTION_MANAGED_OBJECT_AUTHENTICATE, HttpSecurityManagedFunctionSource.FUNCTION_MANAGED_OBJECT_AUTHENTICATE); moAuthFunction.getFunctionObject(FunctionAuthenticateContext.class.getSimpleName()).flagAsParameter(); for (SectionObject dependency : dependencyObjects) { designer.link(moAuthFunction.getFunctionObject(dependency.getSectionObjectName()), dependency); HttpSecurityManagedFunctionSource.FUNCTION_MANAGED_OBJECT_LOGOUT, HttpSecurityManagedFunctionSource.FUNCTION_MANAGED_OBJECT_LOGOUT); moLogoutFunction.getFunctionObject(FunctionLogoutContext.class.getSimpleName()).flagAsParameter(); for (SectionObject dependency : dependencyObjects) { designer.link(moLogoutFunction.getFunctionObject(dependency.getSectionObjectName()), dependency); HttpSecurityManagedFunctionSource.FUNCTION_START_APPLICATION_AUTHENTICATE); startAuthFunction .getFunctionObject(StartApplicationHttpAuthenticateFunction.Dependencies.CREDENTIALS.name()) .flagAsParameter(); designer.link( startAuthFunction.getFunctionObject( StartApplicationHttpAuthenticateFunction.Dependencies.AUTHENTICATION_CONTEXT.name()),
initialise.getFunctionObject(InitialiseHttpRequestStateDependencies.PATH_ARGUMENTS.name()) .flagAsParameter(); initialise.getFunctionObject(InitialiseHttpRequestStateDependencies.HTTP_REQUEST_STATE.name()), requestState); designer.link(route.getFunctionObject(HttpRouteDependencies.SERVER_HTTP_CONNECTION.name()), serverHttpConnection); handleRedirect.getFunctionObject(HttpHandleRedirectDependencies.COOKIE.name()).flagAsParameter(); designer.link(handleRedirect.getFunctionObject(HttpHandleRedirectDependencies.SERVER_HTTP_CONNECTION.name()), serverHttpConnection); designer.link(handleRedirect.getFunctionObject(HttpHandleRedirectDependencies.REQUEST_STATE.name()), requestState); designer.link(handleRedirect.getFunctionObject(HttpHandleRedirectDependencies.SESSION.name()), session); designer.link(notFound.getFunctionObject(NotFoundDependencies.SERVER_HTTP_CONNECTION.name()), serverHttpConnection); redirection.getFunctionObject(HttpRedirectDependencies.PATH_VALUES.name()).flagAsParameter(); designer.link(redirection.getFunctionObject(HttpRedirectDependencies.SERVER_HTTP_CONNECTION.name()), serverHttpConnection); designer.link(redirection.getFunctionObject(HttpRedirectDependencies.REQUEST_STATE.name()), requestState); designer.link(redirection.getFunctionObject(HttpRedirectDependencies.SESSION_STATE.name()), session);
SectionFunction initialFunction = initialNamespace.addSectionFunction("_INITIAL_FUNCTION_", WebTemplateInitialManagedFunctionSource.FUNCTION_NAME); designer.link(initialFunction.getFunctionObject("SERVER_HTTP_CONNECTION"), connectionObject); designer.link(initialFunction.getFunctionEscalation(IOException.class.getName()), ioEscalation, false); designer.link(templateFunction.getFunctionObject("SERVER_HTTP_CONNECTION"), connectionObject); templateFunction.getFunctionObject("OBJECT").flagAsParameter(); WebTemplateArrayIteratorManagedFunctionSource.FUNCTION_NAME); arrayIteratorFunction .getFunctionObject(WebTemplateArrayIteratorManagedFunctionSource.OBJECT_NAME) .flagAsParameter();