Package de.iritgo.aktera.ui.form

Examples of de.iritgo.aktera.ui.form.FormularDescriptor


      id = new Integer(- 1);
    }

    String persistentsId = FormTools.createContextKey(contextId, id);

    FormularDescriptor formular = FormTools.getFormularFromContext(request, contextId, keyName);

    if (formular != null
            && (formular.getId().equals(formularBeanName) || formular.getId().equals(formularClassName)))
    {
      return formular;
    }

    FormularDescriptor oldFormular = formular;

    if (formularBeanName != null)
    {
      try
      {
        formular = ((Formular) SpringTools.getBean(formularBeanName)).createFormularDescriptor();
      }
      catch (Exception x)
      {
        throw new ModelException("[aktera.edit] Unable to create formular from bean " + formularBeanName + " ("
                + x + ")");
      }
    }
    else if (formularClassName != null)
    {
      try
      {
        formular = (FormularDescriptor) Class.forName(formularClassName).newInstance();
      }
      catch (ClassNotFoundException x)
      {
        throw new ModelException("[aktera.edit] Unable to create formular from class " + formularClassName
                + " (" + x + ")");
      }
      catch (InstantiationException x)
      {
        throw new ModelException("[aktera.edit] Unable to create formular from class " + formularClassName
                + " (" + x + ")");
      }
      catch (IllegalAccessException x)
      {
        throw new ModelException("[aktera.edit] Unable to create formular from class " + formularClassName
                + " (" + x + ")");
      }
    }

    if (formular == null)
    {
      throw new ModelException("[aktera.edit] No formular defined");
    }

    if (formularBeanName != null)
    {
      formular.setId(formularBeanName);
    }
    else if (formularClassName != null)
    {
      formular.setId(formularClassName);
    }

    formular.setTitle(title);
    formular.setTitleBundle(titleBundle);
    formular.setIcon(icon);

    if (oldFormular != null)
    {
      formular.setPersistents(oldFormular.getPersistents());
    }

    CommandDescriptor commands = formular.getCommands();

    if (! readOnly && cmdSave != null && cmdSave.getModel() != null)
View Full Code Here


        {
          reporter.println("User import error: No <systemName> tag specified");
          continue;
        }

        FormularDescriptor formular  = null;

        Persistent user = persistentManager.create("keel.user");

        user.setField("name", systemName);


        Integer userId = null;
        if (user.find())
        {
          formular = Edit.start(req, "aktera.admin.user.edit", user.getField("uid"));
          userId = user.getFieldInt ("uid");
        }
        else
          formular = Edit.start(req, "aktera.admin.user.edit");


        String password = StringTools.trim(xPath.evaluate("password", userElem));

        String lastName = StringTools.trim(xPath.evaluate("lastName", userElem));

        if (StringTools.isTrimEmpty(lastName))
        {
          reporter.println("User import error: No <lastName> tag specified for user '" + systemName + "'");
          continue;
        }

        String email = StringTools.trim(xPath.evaluate("email", userElem));

        if (StringTools.isTrimEmpty(email))
        {
          reporter.println("User import error: No <email> tag specified for user '" + systemName + "'");
          continue;
        }

        user = formular.getPersistents().getPersistent("sysUser");
        user.setField("name", systemName);

        if (StringTools.isNotTrimEmpty(password))
        {
          formular.getPersistents().putAttribute("passwordNew", password);
          formular.getPersistents().putAttribute("passwordNewRepeat", password);
        }

        String pin = StringTools.trim(xPath.evaluate("pin", userElem));

        if (! StringTools.isTrimEmpty(pin))
        {
          formular.getPersistents().putAttribute("pinNew", pin);
          formular.getPersistents().putAttribute("pinNewRepeat", pin);
        }

        user.setField("ldapName", StringTools.trim(xPath.evaluate("ldapName", userElem)));

        String groupName = StringTools.trim(xPath.evaluate("group", userElem));
        if (! groupName.isEmpty())
        {
          UserDAO userDAO = (UserDAO) SpringTools.getBean(UserDAO.ID);
          AkteraGroup group = userDAO.findGroupByName(groupName);
          if (group == null)
          {
            reporter.println("User import error: Unable to find user group '" + groupName + "'");
            continue;
          }
          formular.getPersistents().putAttribute("newUsersGroup", group.getId());
        }

        String roleName = StringTools.trim(xPath.evaluate("role", userElem));
        if (! roleName.isEmpty())
        {
          formular.getPersistents().putAttribute("role", roleName);
        }

        Persistent preferences = formular.getPersistents().getPersistent("preferences");

        preferences.setField("canChangePassword", Boolean.TRUE);

        String company = StringTools.trim(xPath.evaluate("company", userElem));
        String firstName = StringTools.trim(xPath.evaluate("firstName", userElem));

        Persistent address = formular.getPersistents().getPersistent("address");

        address.setField("firstName", firstName);
        address.setField("lastName", lastName);
        address.setField("company", company);
        address.setField("salutation", StringTools.trim(xPath.evaluate("salutation", userElem)));
