Package de.iritgo.aktera.model

Examples of de.iritgo.aktera.model.Output


   */
  public ModelResponse execute(ModelRequest req) throws ModelException
  {
    ModelResponse res = req.createResponse();

    Output outUserId = res.createOutput("userId");

    outUserId.setContent(new Integer(1));
    res.add(outUserId);

    return res;
  }
View Full Code Here


    {
      log.error("No URL base specified");
      throw new ModelException("No URL base specified");
    }

    Output outList = response.createOutput("list");

    response.add(outList);

    List<File> files = new LinkedList(FileUtils.listFiles(FileTools.newAkteraFile(downloadDir),
            TrueFileFilter.INSTANCE, null));

    Collections.sort(files, new Comparator<File>()
    {
      public int compare(File o1, File o2)
      {
        return o1.getName().compareToIgnoreCase(o2.getName());
      }
    });

    for (File file : files)
    {
      Output outFile = response.createOutput("file" + file.hashCode());

      outFile.setContent(file.getName());
      outFile.setAttribute("extension", FilenameUtils.getExtension(file.getName()));
      outFile.setAttribute("url", urlBase + "/" + file.getName());
      outList.add(outFile);
    }

    response.setAttribute("forward", "aktera.tools.download-list");
View Full Code Here

    for (Iterator i = pmd.getFieldNames().iterator(); i.hasNext();)
    {
      oneFieldName = (String) i.next();

      Output oneOutput = res.createOutput(oneFieldName);

      oneOutput.setContent(p.getFieldString(oneFieldName));
      res.add(oneOutput);
    }
  }
