@Override protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the class String className = mosContext.getProperty(PROPERTY_CLASS_NAME); this.objectClass = mosContext.loadClass(className); // Object must be serializable if (!(Serializable.class.isAssignableFrom(this.objectClass))) { throw new Exception(HttpSession.class.getSimpleName() + " object " + this.objectClass.getName() + " must be " + Serializable.class.getSimpleName()); } // Obtain the overridden bind name this.bindName = mosContext.getProperty(PROPERTY_BIND_NAME, null); // Specify the meta-data context.setObjectClass(this.objectClass); context.setManagedObjectClass(HttpSessionObjectManagedObject.class); context.addDependency(Dependencies.HTTP_SESSION, HttpSession.class); }
@Override protected void loadMetaData(MetaDataContext<None, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Provide meta-data context.setManagedObjectClass(JndiContextManagedObject.class); context.setObjectClass(Context.class); // Obtain the properties this.properties = mosContext.getProperties(); // Obtain the sub context name (ensuring not blank) this.subContextName = this.properties.getProperty( PROPERTY_SUB_CONTEXT_NAME, null); if ((this.subContextName == null) || (this.subContextName.trim().length() == 0)) { // No/blank sub context name this.subContextName = null; } // Determine if validate context String validate = mosContext.getProperty(PROPERTY_VALIDATE, "false"); if (Boolean.parseBoolean(validate)) { // Obtain the Managed Object to validate Context this.getManagedObject(); } }
@Override @SuppressWarnings("unchecked") protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the Object class String objectClassName = mosContext .getProperty(PROPERTY_JSON_OBJECT_CLASS); Class<?> objectClass = mosContext.loadClass(objectClassName); // Object must be serializable if (!(Serializable.class.isAssignableFrom(objectClass))) { throw new Exception("JSON object " + objectClass.getName() + " must be " + Serializable.class.getSimpleName() + " as stored in " + HttpRequestState.class.getSimpleName()); } this.objectClass = (Class<? extends Serializable>) objectClass; // Obtain the overridden bind name this.bindName = mosContext.getProperty(PROPERTY_BIND_NAME, null); // Provide meta-data context.setObjectClass(this.objectClass); context.setManagedObjectClass(JsonRequestReaderManagedObject.class); context.addDependency(Dependencies.SERVER_HTTP_CONNECTION, ServerHttpConnection.class); context.addDependency(Dependencies.HTTP_REQUEST_STATE, HttpRequestState.class); }
@Override protected void loadMetaData(MetaDataContext<None, Flows> context) throws Exception { ManagedObjectSourceContext<Flows> mosContext = context .getManagedObjectSourceContext(); // Obtain the expire check interval this.expireCheckInterval = Long.parseLong(mosContext.getProperty( PROPERTY_EXPIRE_CHECK_INTERVAL, String.valueOf(DEFAULT_EXPIRE_CHECK_INTERVAL))); // Obtain the event timeout this.eventTimeout = Long.parseLong(mosContext.getProperty( PROPERTY_EVENT_TIMEOUT, String.valueOf(DEFAULT_EVENT_TIMEOUT))); // Obtain the request timeout this.requestTimeout = Long.parseLong(mosContext.getProperty( PROPERTY_REQUEST_TIMEOUT, String.valueOf(DEFAULT_REQUEST_TIMEOUT))); // Specify meta-data context.setObjectClass(CometService.class); context.setManagedObjectClass(CometServiceManagedObject.class); // Provide task to trigger expire ExpireTask factory = new ExpireTask(); mosContext.addWork("EXPIRE", factory).addTask("TASK", factory) .setTeam(EXPIRE_TEAM_NAME); context.addFlow(Flows.EXPIRE, null); mosContext.linkProcess(Flows.EXPIRE, "EXPIRE", "TASK"); }
@Override public CommunicationProtocol createCommunicationProtocol( MetaDataContext<None, Indexed> configurationContext, CommunicationProtocolContext protocolContext) throws Exception { ManagedObjectSourceContext<Indexed> mosContext = configurationContext .getManagedObjectSourceContext(); // Obtain the maximum idle time this.maxIdleTime = Long.parseLong(mosContext.getProperty( PROPERTY_MAXIMUM_IDLE_TIME, String.valueOf(DEFAULT_MAXIMUM_IDLE_TIME))); // Obtain the send buffer size this.sendBufferSize = protocolContext.getSendBufferSize(); // Specify types configurationContext.setManagedObjectClass(TcpConnectionHandler.class); configurationContext.setObjectClass(ServerTcpConnection.class); // Provide the flow to process a new connection this.newConnectionFlowIndex = configurationContext .addFlow(ServerTcpConnection.class).setLabel("NEW_CONNECTION") .getIndex(); // Ensure connection is cleaned up when process finished new CleanupTask().registerAsRecycleTask(mosContext, "cleanup"); // Return this as the server socket handler return this; }
@Override protected void loadMetaData(MetaDataContext<None, FlowKeys> context) throws Exception { ManagedObjectSourceContext<FlowKeys> mosContext = context .getManagedObjectSourceContext(); // Obtain the instance identifier String instanceIdentifier = mosContext .getProperty(PROPERTY_INSTANCE_IDENTIFIER); // Register this instance synchronized (ServletBridgeManagedObjectSource.class) { instances.put(instanceIdentifier, this); } // Specify the meta-data context.setObjectClass(ServletBridge.class); context.addFlow(FlowKeys.SERVICE, null); // Determine if using async boolean isUseAsync = Boolean.parseBoolean(mosContext.getProperty( PROPERTY_USE_ASYNC, String.valueOf(Boolean.FALSE))); if (isUseAsync) { // Register recycle task to complete the async context CompleteAsyncContextTask recycleTask = new CompleteAsyncContextTask(); recycleTask.registerAsRecycleTask(mosContext, "COMPLETE"); } }
@Override protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the security type String securityTypeName = mosContext .getProperty(PROPERTY_HTTP_SECURITY_TYPE); Class<?> securityType = mosContext.loadClass(securityTypeName); // Determine if allowing null HTTP Security this.isEscalateNullHttpSecurity = Boolean.parseBoolean(mosContext .getProperty(PROPERTY_IS_ESCALATE_AUTHENTICATION_REQUIRED, String.valueOf(true))); // Specify the meta-data context.setObjectClass(securityType); context.setManagedObjectClass(HttpSecurityManagedObject.class); // Add the dependency context.addDependency(Dependencies.HTTP_AUTHENTICATION, HttpAuthentication.class); }
@Override protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Create the resource locator String classPathPrefix = mosContext.getProperty( PROPERTY_CLASS_PATH_PREFIX, WebAutoWireApplication.WEB_PUBLIC_RESOURCES_CLASS_PATH_PREFIX); ClassLoader classLoader = mosContext.getClassLoader(); this.resourceLocator = new ClassPathResourceLocator(classPathPrefix, classLoader); // Specify meta-data context.setObjectClass(ServletServer.class); context.setManagedObjectClass(ServletServerManagedObject.class); // Specify dependencies context.addDependency(Dependencies.HTTP_APPLICATION_LOCATION, HttpApplicationLocation.class); }
@Override protected void loadMetaData(MetaDataContext<Dependencies, Flows> context) throws Exception { ManagedObjectSourceContext<Flows> mosContext = context .getManagedObjectSourceContext(); // Retrieve the HTTP Security Source String key = mosContext.getProperty(PROPERTY_HTTP_SECURITY_SOURCE_KEY); this.httpSecuritySource = HttpSecurityConfigurator .getHttpSecuritySource(key).getHttpSecuritySource(); // Provide the meta-data context.setObjectClass(HttpAuthentication.class); context.setManagedObjectClass(HttpAuthenticationManagedObject.class); context.addDependency(Dependencies.SERVER_HTTP_CONNECTION, ServerHttpConnection.class); context.addDependency(Dependencies.HTTP_SESSION, HttpSession.class); context.addFlow(Flows.AUTHENTICATE, TaskAuthenticateContext.class); context.addFlow(Flows.LOGOUT, TaskLogoutContext.class); }
@Override @SuppressWarnings("unchecked") protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the proxy interface String proxyInterfaceName = mosContext .getProperty(PROPERTY_PROXY_INTERFACE); this.proxyInterface = (Class<? extends CometSubscriber>) mosContext .loadClass(proxyInterfaceName); // Provide meta-data context.setObjectClass(this.proxyInterface); context.setManagedObjectClass(CometProxyPublisherManagedObject.class); context.addDependency(Dependencies.COMET_PUBLISHER, CometPublisher.class); }
@Override protected void loadMetaData( MetaDataContext<JndiObjectDependency, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the JNDI name this.jndiName = mosContext.getProperty(PROPERTY_JNDI_NAME); // Obtain the Object Type String objectTypeName = mosContext.getProperty(PROPERTY_OBJECT_TYPE); Class<?> objectType = mosContext.loadClass(objectTypeName); // Load the meta-data context.setManagedObjectClass(JndiObjectManagedObject.class); context.setObjectClass(objectType); // Specify depends on Context context.addDependency(JndiObjectDependency.CONTEXT, Context.class); }
@Override protected void loadMetaData(MetaDataContext<DependencyKeys, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the properties this.algorithm = mosContext.getProperty(PROPERTY_ALGORITHM); this.entrySearchBaseDn = mosContext .getProperty(PROPERTY_ENTRY_SEARCH_BASE_DN); this.rolesSearchBaseDn = mosContext .getProperty(PROPERTY_ROLES_SEARCH_BASE_DN); // Add dependency on DirContext context.addDependency(DependencyKeys.DIR_CONTEXT, DirContext.class); // Specify details of object context.setObjectClass(CredentialStore.class); context.setManagedObjectClass(JndiLdapManagedObject.class); }
@Override protected void loadMetaData( MetaDataContext<HttpSessionAttributeRetrieverDependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the type for being returned String typeName = mosContext.getProperty(PROPERTY_TYPE_NAME); Class<?> type = mosContext.loadClass(typeName); // Load the meta-data context.setManagedObjectClass(HttpSessionAttributeRetrieverManagedObject.class); context.setObjectClass(type); context.addDependency( HttpSessionAttributeRetrieverDependencies.HTTP_SESSION_OBJECT, HttpSessionAttribute.class); }
@Override protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the class String className = mosContext.getProperty(PROPERTY_CLASS_NAME); this.objectClass = mosContext.loadClass(className); // Obtain the overridden bind name this.bindName = mosContext.getProperty(PROPERTY_BIND_NAME, null); // Specify the meta-data context.setObjectClass(this.objectClass); context.setManagedObjectClass(HttpApplicationObjectManagedObject.class); context.addDependency(Dependencies.HTTP_APPLICATION_STATE, HttpApplicationState.class); }
@Override protected void loadMetaData(MetaDataContext<DependencyKeys, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the token name this.sessionTokenName = mosContext.getProperty( HttpSessionManagedObjectSource.PROPERTY_SESSION_ID_COOKIE_NAME, HttpSessionManagedObjectSource.DEFAULT_SESSION_ID_COOKIE_NAME); // Load the meta-data context.setObjectClass(HttpSession.class); context.setManagedObjectClass(ServletHttpSessionManagedObject.class); context.addDependency(DependencyKeys.SERVLET_BRIDGE, ServletBridge.class); }
@Override protected void loadMetaData(MetaDataContext<DependencyKeys, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the dependency type String typeName = mosContext.getProperty(PROPERTY_TYPE_NAME); this.type = mosContext.loadClass(typeName); // Specify meta-data context.setObjectClass(this.type); context.setManagedObjectClass(ServletDependencyManagedObject.class); context.addDependency(DependencyKeys.SERVLET_BRIDGE, ServletBridge.class); }
@Override protected void loadMetaData(MetaDataContext<None, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the password file path String path = mosContext.getProperty(PROPERTY_PASSWORD_FILE_PATH); // Create the password file credential store PasswordFile file = PasswordFileCredentialStore .loadPasswordFile(new File(path)); this.credentialStore = new PasswordFileCredentialStore(file); // Specify meta-data context.setObjectClass(CredentialStore.class); }
@Override protected void loadMetaData(MetaDataContext<None, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the properties for the directory context this.properties = this.getProperties(mosContext); // Obtain the sub context name this.subContextName = mosContext.getProperty(PROPERTY_SUB_CONTEXT_NAME, null); // Load the meta-data context.setObjectClass(DirContext.class); }
@Override protected void loadMetaData(MetaDataContext<Dependencies, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the class loader this.classLoader = mosContext.getClassLoader(); // Provide meta-data context.setObjectClass(CometPublisher.class); context.setManagedObjectClass(CometPublisherManagedObject.class); context.addDependency(Dependencies.COMET_SERVICE, CometService.class); }
@Override protected void loadMetaData(MetaDataContext<None, None> context) throws Exception { ManagedObjectSourceContext<None> mosContext = context .getManagedObjectSourceContext(); // Obtain the algorithm this.algorithm = mosContext.getProperty(PROPERTY_ALGORITHM, null); // Provide meta-data context.setObjectClass(CredentialStore.class); }