View Full Code Here

    params.xslt = StringTools.trim(req.getParameterAsString("xslt"));

    if (StringTools.isTrimEmpty(params.xslt))
    {
      FormularDescriptor form = FormTools.getFormularFromContext(req, "aktera.import.define.edit", - 1);

      if (form != null)
      {
        params.xslt = (String) form.getPersistents().getAttribute("xslt");
      }
    }

    return params;
  }
View Full Code Here

      context.setId(id);

      String persistentsId = FormTools.createContextKey(contextId, id);

      FormularDescriptor formular = createFormular(wrappedRequest);

      if (request.getParameter("page") != null)
      {
        formular.setPage(NumberTools.toInt(request.getParameter("page"), formular.getPage()));
      }

      if (NumberTools.toBool(request.getParameter("AKTERA_auto"), false)
              && request.getParameter("AKTERA_page") != null)
      {
        formular.setPage(NumberTools.toInt(request.getParameter("AKTERA_page"), formular.getPage()));
      }

      handler.prepareFormular(wrappedRequest, wrappedResponse, formular);

      PersistentDescriptor persistents = formular.getPersistents();
      context.setPersistents(persistents);

      if (persistents == null
              || (request.getParameter("error") == null && request.getParameter("reedit") == null && ! reeditAlways))
      {
        persistents = new PersistentDescriptor(persistentsId);
        context.setPersistents(persistents);

        for (Configuration configuration : attributeConfig)
        {
          String name = configuration.getAttribute("name");
          Object value = null;
          try
          {
            value = context.evalExpressionLanguageValue(configuration.getAttribute("value"));
            if (value != null)
            {
              persistents.putAttribute(name, value);
            }
          }
          catch (IllegalArgumentException x)
          {
            logger.error("Unable to retrieve value for attribute " + name);
          }
        }

        formular.setPersistents(persistents);

        handler.loadPersistents(wrappedRequest, formular, persistents, persistentConfig, NumberTools
                .toIntInstance(id, - 1));
        handler.afterLoad(wrappedRequest, formular, persistents);
        FormTools.loadPersistents(formular, persistents);
      }
      else
      {
        handler.afterLoad(wrappedRequest, formular, persistents);
      }

      handler.adjustFormular(wrappedRequest, formular, persistents);

      if (NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
      {
        Output out = response.createOutput(FORM_KEY);

        out.setContent(formular);
        response.add(out);
      }
      else
      {
        if (request.getParameter("ajax") != null)
        {
          response.setForward("aktera.formular.ajax");
        }
        else
        {
          response.setForward(forward);
        }

        FormTools.createResponseElements(wrappedRequest, wrappedResponse, formular, persistents, formular
                .getCommands(), readOnly || formular.getReadOnly(), context);
      }

      response.addOutput("formAction", "bean");
    }
    catch (ModelException x)
