Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetItem.java	(revision 16042)
@@ -129,5 +129,5 @@
         final Collection<String> s = Config.getPref().getList("taggingpreset.icon.sources", null);
         ImageProvider imgProv = new ImageProvider(iconName).setDirs(s).setId("presets").setArchive(zipIcons).setOptional(true);
-        if (maxSize != null) {
+        if (maxSize != null && maxSize > 0) {
             imgProv.setMaxSize(maxSize);
         }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 16042)
@@ -38,5 +38,5 @@
     public String icon; // NOSONAR
     /** The size of displayed icon. If not set, default is 16px */
-    public String icon_size; // NOSONAR
+    public short icon_size = 16; // NOSONAR
 
     private QuadStateCheckBox check;
@@ -134,6 +134,5 @@
      */
     public ImageIcon getIcon() {
-        Integer size = parseInteger(icon_size);
-        return icon == null ? null : loadImageIcon(icon, TaggingPresetReader.getZipIcons(), size != null ? size : 16);
+        return icon == null ? null : loadImageIcon(icon, TaggingPresetReader.getZipIcons(), (int) icon_size);
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java	(revision 16042)
@@ -24,5 +24,5 @@
      * Number of columns (positive integer)
      */
-    public String columns; // NOSONAR
+    public short columns = 1; // NOSONAR
 
     /**
@@ -33,7 +33,6 @@
     @Override
     public boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel, boolean presetInitiallyMatches) {
-        Integer cols = Integer.valueOf(columns);
-        int rows = (int) Math.ceil(checks.size()/cols.doubleValue());
-        JPanel panel = new JPanel(new GridLayout(rows, cols));
+        int rows = (int) Math.ceil(checks.size() / ((double) columns));
+        JPanel panel = new JPanel(new GridLayout(rows, columns));
 
         for (Check check : checks) {
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java	(revision 16042)
@@ -22,5 +22,5 @@
     public boolean editable = true; // NOSONAR
     /** The length of the combo box (number of characters allowed). */
-    public String length; // NOSONAR
+    public short length; // NOSONAR
 
     protected JosmComboBox<PresetListEntry> combobox;
@@ -59,6 +59,6 @@
             tf.setHint(key);
         }
-        if (length != null && !length.isEmpty()) {
-            tf.setMaxChars(Integer.valueOf(length));
+        if (length > 0) {
+            tf.setMaxChars((int) length);
         }
         AutoCompletionList acList = tf.getAutoCompletionList();
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 16042)
@@ -218,5 +218,5 @@
         public String icon; // NOSONAR
         /** The size of displayed icon. If not set, default is size from icon file */
-        public String icon_size; // NOSONAR
+        public short icon_size; // NOSONAR
         /** The localized version of {@link #display_value}. */
         public String locale_display_value; // NOSONAR
@@ -273,5 +273,5 @@
          */
         public ImageIcon getIcon() {
-            return icon == null ? null : loadImageIcon(icon, TaggingPresetReader.getZipIcons(), parseInteger(icon_size));
+            return icon == null ? null : loadImageIcon(icon, TaggingPresetReader.getZipIcons(), (int) icon_size);
         }
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Label.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Label.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Label.java	(revision 16042)
@@ -21,5 +21,5 @@
     public String icon; // NOSONAR
     /** The size of displayed icon. If not set, default is 16px */
-    public String icon_size; // NOSONAR
+    public short icon_size = 16; // NOSONAR
 
     @Override
@@ -45,6 +45,5 @@
      */
     public ImageIcon getIcon() {
-        Integer size = parseInteger(icon_size);
-        return icon == null ? null : loadImageIcon(icon, TaggingPresetReader.getZipIcons(), size != null ? size : 16);
+        return icon == null ? null : loadImageIcon(icon, TaggingPresetReader.getZipIcons(), (int) icon_size);
     }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java	(revision 16042)
@@ -20,5 +20,5 @@
      * Number of rows to display (positive integer, optional).
      */
-    public String rows; // NOSONAR
+    public short rows; // NOSONAR
 
     protected ConcatenatingJList list;
@@ -48,7 +48,7 @@
         // if a number of rows has been specified in the preset,
         // modify preferred height of scroll pane to match that row count.
-        if (rows != null) {
+        if (rows > 0) {
             double height = renderer.getListCellRendererComponent(list,
-                    new PresetListEntry("x"), 0, false, false).getPreferredSize().getHeight() * Integer.parseInt(rows);
+                    new PresetListEntry("x"), 0, false, false).getPreferredSize().getHeight() * rows;
             sp.setPreferredSize(new Dimension((int) sp.getPreferredSize().getWidth(), (int) height));
         }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java	(revision 16042)
@@ -56,5 +56,5 @@
         public boolean required; // NOSONAR
         /** How often must the element appear */
-        private long count;
+        private short count;
 
         public void setType(String types) throws SAXException {
@@ -89,5 +89,5 @@
 
         public void setCount(String count) {
-            this.count = Long.parseLong(count);
+            this.count = Short.parseShort(count);
         }
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 16041)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 16042)
@@ -54,5 +54,5 @@
     public String auto_increment; // NOSONAR
     /** The length of the text box (number of characters allowed). */
-    public String length; // NOSONAR
+    public short length; // NOSONAR
     /** A comma separated list of alternative keys to use for autocompletion. */
     public String alternative_autocomplete_keys; // NOSONAR
@@ -74,6 +74,6 @@
             textField.setHint(key);
         }
-        if (length != null && !length.isEmpty()) {
-            textField.setMaxChars(Integer.valueOf(length));
+        if (length > 0) {
+            textField.setMaxChars((int) length);
         }
         if (usage.unused()) {
Index: /trunk/test/unit/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroupTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroupTest.java	(revision 16041)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroupTest.java	(revision 16042)
@@ -34,5 +34,4 @@
     public void testAddToPanel() {
         CheckGroup cg = new CheckGroup();
-        cg.columns = "1";
         JPanel p = new JPanel();
         assertEquals(0, p.getComponentCount());
