示例#1
0
  static MailSessionConfig from(final OperationContext operationContext, final ModelNode model)
      throws OperationFailedException {
    MailSessionConfig cfg = new MailSessionConfig();

    cfg.setJndiName(
        MailSessionDefinition.JNDI_NAME.resolveModelAttribute(operationContext, model).asString());
    cfg.setDebug(
        MailSessionDefinition.DEBUG.resolveModelAttribute(operationContext, model).asBoolean());
    if (MailSessionDefinition.FROM.resolveModelAttribute(operationContext, model).isDefined()) {
      cfg.setFrom(
          MailSessionDefinition.FROM.resolveModelAttribute(operationContext, model).asString());
    }
    if (model.hasDefined(SERVER_TYPE)) {
      ModelNode server = model.get(SERVER_TYPE);
      if (server.hasDefined(SMTP)) {
        cfg.setSmtpServer(readServerConfig(operationContext, server.get(SMTP)));
      }
      if (server.hasDefined(POP3)) {
        cfg.setPop3Server(readServerConfig(operationContext, server.get(POP3)));
      }
      if (server.hasDefined(IMAP)) {
        cfg.setImapServer(readServerConfig(operationContext, server.get(IMAP)));
      }
    }
    if (model.hasDefined(CUSTOM)) {
      for (Property server : model.get(CUSTOM).asPropertyList()) {
        cfg.addCustomServer(
            readCustomServerConfig(server.getName(), operationContext, server.getValue()));
      }
    }
    return cfg;
  }
示例#2
0
 /** {@inheritDoc} */
 @Override
 protected void populateModel(ModelNode operation, ModelNode model)
     throws OperationFailedException {
   MailSessionDefinition.JNDI_NAME.validateAndSet(operation, model);
   MailSessionDefinition.DEBUG.validateAndSet(operation, model);
   MailSessionDefinition.FROM.validateAndSet(operation, model);
 }
示例#3
0
 /**
  * Extracts the raw JNDI_NAME value from the given model node, and depending on the value and the
  * value of any USE_JAVA_CONTEXT child node, converts the raw name into a compliant jndi name.
  *
  * @param modelNode the model node; either an operation or the model behind a mail session
  *     resource
  * @return the compliant jndi name
  */
 static String getJndiName(final ModelNode modelNode, OperationContext context)
     throws OperationFailedException {
   final String rawJndiName =
       MailSessionDefinition.JNDI_NAME.resolveModelAttribute(context, modelNode).asString();
   return getJndiName(rawJndiName);
 }