View Full Code Here

  public FormularDescriptor createFormularDescriptor() throws UIControllerException
  {
    try
    {
      FormularDescriptor formularDescriptor = new FormularDescriptor();
      formularDescriptor.setBundle(configuration.getChild("bundle").getValue("Aktera"));
      formularDescriptor.setIdField(configuration.getChild("key").getValue(null));
      formularDescriptor.setLabelWidth(NumberTools.toInt(configuration.getChild("labelWidth").getValue("0"), 0));

      createGroups(configuration, formularDescriptor);
      createGroupLists(configuration, formularDescriptor);

      Configuration[] pagesConfig = configuration.getChildren("page");
      for (Configuration pageConfig : pagesConfig)
      {
        String pageBundle = pageConfig.getAttribute("bundle", formularDescriptor.getBundle());
        PageDescriptor page = formularDescriptor.addPage(pageConfig.getAttribute("name"), pageBundle);
        page.setPosition(positionStringToValue(pageConfig.getAttribute("pos", "C")));
        page.setIcon(pageConfig.getAttribute("icon", null));
        page.setInactiveIcon(pageConfig.getAttribute("inactiveIcon", null));

        createGroups(pageConfig, formularDescriptor);
        createGroupLists(pageConfig, formularDescriptor);
      }

      modifyGroups(configuration, formularDescriptor);

      formularDescriptor.sort();

      return formularDescriptor;
    }
    catch (ModelException x)
    {
View Full Code Here

        id = new Integer(- 1);
      }

      String persistentsId = FormTools.createContextKey(contextId, id);

      FormularDescriptor formular = (FormularDescriptor) UserTools
              .getContextObject(wrappedRequest, persistentsId);

      if (formular == null)
      {
        response.setForward("aktera.formular.save-without-edit");

        return;
      }

      SaveFormContext context = new SaveFormContext();

      context.setRequest(wrappedRequest);
      context.setPersistents(formular.getPersistents());

      boolean modified = false;

      handler.adjustFormular(wrappedRequest, formular, formular.getPersistents());

      if (request.getParameter(NO_FORM_STORE) == null
              && ! NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
      {
        try
        {
          modified = FormTools.storeInput(wrappedRequest, wrappedResponse, formular, formular
                  .getPersistents(), logger);
        }
        catch (Exception x)
        {
          System.out.println("[Save] Error while storing input: " + x);
          x.printStackTrace();
        }
      }

      if (request.getParameter("AKTERA_page") != null)
      {
        int page = NumberTools.toInt(request.getParameter("AKTERA_page"), formular.getPage());

        if (page >= 0)
        {
          formular.setPage(page);
        }
      }

      if (NumberTools.toBool(request.getParameter("AKTERA_auto"), false))
      {
        String bean = cmdPage != null && cmdPage.getModel() != null ? cmdPage.getModel() : cmdEdit.getModel();
        BeanRequest newRequest = new BeanRequest();
        newRequest.setBean(bean);
        newRequest.setLocale(request.getLocale());
        newRequest.setUserEnvironment(request.getUserEnvironment());
        for (Iterator i = request.getParameters().keySet().iterator(); i.hasNext();)
        {
          String key = (String) i.next();

          if (! "model".equals(key) && ! "SEQUENCE_NAME".equals(key) && ! "SEQUENCE_NUMBER".equals(key))
          {
            newRequest.setParameter(key, request.getParameters().get(key));
          }
        }
        newRequest.setParameter(keyName, id);
        newRequest.setParameter("reedit", "Y");
        if (request.getParameter("ajax") != null)
        {
          newRequest.setParameter("ajax", "Y");
        }
        redirect(bean, newRequest, response);
        return;
      }

      handler.preStorePersistents(wrappedRequest, formular, formular.getPersistents(), new Boolean(modified));

      if (request.getParameter(NO_FORM_STORE) == null && validate
              && ! NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
      {
        ValidationResult result = null;

        try
        {
          result = FormTools.validateInput(wrappedRequest, wrappedResponse, formular, formular
                  .getPersistents());
          handler.validatePersistents(persistentConfig, wrappedRequest, wrappedResponse, formular, formular
                  .getPersistents(), NumberTools.toInt(id, - 1) == - 1, result);
        }
        catch (Exception x)
        {
          System.out.println("[Save] Error while validating input: " + x);
          x.printStackTrace();
        }

        if (result.hasErrors())
        {
          formular.setPage(Math.max(formular.getPageWithField(result.getFirstErrorField(formular).replaceAll(
                  "_", ".")), 0));
        }

        result.createResponseElements(wrappedResponse, formular);

        if (result.hasErrors())
        {
          if (! NumberTools.toBool(request.getParameter(SYSTEM_EDIT), false))
          {
            BeanRequest newRequest = new BeanRequest();
            newRequest.setBean(cmdEdit.getModel());
            newRequest.setLocale(request.getLocale());
            newRequest.setUserEnvironment(request.getUserEnvironment());
            newRequest.setParameter(keyName, id);
            newRequest.setParameter("error", result.getFirstErrorField(formular));
            redirect(cmdEdit.getModel(), newRequest, response);
            return;
          }
          else
          {
            return;
          }
        }
      }

      if (NumberTools.toInt(id, - 1) != - 1)
      {
        try
        {
          handler.updatePersistents(wrappedRequest, formular, formular.getPersistents(), persistentConfig,
                  modified);
        }
        catch (Exception x)
        {
          logger.error("Unable to update persistents: " + x);
          throw new ModelException(x);
        }

        if (! preserveContext)
        {
          UserTools.removeContextObject(wrappedRequest, persistentsId);
        }
      }
      else
      {
        id = new Integer(handler.createPersistents(wrappedRequest, formular, formular.getPersistents(),
                persistentConfig));

        if (NumberTools.toInt(id, - 1) != - 1)
        {
          if (! preserveContext)
View Full Code Here

TOP

Related Classes of de.iritgo.aktera.ui.form.FormularDescriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.