Author: ilgrosso Date: Tue Jun 3 14:48:51 2014 New Revision: 1599592 URL: http://svn.apache.org/r1599592 Log: [SYNCOPE-498] Primitive type values are always mandatory in wicket: converting primitive classes to wrapper before instantiating SpinnerFieldPanel
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PolicyBeanPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceConnConfPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceDetailsPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/FieldPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.java syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.html syncope/trunk/pom.xml Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/AbstractBasePage.java Tue Jun 3 14:48:51 2014 @@ -98,10 +98,7 @@ public class AbstractBasePage extends We public AbstractBasePage(final PageParameters parameters) { super(parameters); - setupFeedbackPanel(); - } - protected final void setupFeedbackPanel() { feedbackPanel = new NotificationPanel(Constants.FEEDBACK); feedbackPanel.setOutputMarkupId(true); add(feedbackPanel); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java Tue Jun 3 14:48:51 2014 @@ -142,7 +142,7 @@ public class ApprovalModalPage extends B case Long: field = new SpinnerFieldPanel<Long>("value", label.getDefaultModelObjectAsString(), Long.class, new Model<Long>(NumberUtils.toLong(prop.getValue())), - null, null, false); + null, null); break; case String: Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java Tue Jun 3 14:48:51 2014 @@ -191,7 +191,7 @@ public class ConnectorModalPage extends final SpinnerFieldPanel<Integer> connRequestTimeout = new SpinnerFieldPanel<Integer>("connRequestTimeout", "connRequestTimeout", Integer.class, - new PropertyModel<Integer>(connInstanceTO, "connRequestTimeout"), 0, null, true); + new PropertyModel<Integer>(connInstanceTO, "connRequestTimeout"), 0, null); connRequestTimeout.getField().add(new RangeValidator<Integer>(0, Integer.MAX_VALUE)); connectorForm.add(connRequestTimeout); @@ -200,28 +200,28 @@ public class ConnectorModalPage extends } final SpinnerFieldPanel<Integer> poolMaxObjects = new SpinnerFieldPanel<Integer>("poolMaxObjects", "poolMaxObjects", Integer.class, - new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxObjects"), 0, null, true); + new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxObjects"), 0, null); poolMaxObjects.getField().add(new RangeValidator<Integer>(0, Integer.MAX_VALUE)); connectorForm.add(poolMaxObjects); final SpinnerFieldPanel<Integer> poolMinIdle = new SpinnerFieldPanel<Integer>("poolMinIdle", "poolMinIdle", Integer.class, - new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "minIdle"), 0, null, true); + new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "minIdle"), 0, null); poolMinIdle.getField().add(new RangeValidator<Integer>(0, Integer.MAX_VALUE)); connectorForm.add(poolMinIdle); final SpinnerFieldPanel<Integer> poolMaxIdle = new SpinnerFieldPanel<Integer>("poolMaxIdle", "poolMaxIdle", Integer.class, - new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxIdle"), 0, null, true); + new PropertyModel<Integer>(connInstanceTO.getPoolConf(), "maxIdle"), 0, null); poolMaxIdle.getField().add(new RangeValidator<Integer>(0, Integer.MAX_VALUE)); connectorForm.add(poolMaxIdle); final SpinnerFieldPanel<Long> poolMaxWait = new SpinnerFieldPanel<Long>("poolMaxWait", "poolMaxWait", Long.class, - new PropertyModel<Long>(connInstanceTO.getPoolConf(), "maxWait"), 0L, null, true); + new PropertyModel<Long>(connInstanceTO.getPoolConf(), "maxWait"), 0L, null); poolMaxWait.getField().add(new RangeValidator<Long>(0L, Long.MAX_VALUE)); connectorForm.add(poolMaxWait); final SpinnerFieldPanel<Long> poolMinEvictableIdleTime = new SpinnerFieldPanel<Long>("poolMinEvictableIdleTime", "poolMinEvictableIdleTime", Long.class, new PropertyModel<Long>(connInstanceTO.getPoolConf(), "minEvictableIdleTimeMillis"), - 0L, null, true); + 0L, null); poolMinEvictableIdleTime.getField().add(new RangeValidator<Long>(0L, Long.MAX_VALUE)); connectorForm.add(poolMinEvictableIdleTime); @@ -323,13 +323,17 @@ public class ConnectorModalPage extends try { propertySchemaClass = ClassUtils.forName(property.getSchema().getType(), ClassUtils.getDefaultClassLoader()); + if (ClassUtils.isPrimitiveOrWrapper(propertySchemaClass)) { + propertySchemaClass = + org.apache.commons.lang3.ClassUtils.primitiveToWrapper(propertySchemaClass); + } } catch (Exception e) { LOG.error("Error parsing attribute type", e); propertySchemaClass = String.class; } if (ClassUtils.isAssignable(Number.class, propertySchemaClass)) { field = new SpinnerFieldPanel<Number>("panel", label.getDefaultModelObjectAsString(), - (Class<Number>) propertySchemaClass, new Model<Number>(), null, null, false); + (Class<Number>) propertySchemaClass, new Model<Number>(), null, null); required = property.getSchema().isRequired(); } else if (ClassUtils.isAssignable(Boolean.class, propertySchemaClass)) { @@ -509,7 +513,7 @@ public class ConnectorModalPage extends for (ConnConfPropSchema key : bundleTO.getProperties()) { final ConnConfProperty propertyTO = new ConnConfProperty(); propertyTO.setSchema(key); - if (connInstanceTO.getId() != 0 + if (connInstanceTO.getId() != 0 && connInstanceTO.getConfigurationMap().containsKey(key.getName()) && connInstanceTO.getConfigurationMap().get(key.getName()).getValues() != null) { propertyTO.getValues().addAll(connInstanceTO.getConfigurationMap().get(key.getName()).getValues()); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java Tue Jun 3 14:48:51 2014 @@ -206,7 +206,7 @@ public class ReportletConfModalPage exte if (ClassUtils.isAssignable(Boolean.class, type)) { result = new AjaxCheckBoxPanel(id, fieldName, model); } else if (ClassUtils.isAssignable(Number.class, type)) { - result = new SpinnerFieldPanel<Number>(id, fieldName, (Class<Number>) type, model, null, null, false); + result = new SpinnerFieldPanel<Number>(id, fieldName, (Class<Number>) type, model, null, null); } else if (Date.class.equals(type)) { result = new DateTimeFieldPanel(id, fieldName, model, SyncopeConstants.DEFAULT_DATE_PATTERN); } else if (type.isEnum()) { Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java Tue Jun 3 14:48:51 2014 @@ -266,10 +266,10 @@ public class AttributesPanel extends Pan panel.addRequiredLabel(); } break; - + case Long: panel = new SpinnerFieldPanel<Long>("panel", schemaTO.getName(), - Long.class, new Model<Long>(), null, null, false); + Long.class, new Model<Long>(), null, null); if (required) { panel.addRequiredLabel(); @@ -278,15 +278,16 @@ public class AttributesPanel extends Pan case Double: panel = new SpinnerFieldPanel<Double>("panel", schemaTO.getName(), - Double.class, new Model<Double>(), null, null, false); + Double.class, new Model<Double>(), null, null); if (required) { panel.addRequiredLabel(); } break; - + default: panel = new AjaxTextFieldPanel("panel", schemaTO.getName(), new Model<String>()); + if (required) { panel.addRequiredLabel(); } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/NotificationPanel.java Tue Jun 3 14:48:51 2014 @@ -18,6 +18,7 @@ */ package org.apache.syncope.console.pages.panels; +import org.apache.commons.lang3.StringUtils; import org.apache.wicket.AttributeModifier; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.feedback.FeedbackMessage; @@ -29,55 +30,43 @@ public class NotificationPanel extends F private static final long serialVersionUID = 5895940553202128621L; - private final String cssClass = "notificationpanel"; + private static final String CSS_CLASS = "notificationpanel"; - private String additionalCSSClass = "notificationpanel_top_right"; + private static final String DEFAULT_ADDITIONAL_CSS_CLASS = "notificationpanel_top_right"; - // Create a notifcation panel with the default additional class, specified as a field variable - public NotificationPanel(final String id) { - super(id); - - init(id, additionalCSSClass); - } - - // Create a notifcation panel with a custom additional class, overwriting the field variable - public NotificationPanel(final String id, final String additionalCSSClass) { - super(id); + private final String additionalCSSClass; - this.additionalCSSClass = additionalCSSClass; - - init(id, additionalCSSClass); + public NotificationPanel(final String id) { + this(id, null, null); } public NotificationPanel(final String id, final String additionalCSSClass, final IFeedbackMessageFilter feedbackMessageFilter) { + super(id, feedbackMessageFilter); - this.additionalCSSClass = additionalCSSClass; + this.additionalCSSClass = StringUtils.isBlank(additionalCSSClass) + ? DEFAULT_ADDITIONAL_CSS_CLASS + : additionalCSSClass; - init(id, additionalCSSClass); - } - - private void init(final String id, final String additionalCSSClass) { // set custom markup id and ouput it, to find the component later on in the js function setMarkupId(id); setOutputMarkupId(true); // Add the additional cssClass and hide the element by default - add(new AttributeModifier("class", new Model<String>(cssClass + " " + additionalCSSClass))); + add(new AttributeModifier("class", new Model<String>(this.CSS_CLASS + " " + this.additionalCSSClass))); add(new AttributeModifier("style", new Model<String>("opacity: 0;"))); } /** - * Method to refresh the notification panel + * Method to refresh the notification panel. * - * if there are any feedback messages for the user, find the gravest level, format the notification panel - * accordingly and show it + * If there are any feedback messages for the user, find the gravest level, format the notification panel + * accordingly and show it. * * @param target AjaxRequestTarget to add panel and the calling javascript function */ public void refresh(final AjaxRequestTarget target) { - // any feedback at all in the current form? if (anyMessage()) { int highestFeedbackLevel = FeedbackMessage.INFO; @@ -93,22 +82,23 @@ public class NotificationPanel extends F // add the css classes to the notification panel, // including the border css which represents the highest level of feedback add(new AttributeModifier("class", - new Model<String>(cssClass + new Model<String>(CSS_CLASS + " " + additionalCSSClass - + " notificationpanel_border_" + String.valueOf(highestFeedbackLevel)))); + + " notificationpanel_border_" + highestFeedbackLevel))); // refresh the panel and call the js function with the panel markup id // and the total count of messages target.add(this); - target.appendJavaScript("showNotification('" + getMarkupId() + "', " + getCurrentMessages().size() + ");"); + if (anyMessage(FeedbackMessage.ERROR)) { + target.appendJavaScript( + "$('div#" + getMarkupId() + "').fadeTo('normal', 1.0);"); + } else { + target.appendJavaScript( + "showNotification('" + getMarkupId() + "', " + getCurrentMessages().size() + ");"); + } } } - /** - * Returns css class for the single rows of the panel - * - * @param message - */ @Override protected String getCSSClass(final FeedbackMessage message) { return "notificationpanel_row_" + message.getLevelAsString(); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PolicyBeanPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PolicyBeanPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PolicyBeanPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/PolicyBeanPanel.java Tue Jun 3 14:48:51 2014 @@ -227,7 +227,7 @@ public class PolicyBeanPanel extends Pan } else if (ClassUtils.isAssignable(Number.class, field.getType())) { component = new SpinnerFieldPanel<Number>("field", field.getName(), (Class<Number>) field.getType(), new PropertyModel<Number>(policy, field.getName()), - null, null, false); + null, null); item.add(component); item.add(getActivationControl(component, Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceConnConfPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceConnConfPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceConnConfPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceConnConfPanel.java Tue Jun 3 14:48:51 2014 @@ -157,7 +157,7 @@ public class ResourceConnConfPanel exten if (ClassUtils.isAssignable(Number.class, propertySchemaClass)) { Class<Number> numberClass = (Class<Number>) propertySchemaClass; field = new SpinnerFieldPanel<Number>("panel", label.getDefaultModelObjectAsString(), - numberClass, new Model<Number>(), null, null, false); + numberClass, new Model<Number>(), null, null); required = property.getSchema().isRequired(); } else if (ClassUtils.isAssignable(Boolean.class, propertySchemaClass)) { Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceDetailsPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceDetailsPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceDetailsPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceDetailsPanel.java Tue Jun 3 14:48:51 2014 @@ -84,7 +84,7 @@ public class ResourceDetailsPanel extend final SpinnerFieldPanel<Integer> propagationPriority = new SpinnerFieldPanel<Integer>("propagationPriority", "propagationPriority", Integer.class, - new PropertyModel<Integer>(resourceTO, "propagationPriority"), null, null, false); + new PropertyModel<Integer>(resourceTO, "propagationPriority"), null, null); add(propagationPriority); final AjaxDropDownChoicePanel<PropagationMode> propagationMode = new AjaxDropDownChoicePanel<PropagationMode>( Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/FieldPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/FieldPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/FieldPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/FieldPanel.java Tue Jun 3 14:48:51 2014 @@ -127,7 +127,7 @@ public abstract class FieldPanel<T> exte } @Override - public FieldPanel<T> setModelObject(T object) { + public FieldPanel<T> setModelObject(final T object) { field.setModelObject(object); return this; } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.java?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.java Tue Jun 3 14:48:51 2014 @@ -25,12 +25,12 @@ import org.apache.commons.lang3.math.Num import org.apache.syncope.console.commons.Constants; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; -import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; +import org.springframework.util.StringUtils; public class SpinnerFieldPanel<T extends Number> extends FieldPanel<T> { @@ -44,8 +44,9 @@ public class SpinnerFieldPanel<T extends private final T max; + @SuppressWarnings("unchecked") public SpinnerFieldPanel(final String id, final String name, final Class<T> reference, final IModel<T> model, - final T min, final T max, final boolean disableVisible) { + final T min, final T max) { super(id, name, model); this.reference = reference; @@ -70,21 +71,6 @@ public class SpinnerFieldPanel<T extends }); } - AjaxLink<Void> spinnerFieldDisable = new AjaxLink<Void>("spinnerFieldDisable") { - - private static final long serialVersionUID = -7978723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target) { - // nothing to do - } - - }; - spinnerFieldDisable.setMarkupId("spinnerFieldDisable-" + uuid); - spinnerFieldDisable.setOutputMarkupPlaceholderTag(true); - spinnerFieldDisable.setVisible(disableVisible); - add(spinnerFieldDisable); - final StringBuilder statements = new StringBuilder(); statements.append("jQuery(function() {"). append("var spinner = $('#").append(uuid).append("').spinner();"). @@ -100,16 +86,7 @@ public class SpinnerFieldPanel<T extends append("$('#").append(uuid).append("').spinner("). append("'option', 'max', ").append(this.max).append(");"); } - statements. - append("$('#spinnerFieldDisable-").append(uuid).append("').click(function() {"). - append("if (spinner.spinner('option', 'disabled')) {"). - append("spinner.spinner('enable');"). - append("} else {"). - append("spinner.spinner('disable');"). - append("spinner.spinner('value', null)"). - append("}"). - append("});"). - append("});"); + statements.append("});"); Label spinnerFieldJS = new Label("spinnerFieldJS", statements.toString()); spinnerFieldJS.setEscapeModelStrings(false); add(spinnerFieldJS); @@ -122,22 +99,21 @@ public class SpinnerFieldPanel<T extends private static final long serialVersionUID = 527651414610325237L; @Override - @SuppressWarnings("unchecked") public T getObject() { T value = null; - if (list != null && !list.isEmpty()) { + if (list != null && !list.isEmpty() && StringUtils.hasText(list.get(0).toString())) { value = reference.equals(Integer.class) - ? (T) Integer.valueOf(NumberUtils.toInt(list.get(0).toString())) + ? reference.cast(NumberUtils.toInt(list.get(0).toString())) : reference.equals(Long.class) - ? (T) Short.valueOf(NumberUtils.toShort(list.get(0).toString())) + ? reference.cast(NumberUtils.toLong(list.get(0).toString())) : reference.equals(Short.class) - ? (T) Long.valueOf(NumberUtils.toLong(list.get(0).toString())) + ? reference.cast(NumberUtils.toShort(list.get(0).toString())) : reference.equals(Float.class) - ? (T) Float.valueOf(NumberUtils.toFloat(list.get(0).toString())) - : reference.equals(Byte.class) - ? (T) Byte.valueOf(NumberUtils.toByte(list.get(0).toString())) - : (T) Double.valueOf(NumberUtils.toDouble(list.get(0).toString())); + ? reference.cast(NumberUtils.toFloat(list.get(0).toString())) + : reference.equals(byte.class) + ? reference.cast(NumberUtils.toByte(list.get(0).toString())) + : reference.cast(NumberUtils.toDouble(list.get(0).toString())); } return value; @@ -163,7 +139,6 @@ public class SpinnerFieldPanel<T extends private static final long serialVersionUID = 6799404673615637845L; @Override - @SuppressWarnings("unchecked") public T getObject() { T number = null; @@ -172,20 +147,19 @@ public class SpinnerFieldPanel<T extends if (obj != null && !obj.toString().isEmpty()) { if (obj instanceof String) { number = reference.equals(Integer.class) - ? (T) Integer.valueOf((String) obj) + ? reference.cast(Integer.valueOf((String) obj)) : reference.equals(Long.class) - ? (T) Short.valueOf((String) obj) + ? reference.cast(Short.valueOf((String) obj)) : reference.equals(Short.class) - ? (T) Long.valueOf((String) obj) + ? reference.cast(Long.valueOf((String) obj)) : reference.equals(Float.class) - ? (T) Float.valueOf((String) obj) - : reference.equals(Byte.class) - ? (T) Byte.valueOf((String) obj) - : (T) Double.valueOf((String) obj); - + ? reference.cast(Float.valueOf((String) obj)) + : reference.equals(byte.class) + ? reference.cast(Byte.valueOf((String) obj)) + : reference.cast(Double.valueOf((String) obj)); } else if (obj instanceof Number) { // Don't parse anything - number = (T) obj; + number = reference.cast(obj); } } @@ -204,8 +178,7 @@ public class SpinnerFieldPanel<T extends @Override public SpinnerFieldPanel<T> clone() { - SpinnerFieldPanel<T> panel = new SpinnerFieldPanel<T>( - id, name, reference, model, min, max, isRequiredLabelAdded); + SpinnerFieldPanel<T> panel = new SpinnerFieldPanel<T>(id, name, reference, model, min, max); panel.setRequired(isRequired()); panel.setReadOnly(isReadOnly()); Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.html URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.html?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.html (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/SpinnerFieldPanel.html Tue Jun 3 14:48:51 2014 @@ -24,11 +24,6 @@ under the License. <div style="display: table-cell;"> <input wicket:id="spinnerField"/> </div> - <div style="display: table-cell;vertical-align: middle;padding-left: 5px;"> - <a wicket:id="spinnerFieldDisable"> - <img src="img/disable.png" alt="Toggle disable/enable" title="Toggle disable/enable"/> - </a> - </div> </div> </wicket:extend> </html> Modified: syncope/trunk/pom.xml URL: http://svn.apache.org/viewvc/syncope/trunk/pom.xml?rev=1599592&r1=1599591&r2=1599592&view=diff ============================================================================== --- syncope/trunk/pom.xml (original) +++ syncope/trunk/pom.xml Tue Jun 3 14:48:51 2014 @@ -356,7 +356,7 @@ under the License. <jasypt.version>1.9.2</jasypt.version> - <jquery.version>1.11.0-1</jquery.version> + <jquery.version>1.11.1</jquery.version> <jquery-ui.version>1.10.4</jquery-ui.version> <highlightjs.version>7.3-1</highlightjs.version> <codemirror.version>3.23</codemirror.version>