View Full Code Here

      fieldList.append(fieldNames[idx]);
    } //end for

    final List pValues = p.query(fieldList.toString());
    final Output oValues = res.createOutput(outputName);
    int idx = 0;

    for (final Iterator it = pValues.iterator(); it.hasNext(); idx++)
    {
      final Persistent pCurrent = (Persistent) it.next();

      log.debug("Processing Row: " + idx);

      final Output output = res.createOutput(Integer.toString(idx));

      //NOTE: Keel Clients don't know what a PersistentDynaBean is, so
      // can't
      //deserialize this Output
      //            output.setContent(pCurrent.getBean());
View Full Code Here

      handleNested(re, in, xmldoc, elementNames);
      handleAttributes(re, in, xmldoc, elementNames);
    }
    else if (re instanceof Output)
    {
      Output o = (Output) re;

      Element out = null;

      if (elementNames)
      {
        out = createValidNameElement(xmldoc, o.getName());
        out.setAttribute("element-type", "output");
      }
      else
      {
        out = xmldoc.createElement("output");
        out.setAttribute("name", o.getName());
      }

      if (o.getContent() != null)
      {
        serializeContents(xmldoc, out, o.getContent());
      }

      parent.appendChild(out);

      handleNested(re, out, xmldoc, elementNames);
View Full Code Here

   */
  private static void createListingWithSample(ModelRequest request, ModelResponse response,
          ListingDescriptor listing, ListingHandler handler, ListContext context)
    throws ModelException, PersistenceException
  {
    Output outList = createHeaderElements(request, response, listing, context);

    int page = Math.max(listing.getPage(), 1);

    int maxPage = 1;

    if (! context.isDescribe())
    {
      int count = listing.getQuerySample().count();

      outList.setAttribute("count", new Integer(count));

      maxPage = (Math.max(0, count - 1) / context.getResultsPerPage()) + 1;
      page = Math.min(page, maxPage);

      context.setPage(page);
      context.setFirstResult((page - 1) * context.getResultsPerPage());

      outList.setAttribute("pageCount", new Integer(maxPage));
      outList.setAttribute("page", String.valueOf(page));

      listing.getQuerySample().setMaxRecords(context.getResultsPerPage());
      listing.getQuerySample().setOffsetRecord((page - 1) * context.getResultsPerPage());

      int num = 1;

      String sortColumn = listing.getSortColumnName();

      if (listing.getSortOrder() == SortOrder.DESCENDING)
      {
        sortColumn += " DESC";
      }

      Iterator result = listing.getQuerySample().query(sortColumn).iterator();

      while (result.hasNext())
      {
        Persistent persistent = (Persistent) result.next();

        Output outItem = response.createOutput("item");

        outList.add(outItem);

        outItem.setAttribute("id", persistent.getFieldString(listing.getIdField()));
        outItem.setAttribute("odd", new Boolean(num % 2 == 1));
        outItem.setAttribute("even", new Boolean(num % 2 == 0));

        handleResult(request, response, listing, outItem, persistent, context);

        ++num;
      }

      while (num < context.getResultsPerPage())
      {
        Output outItem = response.createOutput("item");

        outList.add(outItem);
        outItem.setAttribute("empty", Boolean.TRUE);
        ++num;
      }
    }

    createListingControls(request, response, listing, outList, 1, maxPage, page, context);
View Full Code Here

   */
  private static void createListingWithCondition(ModelRequest request, ModelResponse response,
          ListingDescriptor listing, ListingHandler handler, ListContext context)
    throws ModelException, PersistenceException
  {
    Output outList = createHeaderElements(request, response, listing, context);

    int count = 0;
    int page = Math.max(listing.getPage(), 1);
    int maxPage = 1;

    if (! context.isDescribe())
    {
      Connection connection = null;
      PreparedStatement stmt = null;
      ResultSet set = null;

      try
      {
        DataSourceComponent dataSource = (DataSourceComponent) request.getService(DataSourceComponent.ROLE,
                "keel-dbpool");

        connection = dataSource.getConnection();

        stmt = createPreparedStatement(listing, connection, createSqlSelectFields(listing) + " "
                + createSqlFrom(listing) + " " + createSqlWhere(request, listing));
        set = stmt.executeQuery();
        set.last();
        count = set.getRow();

        maxPage = (Math.max(0, count - 1) / context.getResultsPerPage()) + 1;
        page = Math.min(page, maxPage);

        context.setPage(page);
        context.setFirstResult((page - 1) * context.getResultsPerPage());

        outList.setAttribute("pageCount", new Integer(maxPage));
        outList.setAttribute("page", String.valueOf(page));

        set.beforeFirst();

        int num = 1;

        int offsetRecord = (page - 1) * context.getResultsPerPage();
        int recordCount = 0;
        int retrieveCount = 0;

        while (set.next())
        {
          recordCount++;
          retrieveCount++;

          if (retrieveCount < offsetRecord && offsetRecord > 0)
          {
            continue;
          }
          else if (retrieveCount == offsetRecord && offsetRecord > 0)
          {
            recordCount = 0;

            continue;
          }

          Output outItem = response.createOutput("item");

          outList.add(outItem);

          StringBuffer ids = null;

          if (listing.getNumIdColumns() == 1)
          {
            ids = new StringBuffer(set.getString("id") != null ? set.getString("id") : "0");
          }
          else
          {
            ids = new StringBuffer();

            int col = 1;

            for (Iterator i = listing.getIdColumns().iterator(); i.hasNext();)
            {
              ListingDescriptor.IdColumnInfo idInfo = (ListingDescriptor.IdColumnInfo) i.next();

              if (col > 1)
              {
                ids.append("|");
              }

              ids.append(idInfo.field + ":"
                      + (set.getString("id" + col) != null ? set.getString("id" + col) : "0"));
              ++col;
            }
          }

          outItem.setAttribute("id", ids.toString());
          outItem.setAttribute("odd", new Boolean(num % 2 == 1));
          outItem.setAttribute("even", new Boolean(num % 2 == 0));

          handleResult(request, response, listing, outItem, set, handler, context);

          ++num;

          if (recordCount == context.getResultsPerPage())
          {
            break;
          }
        }

        while (num <= context.getResultsPerPage())
        {
          Output outItem = response.createOutput("item");

          outList.add(outItem);
          outItem.setAttribute("empty", Boolean.TRUE);
          ++num;
        }
      }
      catch (SQLException x)
      {
View Full Code Here

   * @throws ModelException
   */
  private static void createListingWithFiller(ModelRequest request, ModelResponse response,
          ListingDescriptor listing, ListFiller filler, ListContext context) throws ModelException
  {
    Output outList = createHeaderElements(request, response, listing, context);

    int page = Math.max(listing.getPage(), 1);
    int maxPage = 1;

    if (! context.isDescribe())
    {
      outList.setAttribute("count", new Integer(filler.getRowCount()));

      long totalCount = filler.getTotalRowCount();

      if (totalCount < 0)
      {
        totalCount = filler.getRowCount();
      }

      if (request.hasParameter(context.getListName() + "Page"))
      {
        page = Math.max(request.getParameterAsInt(context.getListName() + "Page", 1), 1);
      }

      maxPage = (int) ((Math.max(0, totalCount - 1) / context.getResultsPerPage()) + 1);
      page = Math.min(page, maxPage);

      context.setPage(page);
      context.setFirstResult((page - 1) * context.getResultsPerPage());

      outList.setAttribute("pageCount", new Integer(maxPage));
      outList.setAttribute("page", String.valueOf(page));

      int num = 1;
      int recordCount = 0;
      int retrieveCount = 0;
      int offsetRecord = (page - 1) * context.getResultsPerPage();

      while (filler.next())
      {
        recordCount++;

        if (filler.getTotalRowCount() < 0)
        {
          retrieveCount++;

          if (retrieveCount < offsetRecord && offsetRecord > 0)
          {
            continue;
          }
          else if (retrieveCount == offsetRecord && offsetRecord > 0)
          {
            recordCount = 0;

            continue;
          }
        }

        Output outItem = response.createOutput("item");

        outList.add(outItem);
        outItem.setAttribute("id", filler.getId());
        outItem.setAttribute("odd", new Boolean(num % 2 == 1));
        outItem.setAttribute("even", new Boolean(num % 2 == 0));

        int colNum = 0;

        for (Iterator j = listing.columnIterator(); j.hasNext();)
        {
          ColumnDescriptor column = (ColumnDescriptor) j.next();
          Output outColumn = response.createOutput(String.valueOf(colNum++));

          if (column.getViewer().startsWith("js:"))
          {
            String value = StringTools.trim(filler.getValue(column.getField()));
            outColumn.setContent(value);
            String[] params = column.getViewer().split(":");
            outColumn.setAttribute("viewer", "js");
            outColumn.setContent(params[1]);
            outColumn.setAttribute("name", column.getName());
            outColumn.setAttribute("id", filler.getId());
          }
          else if (column.getViewer().equals("message"))
          {
            String value = StringTools.trim(filler.getValue(column.getField()));
            outColumn.setAttribute("viewer", "message");
            int bundlePos = value.indexOf(":");
            if (bundlePos >= 0)
            {
              outColumn.setAttribute("bundle", value.substring(0, bundlePos));
            }
            else
            {
              outColumn.setAttribute("bundle", column.getBundle());
            }
            outColumn.setContent(value.substring(bundlePos + 1));
          }
          else
          {
            outColumn.setContent(filler.getValue(column.getField()));
            outColumn.setAttribute("viewer", column.getViewer());
          }

          if (! column.isVisible())
          {
            outColumn.setAttribute("hide", "Y");
          }

          outItem.add(outColumn);
        }

        CommandInfo viewCommand = listing.getCommand(ListingDescriptor.COMMAND_VIEW);

        if (viewCommand != null)
        {
          Command cmd = viewCommand.createCommand(request, response, context);

          cmd.setName("command");
          cmd.setParameter("id", filler.getId());
          cmd.setParameter("link", "Y");
          outItem.setAttribute("command", cmd);
        }

        ++num;

        if (recordCount == context.getResultsPerPage())
        {
          break;
        }
      }

      while (num <= context.getResultsPerPage())
      {
        Output outItem = response.createOutput("item");

        outList.add(outItem);
        outItem.setAttribute("empty", Boolean.TRUE);
        ++num;
      }
    }

    createListingControls(request, response, listing, outList, 1, maxPage, page, context);
View Full Code Here

    {
      ColumnDescriptor column = (ColumnDescriptor) i.next();

      String fieldName = column.getName().substring(column.getName().lastIndexOf('.') + 1);

      Output outColumn = response.createOutput(String.valueOf(colNum++));

      outColumn.setContent(persistent.getField(fieldName));
      outColumn.setAttribute("viewer", column.getViewer());

      if (! column.isVisible())
      {
        outColumn.setAttribute("hide", "Y");
      }

      outItem.add(outColumn);
    }
View Full Code Here

    for (Iterator i = listing.columnIterator(); i.hasNext();)
    {
      ColumnDescriptor column = (ColumnDescriptor) i.next();

      Output outColumn = response.createOutput(String.valueOf(colNum++));

      if ("custom".equals(column.getViewer()))
      {
        outColumn.setAttribute("viewer", "text");

        if (handler != null)
        {
          CellData cellData = handler.handleResult(request, response, listing, new SqlRowData(listing, set),
                  column);

          outColumn.setContent(cellData.getValue());
          outColumn.setAttribute("viewer", cellData.getViewer().toString());
          outColumn.setAttribute("bundle", cellData.getBundle());
        }
        else
        {
          outColumn.setContent("");
        }
      }
      else if ("combo".equals(column.getViewer()))
      {
        Object value = set.getObject(column.getAs());

        outColumn.setAttribute("viewer", column.getViewer());
        outColumn.setAttribute("bundle", column.getBundle());
        outColumn.setContent(! StringTools.isTrimEmpty(value) ? "opt" + value : "-");
      }
      else if ("message".equals(column.getViewer()))
      {
        outColumn.setAttribute("viewer", column.getViewer());

        Object value = set.getObject(column.getAs());

        outColumn.setAttribute("bundle", column.getBundle());

        String[] parts = value.toString().split("\\|");
        StringBuffer sb = new StringBuffer(parts[0]);

        for (int j = 1; j < parts.length; ++j)
        {
          if (parts[j].startsWith("?"))
          {
            sb.append("|" + set.getString(parts[j].substring(1).replace('.', '_')));
          }
          else
          {
            sb.append("|" + parts[j]);
          }
        }

        outColumn.setContent(sb.toString());
      }
      else if (column.getViewer().startsWith("icon:"))
      {
        Object value = set.getObject(column.getAs());
        String viewer = column.getViewer();
        int slashPos = viewer.indexOf('|');
        String iconTrue = viewer.substring(5, slashPos > 0 ? slashPos : viewer.length());
        String iconFalse = slashPos > 0 ? viewer.substring(slashPos + 1, viewer.length()) : "blank";
        outColumn.setAttribute("viewer", "icon");
        outColumn.setContent(NumberTools.toBool(value, false) ? iconTrue : iconFalse);
      }
      else if (column.getViewer().startsWith("handler:"))
      {
        Object value = set.getObject(column.getAs());

        outColumn.setAttribute("viewer", "text");

        try
        {
          Class cellHandler = Class.forName(column.getViewer().substring(8));
          String cellRes = cellHandler.getMethod("format", new Class[]
          {
            Object.class
          }).invoke(null, value).toString();

          outColumn.setContent(cellRes);
        }
        catch (InvocationTargetException x)
        {
          outColumn.setContent(x.getTargetException().toString());
        }
        catch (Exception x)
        {
          outColumn.setContent(x.toString());
        }
      }
      else if (column.getViewer().startsWith("js:"))
      {
        String[] params = column.getViewer().split(":");

        outColumn.setAttribute("viewer", "js");
        outColumn.setContent(params[1]);
        outColumn.setAttribute("name", column.getName());
        outColumn.setAttribute("id", ids);
      }
      else if ("province".equals(column.getViewer()))
      {
        outColumn.setAttribute("viewer", column.getViewer());

        Object country = null;

        try
        {
          country = set.getObject(column.getAs() + "country");
        }
        catch (Exception ignored)
        {
        }

        Object value = set.getObject(column.getAs());

        if (! StringTools.isTrimEmpty(value))
        {
          outColumn.setContent((! StringTools.isTrimEmpty(country) ? country + "." : "")
                  + StringTools.trim(value));
        }
        else
        {
          outColumn.setContent("");
        }
      }
      else
      {
        outColumn.setAttribute("viewer", column.getViewer());

        Object value = set.getObject(column.getAs());

        outColumn.setContent(! StringTools.isTrimEmpty(value) ? value : "");
      }

      if (! column.isVisible())
      {
        outColumn.setAttribute("hide", "Y");
      }

      outItem.add(outColumn);
    }
View Full Code Here

TOP

Related Classes of de.iritgo.aktera.model.Output

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.