Package de.iritgo.aktera.importer.ui

Source Code of de.iritgo.aktera.importer.ui.ImportDefineFormularHandler

/**
* This file is part of the Iritgo/Aktera Framework.
*
* Copyright (C) 2005-2011 Iritgo Technologies.
* Copyright (C) 2003-2005 BueroByte GbR.
*
* Iritgo licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package de.iritgo.aktera.importer.ui;


import de.iritgo.aktera.comm.BinaryWrapper;
import de.iritgo.aktera.importer.ImportManager;
import de.iritgo.aktera.model.ModelException;
import de.iritgo.aktera.model.ModelRequest;
import de.iritgo.aktera.model.ModelResponse;
import de.iritgo.aktera.persist.PersistenceException;
import de.iritgo.aktera.tools.FileTools;
import de.iritgo.aktera.ui.form.FormTools;
import de.iritgo.aktera.ui.form.FormularDescriptor;
import de.iritgo.aktera.ui.form.FormularHandler;
import de.iritgo.aktera.ui.form.PersistentDescriptor;
import de.iritgo.aktera.ui.form.ValidationResult;
import de.iritgo.simplelife.string.StringTools;
import org.apache.avalon.framework.configuration.Configuration;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.TreeMap;


/**
*
*/
public class ImportDefineFormularHandler extends FormularHandler
{
  /** */
  private ImportManager importManager;

  /**
   * @param importManager The new importManager.
   */
  public void setImportManager(ImportManager importManager)
  {
    this.importManager = importManager;
  }

  /**
   * @see de.iritgo.aktera.ui.form.FormularHandler#adjustFormular(de.iritgo.aktera.model.ModelRequest, de.iritgo.aktera.ui.form.FormularDescriptor, de.iritgo.aktera.ui.form.PersistentDescriptor)
   */
  @Override
  public void adjustFormular(ModelRequest request, FormularDescriptor formular, PersistentDescriptor persistents)
    throws ModelException, PersistenceException
  {
    super.adjustFormular(request, formular, persistents);

    TreeMap<String, String> csvImports = new TreeMap<String, String>();

    persistents.putAttributeValidValues("xslt", csvImports);
    csvImports.put("", "$opt-");

    for (String id : importManager.getCsvImportHandlerIds())
    {
      csvImports.put(importManager.getCsvImportHandlerXsl(id), "$import" + id);
    }
  }

  /**
   * @see de.iritgo.aktera.ui.form.FormularHandler
   */
  public void validatePersistents(List<Configuration> persistentConfig, ModelRequest request, ModelResponse response,
          FormularDescriptor formular, PersistentDescriptor persistents, boolean create,
          ValidationResult result) throws ModelException, PersistenceException
  {
    persistents.putAttribute("fileUpload1", request.getParameter("fileUpload1"));

    if (request.getParameter("fileUpload1") == null && request.getParameter("fileUpload2") == null)
    {
      FormTools.addError(response, result, "fileUpload1", "Aktera:noImportFileGiven");
    }

    if (request.getParameter("fileUpload2") != null && StringTools.isTrimEmpty(persistents.getAttribute("xslt")))
    {
      FormTools.addError(response, result, "xslt", "Aktera:noCsvTypeSpecified");
    }

    if (request.getParameter("fileUpload1") != null)
    {
      BinaryWrapper data = (BinaryWrapper) request.getParameter("fileUpload1");

      if (data != null)
      {
        File outDir = FileTools.newAkteraFile("/var/tmp/iritgo");

        outDir.mkdirs();

        File outFile = FileTools.newAkteraFile("/var/tmp/iritgo/import.data");

        try
        {
          outFile.delete();
          outFile.createNewFile();
          data.write(outFile);
        }
        catch (IOException x)
        {
          System.out.println("[ImportDefineFormularHandler] Unable to store import file: " + x);
        }
      }
    }
    else if (request.getParameter("fileUpload2") != null)
    {
      BinaryWrapper data = (BinaryWrapper) request.getParameter("fileUpload2");

      if (data != null)
      {
        File outDir = FileTools.newAkteraFile("/var/tmp/iritgo");

        outDir.mkdirs();

        File outFile = FileTools.newAkteraFile("/var/tmp/iritgo/import.data");

        try
        {
          outFile.delete();
          outFile.createNewFile();
          data.write(outFile);
        }
        catch (IOException x)
        {
          System.out.println("[ImportDefineFormularHandler] Unable to store import file: " + x);
        }
      }
    }
  }

  /**
   * @see de.iritgo.aktera.ui.form.FormularHandler
   */
  public int createPersistents(ModelRequest request, FormularDescriptor formular, PersistentDescriptor persistents,
          List<Configuration> persistentConfig) throws ModelException, PersistenceException
  {
    request.setParameter("filename", FileTools.newAkteraFile("var/tmp/iritgo/import.data"));
    return - 1;
  }
}
TOP

Related Classes of de.iritgo.aktera.importer.ui.ImportDefineFormularHandler

TOP
Copyright © 2018 www.massapi.com. 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.