Package com.eviware.soapui.security.support

Source Code of com.eviware.soapui.security.support.MaliciousAttachmentListToTableHolder

package com.eviware.soapui.security.support;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.eviware.soapui.config.MaliciousAttachmentConfig;
import com.eviware.soapui.security.tools.AttachmentElement;
import com.eviware.soapui.security.ui.MaliciousAttachmentMutationsPanel.MutationTables;
import com.eviware.x.impl.swing.JFormDialog;

public class MaliciousAttachmentListToTableHolder
{

  MaliciousAttachmentFilesListForm filesList;
  MaliciousAttachmentTableModel generateTableModel;
  MaliciousAttachmentTableModel replaceTableModel;
  JFormDialog tablesDialog;

  Map<String, List<MaliciousAttachmentConfig>> generateMap = new HashMap<String, List<MaliciousAttachmentConfig>>();
  Map<String, List<MaliciousAttachmentConfig>> replaceMap = new HashMap<String, List<MaliciousAttachmentConfig>>();
  Map<String, Boolean> removeMap = new HashMap<String, Boolean>();

  public JFormDialog getTablesDialog()
  {
    return tablesDialog;
  }

  public void setTablesDialog( JFormDialog tablesDialog )
  {
    this.tablesDialog = tablesDialog;
  }

  public MaliciousAttachmentFilesListForm getFilesList()
  {
    return filesList;
  }

  public void setFilesList( MaliciousAttachmentFilesListForm filesList )
  {
    this.filesList = filesList;
  }

  public MaliciousAttachmentTableModel getGenerateTableModel()
  {
    return generateTableModel;
  }

  public void setGenerateTableModel( MaliciousAttachmentTableModel generateTableModel )
  {
    this.generateTableModel = generateTableModel;
  }

  public MaliciousAttachmentTableModel getReplaceTableModel()
  {
    return replaceTableModel;
  }

  public void setReplaceTableModel( MaliciousAttachmentTableModel replaceTableModel )
  {
    this.replaceTableModel = replaceTableModel;
  }

  public void refresh()
  {
    if( filesList != null )
    {
      AttachmentElement item = filesList.getFirstItem();
      // String label = ( item != null ) ? item.getAttachment().getName() :
      // "";
      // tablesDialog.getFormField( MutationTables.LABEL ).setValue( label );
      if( item != null )
      {
        load( item );
      }
    }
  }

  public void refresh( AttachmentElement oldItem, AttachmentElement newItem )
  {
    if( oldItem != null )
    {
      save( oldItem );

      if( newItem != null )
      {
        load( newItem );
      }
    }
  }

  public void addResultToGenerateTable( MaliciousAttachmentConfig config )
  {
    generateTableModel.addResult( config );
  }

  public void addResultToReplaceTable( MaliciousAttachmentConfig config )
  {
    replaceTableModel.addResult( config );
  }

  private void save( AttachmentElement item )
  {
    List<MaliciousAttachmentConfig> generateList = new ArrayList<MaliciousAttachmentConfig>();
    List<MaliciousAttachmentConfig> replaceList = new ArrayList<MaliciousAttachmentConfig>();

    for( int i = 0; i < generateTableModel.getRowCount(); i++ )
    {
      generateList.add( generateTableModel.getRowValue( i ) );
    }

    for( int i = 0; i < replaceTableModel.getRowCount(); i++ )
    {
      replaceList.add( replaceTableModel.getRowValue( i ) );
    }

    Boolean remove = tablesDialog.getBooleanValue( MutationTables.REMOVE_FILE );

    generateMap.put( item.getId(), generateList );
    replaceMap.put( item.getId(), replaceList );
    removeMap.put( item.getId(), remove );
  }

  private void load( AttachmentElement item )
  {
    List<MaliciousAttachmentConfig> generateList = generateMap.get( item.getId() );
    List<MaliciousAttachmentConfig> replaceList = replaceMap.get( item.getId() );
    Boolean remove = removeMap.get( item.getId() );

    // tablesDialog.setValue( MutationTables.LABEL,
    // item.getAttachment().getName() );

    generateTableModel.clear();
    replaceTableModel.clear();
    tablesDialog.setBooleanValue( MutationTables.REMOVE_FILE, new Boolean( false ) );

    if( remove != null )
    {
      tablesDialog.setBooleanValue( MutationTables.REMOVE_FILE, remove );
    }

    if( generateList != null )
    {
      for( MaliciousAttachmentConfig element : generateList )
      {
        generateTableModel.addResult( element );
      }
    }

    if( replaceList != null )
    {
      for( MaliciousAttachmentConfig element : replaceList )
      {
        replaceTableModel.addResult( element );
      }
    }
  }

  public void removeAttachment( String key )
  {
    generateMap.remove( key );
    replaceMap.remove( key );
    removeMap.remove( key );
  }

  public void release()
  {
    filesList.release();
    filesList = null;
    tablesDialog.release();
    generateMap = null;
    replaceMap = null;
    removeMap = null;
  }
}
TOP

Related Classes of com.eviware.soapui.security.support.MaliciousAttachmentListToTableHolder

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.