Changeset 4211


Ignore:
Timestamp:
Apr 7, 2008, 2:02:52 PM (15 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #970: PluginConfigurationImporter? doesn't support multi-valued parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.6-stable/src/plugins/core/net/sf/basedb/plugins/PluginConfigurationImporter.java

    r4120 r4211  
    615615  private ParameterType getParameterType(Class parameterClass, List<?> values)
    616616  {
    617     if (parameterClass.equals(Boolean.class)) return new BooleanParameterType();
    618     else if (parameterClass.equals(Date.class)) return new DateParameterType();
    619     else if (parameterClass.equals(Double.class)) return new DoubleParameterType();   
    620     else if (parameterClass.equals(Float.class)) return new FloatParameterType();
    621     else if (parameterClass.equals(Integer.class)) return new IntegerParameterType();   
    622     else if (parameterClass.equals(Long.class)) return new LongParameterType();
     617    int multiplicity = 1;
     618    if (values != null && values.size() > 1) multiplicity = values.size();
     619    ParameterType pType = null;
     620   
     621    if (parameterClass.equals(Boolean.class))
     622    {
     623      pType = new BooleanParameterType(null, false, multiplicity, null);
     624    }
     625    else if (parameterClass.equals(Date.class))
     626    {
     627      pType = new DateParameterType(null, false, multiplicity, 0, 0, null);
     628    }
     629    else if (parameterClass.equals(Double.class))
     630    {
     631      pType = new DoubleParameterType(null, null, null, false, multiplicity, 0, 0, null);   
     632    }
     633    else if (parameterClass.equals(Float.class))
     634    {
     635      pType = new FloatParameterType(null, null, null, false, multiplicity, 0, 0, null);
     636    }
     637    else if (parameterClass.equals(Integer.class))
     638    {
     639      pType = new IntegerParameterType(null, null, null, false, multiplicity, 0, 0, null);   
     640    }
     641    else if (parameterClass.equals(Long.class))
     642    {
     643      pType = new LongParameterType(null, null, null, false, multiplicity, 0, 0, null);
     644    }
    623645    else if (parameterClass.equals(String.class))
    624646    {
    625       StringParameterType stp = null;
     647      // Find longest string
     648      int maxLength = 255;
    626649      if (values != null && !values.isEmpty())
    627650      {
    628         int maxLength = 0;
    629651        for (Object obj : values)
    630652        {
     
    632654          {
    633655            String str = obj.toString();
    634             maxLength = maxLength < str.length() ? str.length() : maxLength;           
     656            if (str.length() > maxLength) maxLength = str.length();
    635657          }
    636658        }
    637         stp = new StringParameterType(maxLength, null, false);
    638       }
    639       else
    640       {
    641         stp = new StringParameterType();
    642       }
    643       return stp;
    644      
    645     }
    646     else return null;
     659      }
     660      pType = new StringParameterType(maxLength, null, false, multiplicity, 0, 0);
     661    }
     662    return pType;
    647663  }
    648664 
Note: See TracChangeset for help on using the changeset viewer.