Example usage for java.lang Number floatValue

List of usage examples for java.lang Number floatValue

Introduction

In this page you can find the example usage for java.lang Number floatValue.

Prototype

public abstract float floatValue();

Source Link

Document

Returns the value of the specified number as a float .

Usage

From source file:org.mrgeo.rasterops.GeoTiffExporter.java

public static void export(final RenderedImage image, final Bounds bounds, final OutputStream os,
        final boolean replaceNan, final String xmp, final Number nodata) throws IOException {
    OpImageRegistrar.registerMrGeoOps();

    final TIFFEncodeParam param = new TIFFEncodeParam();
    // The version of GDAL that Legion is using requires a tile size > 1
    param.setTileSize(image.getTileWidth(), image.getTileHeight());
    param.setWriteTiled(true);/*from  w ww. j  av a  2 s.  co  m*/

    // if the image only has 1 pixel, the value of this pixel changes after compressing (especially
    // if this pixel is no data value. e.g -9999 changes to -8192 when read the image back).
    // So don't do compress if the image has only 1 pixel.
    if (image.getWidth() > 1 && image.getHeight() > 1) {
        // Deflate lossless compression (also known as "Zip-in-TIFF")
        param.setCompression(TIFFEncodeParam.COMPRESSION_DEFLATE);
        param.setDeflateLevel(Deflater.BEST_COMPRESSION);
    }

    final GeoTIFFDirectory dir = new GeoTIFFDirectory();

    // GTModelTypeGeoKey : using geographic coordinate system.
    dir.addGeoKey(new XTIFFField(1024, XTIFFField.TIFF_SHORT, 1, new char[] { 2 }));
    // GTRasterTypeGeoKey : pixel is point
    dir.addGeoKey(new XTIFFField(1025, XTIFFField.TIFF_SHORT, 1, new char[] { 1 }));
    // GeographicTypeGeoKey : 4326 WGS84
    dir.addGeoKey(new XTIFFField(2048, XTIFFField.TIFF_SHORT, 1, new char[] { 4326 }));
    dir.addGeoKey(new XTIFFField(2049, XTIFFField.TIFF_ASCII, 7, new String[] { "WGS 84" }));
    // GeogAngularUnitsGeoKey : Angular Degree
    dir.addGeoKey(new XTIFFField(2054, XTIFFField.TIFF_SHORT, 1, new char[] { 9102 }));
    if (xmp != null) {
        final byte[] b = xmp.getBytes("UTF8");
        dir.addField(new XTIFFField(700, XTIFFField.TIFF_BYTE, b.length, b));
    }
    dir.getFields();

    final double[] tiePoints = new double[6];
    tiePoints[0] = 0.0;
    tiePoints[1] = 0.0;
    tiePoints[2] = 0.0;
    tiePoints[3] = bounds.getMinX();
    tiePoints[4] = bounds.getMaxY();
    tiePoints[5] = 0.0;
    dir.setTiepoints(tiePoints);
    final double[] pixelScale = new double[3];
    pixelScale[0] = bounds.getWidth() / image.getWidth();
    pixelScale[1] = bounds.getHeight() / image.getHeight();
    pixelScale[2] = 0;
    dir.setPixelScale(pixelScale);

    final Vector<TIFFField> fields = toTiffField(dir.getFields());

    RenderedImage output = image;

    final String[] nullValues = new String[1];
    switch (image.getSampleModel().getDataType()) {
    case DataBuffer.TYPE_DOUBLE:
        nullValues[0] = Double.toString(nodata.doubleValue());
        if (replaceNan) {
            output = ReplaceNanDescriptor.create(image, nodata.doubleValue());
        }
        // Tiff exporter doesn't handle doubles. Yuck!
        output = ConvertToFloatDescriptor.create(output);

        // Double.NaN (our default nodata on ingest) should not be written out as nodata on export
        // (i.e. GeoTiffs imported without NODATA metadata field should be exported as such)
        if (!Double.isNaN(nodata.doubleValue())) {
            fields.add(new TIFFField(NULL_TAG, XTIFFField.TIFF_ASCII, 1, nullValues));
        }
        break;
    case DataBuffer.TYPE_FLOAT:
        nullValues[0] = Double.toString(nodata.floatValue());
        if (replaceNan) {
            output = ReplaceNanDescriptor.create(image, nodata.floatValue());
        }
        // Float.NaN (our default nodata on ingest) should not be written out as nodata on export
        // (i.e. GeoTiffs imported without NODATA metadata field should be exported as such)
        if (!Float.isNaN(nodata.floatValue())) {
            fields.add(new TIFFField(NULL_TAG, XTIFFField.TIFF_ASCII, 1, nullValues));
        }
        break;
    case DataBuffer.TYPE_INT:
    case DataBuffer.TYPE_USHORT:
    case DataBuffer.TYPE_SHORT:
    case DataBuffer.TYPE_BYTE:
        nullValues[0] = Integer.toString(nodata.intValue());
        fields.add(new TIFFField(NULL_TAG, XTIFFField.TIFF_ASCII, 1, nullValues));
        break;
    }

    param.setExtraFields(fields.toArray(new TIFFField[0]));

    EncodeDescriptor.create(output, os, "TIFF", param, null);
}

From source file:net.pms.util.Rational.java

/**
 * Compares this {@link Rational} by value with any class implementing
 * {@link Number}.//from   ww  w . ja v  a  2 s  . co  m
 * <p>
 * This method is provided in preference to individual methods for each of
 * the six boolean comparison operators ({@literal <}, ==, {@literal >},
 * {@literal >=}, !=, {@literal <=}). The suggested idiom for performing
 * these comparisons is: {@code (x.compareTo(y)} &lt;<i>op</i>&gt;
 * {@code 0)}, where &lt;<i>op</i>&gt; is one of the six comparison
 * operators.
 * <p>
 * <b>Note:</b> {@code NaN} can't be compared by value and is considered
 * greater than anything but itself as defined for {@link Double}.
 *
 * @param number the {@link Number} to which this {@link Rational}'s value
 *            is to be compared.
 * @return A negative integer, zero, or a positive integer as this
 *         {@link Rational} is numerically less than, equal to, or greater
 *         than {@code number}.
 */
public int compareTo(@Nonnull Number number) {
    // Establish special cases
    boolean numberIsNaN;
    boolean numberIsInfinite;
    int numberSignum;
    if (number instanceof Rational) {
        numberIsNaN = Rational.isNaN((Rational) number);
        numberIsInfinite = Rational.isInfinite((Rational) number);
        numberSignum = ((Rational) number).numerator.signum();
    } else if (number instanceof Float) {
        numberIsNaN = Float.isNaN(number.floatValue());
        numberIsInfinite = Float.isInfinite(number.floatValue());
        numberSignum = (int) Math.signum(number.floatValue());
    } else if (number instanceof Double) {
        numberIsNaN = Double.isNaN(number.doubleValue());
        numberIsInfinite = Double.isInfinite(number.doubleValue());
        numberSignum = (int) Math.signum(number.doubleValue());
    } else {
        numberIsNaN = false;
        numberIsInfinite = false;
        long l = number.longValue();
        numberSignum = l == 0 ? 0 : l > 0 ? 1 : -1;
    }

    // NaN comparison is done according to the rules for Double.
    if (isNaN()) {
        return numberIsNaN ? 0 : 1;
    }
    if (numberIsNaN) {
        return -1;
    }

    if (isInfinite()) {
        if (numberIsInfinite) {
            return signum() - numberSignum;
        }
        return this.signum();
    }
    if (numberIsInfinite) {
        return -numberSignum;
    }

    // List known integer types for faster and more accurate comparison
    if (number instanceof BigInteger) {
        if (isInteger()) {
            return bigIntegerValue().compareTo((BigInteger) number);
        }
        return bigDecimalValue(2, RoundingMode.HALF_EVEN).compareTo(new BigDecimal((BigInteger) number));
    }
    if (number instanceof AtomicInteger || number instanceof AtomicLong || number instanceof Byte
            || number instanceof Integer || number instanceof Long || number instanceof Short) {
        if (isInteger()) {
            return bigIntegerValue().compareTo(BigInteger.valueOf(number.longValue()));
        }
        return bigDecimalValue(2, RoundingMode.HALF_EVEN).compareTo(new BigDecimal(number.longValue()));
    }
    if (number instanceof BigDecimal) {
        Rational other = valueOf((BigDecimal) number);
        return compareTo(other);
    }
    return bigDecimalValue().compareTo(new BigDecimal(number.doubleValue()));
}

From source file:org.alfresco.solr.SolrInformationServer.java

private NamedList<Object> fixStats(NamedList<Object> namedList) {
    int sz = namedList.size();

    for (int i = 0; i < sz; i++) {
        Object value = namedList.getVal(i);
        if (value instanceof Number) {
            Number number = (Number) value;
            if (Float.isInfinite(number.floatValue()) || Float.isNaN(number.floatValue())
                    || Double.isInfinite(number.doubleValue()) || Double.isNaN(number.doubleValue())) {
                namedList.setVal(i, null);
            }/*from ww w  .  ja  va2 s .  c  o  m*/
        }
    }
    return namedList;
}

From source file:com.examples.with.different.packagename.testcarver.NumberConverter.java

/**
 * Convert any Number object to the specified type for this
 * <i>Converter</i>.//  ww w .j  a  v  a 2 s  . c om
 * <p>
 * This method handles conversion to the following types:
 * <ul>
 *     <li><code>java.lang.Byte</code></li>
 *     <li><code>java.lang.Short</code></li>
 *     <li><code>java.lang.Integer</code></li>
 *     <li><code>java.lang.Long</code></li>
 *     <li><code>java.lang.Float</code></li>
 *     <li><code>java.lang.Double</code></li>
 *     <li><code>java.math.BigDecimal</code></li>
 *     <li><code>java.math.BigInteger</code></li>
 * </ul>
 * @param sourceType The type being converted from
 * @param targetType The Number type to convert to
 * @param value The Number to convert.
 *
 * @return The converted value.
 */
private Number toNumber(Class sourceType, Class targetType, Number value) {

    // Correct Number type already
    if (targetType.equals(value.getClass())) {
        return value;
    }

    // Byte
    if (targetType.equals(Byte.class)) {
        long longValue = value.longValue();
        if (longValue > Byte.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        if (longValue < Byte.MIN_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too small " + toString(targetType));
        }
        return new Byte(value.byteValue());
    }

    // Short
    if (targetType.equals(Short.class)) {
        long longValue = value.longValue();
        if (longValue > Short.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        if (longValue < Short.MIN_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too small " + toString(targetType));
        }
        return new Short(value.shortValue());
    }

    // Integer
    if (targetType.equals(Integer.class)) {
        long longValue = value.longValue();
        if (longValue > Integer.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        if (longValue < Integer.MIN_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too small " + toString(targetType));
        }
        return new Integer(value.intValue());
    }

    // Long
    if (targetType.equals(Long.class)) {
        return new Long(value.longValue());
    }

    // Float
    if (targetType.equals(Float.class)) {
        if (value.doubleValue() > Float.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        return new Float(value.floatValue());
    }

    // Double
    if (targetType.equals(Double.class)) {
        return new Double(value.doubleValue());
    }

    // BigDecimal
    if (targetType.equals(BigDecimal.class)) {
        if (value instanceof Float || value instanceof Double) {
            return new BigDecimal(value.toString());
        } else if (value instanceof BigInteger) {
            return new BigDecimal((BigInteger) value);
        } else {
            return BigDecimal.valueOf(value.longValue());
        }
    }

    // BigInteger
    if (targetType.equals(BigInteger.class)) {
        if (value instanceof BigDecimal) {
            return ((BigDecimal) value).toBigInteger();
        } else {
            return BigInteger.valueOf(value.longValue());
        }
    }

    String msg = toString(getClass()) + " cannot handle conversion to '" + toString(targetType) + "'";
    throw new ConversionException(msg);

}

From source file:javadz.beanutils.converters.NumberConverter.java

/**
 * Convert any Number object to the specified type for this
 * <i>Converter</i>./*from   w  w w  .  java 2 s  . com*/
 * <p>
 * This method handles conversion to the following types:
 * <ul>
 *     <li><code>java.lang.Byte</code></li>
 *     <li><code>java.lang.Short</code></li>
 *     <li><code>java.lang.Integer</code></li>
 *     <li><code>java.lang.Long</code></li>
 *     <li><code>java.lang.Float</code></li>
 *     <li><code>java.lang.Double</code></li>
 *     <li><code>java.math.BigDecimal</code></li>
 *     <li><code>java.math.BigInteger</code></li>
 * </ul>
 * @param sourceType The type being converted from
 * @param targetType The Number type to convert to
 * @param value The Number to convert.
 *
 * @return The converted value.
 */
private Number toNumber(Class sourceType, Class targetType, Number value) {

    // Correct Number type already
    if (targetType.equals(value.getClass())) {
        return value;
    }

    // Byte
    if (targetType.equals(Byte.class)) {
        long longValue = value.longValue();
        if (longValue > Byte.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        if (longValue < Byte.MIN_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too small " + toString(targetType));
        }
        return new Byte(value.byteValue());
    }

    // Short
    if (targetType.equals(Short.class)) {
        long longValue = value.longValue();
        if (longValue > Short.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        if (longValue < Short.MIN_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too small " + toString(targetType));
        }
        return new Short(value.shortValue());
    }

    // Integer
    if (targetType.equals(Integer.class)) {
        long longValue = value.longValue();
        if (longValue > Integer.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        if (longValue < Integer.MIN_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too small " + toString(targetType));
        }
        return new Integer(value.intValue());
    }

    // Long
    if (targetType.equals(Long.class)) {
        return new Long(value.longValue());
    }

    // Float
    if (targetType.equals(Float.class)) {
        if (value.doubleValue() > Float.MAX_VALUE) {
            throw new ConversionException(
                    toString(sourceType) + " value '" + value + "' is too large for " + toString(targetType));
        }
        return new Float(value.floatValue());
    }

    // Double
    if (targetType.equals(Double.class)) {
        return new Double(value.doubleValue());
    }

    // BigDecimal
    if (targetType.equals(BigDecimal.class)) {
        if (value instanceof Float || value instanceof Double) {
            return new BigDecimal(value.toString());
        } else if (value instanceof BigInteger) {
            return new BigDecimal((BigInteger) value);
        } else {
            return BigDecimal.valueOf(value.longValue());
        }
    }

    // BigInteger
    if (targetType.equals(BigInteger.class)) {
        if (value instanceof BigDecimal) {
            return ((BigDecimal) value).toBigInteger();
        } else {
            return BigInteger.valueOf(value.longValue());
        }
    }

    String msg = toString(getClass()) + " cannot handle conversion to '" + toString(targetType) + "'";
    if (log().isWarnEnabled()) {
        log().warn("    " + msg);
    }
    throw new ConversionException(msg);

}

From source file:org.talend.mdm.webapp.browserecords.server.actions.BrowseRecordsAction.java

private Object[] getItemBeans(String dataClusterPK, ViewBean viewBean, EntityModel entityModel, String criteria,
        int skip, int max, String sortDir, String sortCol, String language) throws Exception {

    int totalSize = 0;
    String dateFormat = "yyyy-MM-dd"; //$NON-NLS-1$
    String dateTimeFormat = "yyyy-MM-dd'T'HH:mm:ss"; //$NON-NLS-1$

    List<ItemBean> itemBeans = new ArrayList<ItemBean>();
    String concept = ViewHelper.getConceptFromDefaultViewName(viewBean.getViewPK());
    Map<String, String[]> formatMap = this.checkDisplayFormat(entityModel, language);

    WSWhereItem wi = null;//from ww w  . j  av  a 2  s . com
    if (criteria != null) {
        wi = CommonUtil.buildWhereItems(criteria);
    }
    String[] results = CommonUtil.getPort().viewSearch(new WSViewSearch(new WSDataClusterPK(dataClusterPK),
            new WSViewPK(viewBean.getViewPK()), wi, -1, skip, max, sortCol, sortDir)).getStrings();
    // set foreignKey's EntityModel
    Map<String, EntityModel> map = new HashMap<String, EntityModel>();
    if (results.length > 0 && viewBean.getViewableXpaths() != null) {
        for (String xpath : viewBean.getViewableXpaths()) {
            TypeModel typeModel = entityModel.getMetaDataTypes().get(xpath);
            if (typeModel != null && typeModel.getForeignkey() != null) {
                map.put(xpath, getEntityModel(typeModel.getForeignkey().split("/")[0], language)); //$NON-NLS-1$
            }
        }
    }
    // TODO change ids to array?
    List<String> idsArray = new ArrayList<String>();
    for (int i = 0; i < results.length; i++) {
        if (i == 0) {
            try {
                // Qizx doesn't wrap the count in a XML element, so try to parse it
                totalSize = Integer.parseInt(results[i]);
            } catch (NumberFormatException e) {
                totalSize = Integer.parseInt(com.amalto.webapp.core.util.Util.parse(results[i])
                        .getDocumentElement().getTextContent());
            }
            continue;
        }
        Document doc = parseResultDocument(results[i], "result"); //$NON-NLS-1$
        idsArray.clear();
        for (String key : entityModel.getKeys()) {
            String id = com.amalto.core.util.Util.getFirstTextNode(doc.getDocumentElement(),
                    "." + key.substring(key.lastIndexOf('/'))); //$NON-NLS-1$
            if (id != null) {
                idsArray.add(id);
            }
        }
        Set<String> keySet = formatMap.keySet();
        Map<String, Object> originalMap = new HashMap<String, Object>();
        Map<String, String> formateValueMap = new HashMap<String, String>();
        for (String key : keySet) {
            String[] value = formatMap.get(key);
            TypeModel tm = entityModel.getMetaDataTypes().get(key);
            String xpath = tm.getXpath();
            String dataText = null;
            if (!key.equals(xpath)) {
                NodeList list = com.amalto.core.util.Util.getNodeList(doc.getDocumentElement(),
                        xpath.replaceFirst(concept + "/", "./")); //$NON-NLS-1$//$NON-NLS-2$
                if (list != null) {
                    for (int k = 0; k < list.getLength(); k++) {
                        Node node = list.item(k);
                        String realType = ((Element) node.getParentNode()).getAttribute("xsi:type"); //$NON-NLS-1$
                        if (key.replaceAll(":" + realType, "").equals(xpath)) { //$NON-NLS-1$//$NON-NLS-2$
                            dataText = node.getTextContent();
                            break;
                        }
                    }
                }
            } else {
                dataText = com.amalto.core.util.Util.getFirstTextNode(doc.getDocumentElement(),
                        key.replaceFirst(concept + "/", "./")); //$NON-NLS-1$ //$NON-NLS-2$
            }

            if (dataText != null) {
                if (dataText.trim().length() != 0) {
                    if (dateTypeNames.contains(tm.getType().getBaseTypeName())) {
                        SimpleDateFormat sdf = null;
                        if (value[1].equalsIgnoreCase("DATE")) { //$NON-NLS-1$
                            sdf = new SimpleDateFormat(dateFormat, java.util.Locale.ENGLISH);
                        } else if (value[1].equalsIgnoreCase("DATETIME")) { //$NON-NLS-1$
                            sdf = new SimpleDateFormat(dateTimeFormat, java.util.Locale.ENGLISH);
                        }

                        try {
                            Date date = sdf.parse(dataText.trim());
                            originalMap.put(key, date);
                            Calendar calendar = Calendar.getInstance();
                            calendar.setTime(date);
                            String formatValue = com.amalto.webapp.core.util.Util.formatDate(value[0],
                                    calendar);
                            formateValueMap.put(key, formatValue);
                            com.amalto.core.util.Util
                                    .getNodeList(doc.getDocumentElement(),
                                            key.replaceFirst(concept + "/", "./")) //$NON-NLS-1$//$NON-NLS-2$
                                    .item(0).setTextContent(formatValue);
                        } catch (Exception e) {
                            originalMap.remove(key);
                            formateValueMap.remove(key);
                        }
                    } else if (numberTypeNames.contains(tm.getType().getBaseTypeName())) {
                        try {
                            NumberFormat nf = NumberFormat.getInstance();
                            Number num = nf.parse(dataText.trim());
                            String formatValue = ""; //$NON-NLS-1$
                            if (tm.getType().getBaseTypeName()
                                    .equals(DataTypeConstants.DOUBLE.getBaseTypeName())) {
                                formatValue = String.format(value[0], num.doubleValue()).trim();
                            } else if (tm.getType().getBaseTypeName()
                                    .equals(DataTypeConstants.FLOAT.getBaseTypeName())) {
                                formatValue = String.format(value[0], num.floatValue()).trim();
                            } else if (tm.getType().getBaseTypeName()
                                    .equals(DataTypeConstants.DECIMAL.getBaseTypeName())) {
                                formatValue = String.format(value[0], new BigDecimal(dataText.trim())).trim();
                            } else {
                                formatValue = String.format(value[0], num).trim();
                            }

                            originalMap.put(key, num);
                            formateValueMap.put(key, formatValue);
                            com.amalto.core.util.Util
                                    .getNodeList(doc.getDocumentElement(),
                                            key.replaceFirst(concept + "/", "./")) //$NON-NLS-1$//$NON-NLS-2$
                                    .item(0).setTextContent(formatValue);
                        } catch (Exception e) {
                            Log.info("format has error 111"); //$NON-NLS-1$
                            originalMap.remove(key);
                            formateValueMap.remove(key);
                        }
                    }
                }
            }
        }

        ItemBean itemBean = new ItemBean(concept, CommonUtil.joinStrings(idsArray, "."), //$NON-NLS-1$
                XMLUtils.nodeToString(doc.getDocumentElement(), true, true));
        itemBean.setOriginalMap(originalMap);
        itemBean.setFormateMap(formateValueMap);
        if (checkSmartViewExistsByLang(concept, language)) {
            itemBean.setSmartViewMode(ItemBean.SMARTMODE);
        } else if (checkSmartViewExistsByOpt(concept, language)) {
            itemBean.setSmartViewMode(ItemBean.PERSOMODE);
        }
        dynamicAssembleByResultOrder(itemBean, viewBean, entityModel, map, language);
        itemBeans.add(itemBean);
    }
    return new Object[] { itemBeans, totalSize };
}

From source file:org.objectstyle.cayenne.dataview.DataTypeSpec.java

public Object fromDataType(Class untypedValueClass, DataTypeEnum dataType, Object typedValue) {
    if (typedValue == null)
        return null;
    Class dataTypeClass = getJavaClass(dataType);
    //    Validate.isTrue(typedValue.getClass().equals(dataTypeClass));

    if (untypedValueClass == null)
        return typedValue;

    if (ClassUtils.isAssignable(dataTypeClass, untypedValueClass))
        return typedValue;

    String strTypedValue = null;/*from  www.ja v  a2  s  . c  o m*/
    boolean isStringTypedValue;
    Number numTypedValue = null;
    boolean isNumberTypedValue;
    Boolean boolTypedValue = null;
    boolean isBooleanTypedValue;
    Date dateTypedValue = null;
    boolean isDateTypedValue;

    if (isStringTypedValue = typedValue instanceof String)
        strTypedValue = (String) typedValue;
    if (isNumberTypedValue = typedValue instanceof Number)
        numTypedValue = (Number) typedValue;
    if (isBooleanTypedValue = typedValue instanceof Boolean)
        boolTypedValue = (Boolean) typedValue;
    if (isDateTypedValue = typedValue instanceof Date)
        dateTypedValue = (Date) typedValue;

    Object v = null;
    if (String.class.equals(untypedValueClass)) {
        v = ObjectUtils.toString(typedValue);
    } else if (BigDecimal.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = NumberUtils.createBigDecimal(strTypedValue);
        else if (isNumberTypedValue)
            v = new BigDecimal(numTypedValue.doubleValue());
        else if (isBooleanTypedValue)
            v = new BigDecimal(BooleanUtils.toInteger(boolTypedValue.booleanValue()));
        else if (isDateTypedValue)
            v = new BigDecimal(dateTypedValue.getTime());
    } else if (Boolean.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = BooleanUtils.toBooleanObject(strTypedValue);
        else if (isNumberTypedValue)
            v = BooleanUtils.toBooleanObject(numTypedValue.intValue());
        else if (isDateTypedValue)
            v = BooleanUtils.toBooleanObject((int) dateTypedValue.getTime());
    } else if (Byte.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = Byte.valueOf(strTypedValue);
        else if (isNumberTypedValue)
            v = new Byte(numTypedValue.byteValue());
        else if (isBooleanTypedValue)
            v = new Byte((byte) BooleanUtils.toInteger(boolTypedValue.booleanValue()));
        else if (isDateTypedValue)
            v = new Byte((byte) dateTypedValue.getTime());
    } else if (byte[].class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = strTypedValue.getBytes();
    } else if (Double.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = NumberUtils.createDouble(strTypedValue);
        else if (isNumberTypedValue)
            v = new Double(numTypedValue.doubleValue());
        else if (isBooleanTypedValue)
            v = new Double(BooleanUtils.toInteger(boolTypedValue.booleanValue()));
        else if (isDateTypedValue)
            v = new Double(dateTypedValue.getTime());
    } else if (Float.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = NumberUtils.createFloat(strTypedValue);
        else if (isNumberTypedValue)
            v = new Float(numTypedValue.floatValue());
        else if (isBooleanTypedValue)
            v = new Float(BooleanUtils.toInteger(boolTypedValue.booleanValue()));
        else if (isDateTypedValue)
            v = new Float(dateTypedValue.getTime());
    } else if (Integer.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = NumberUtils.createInteger(strTypedValue);
        else if (isNumberTypedValue)
            v = new Integer(numTypedValue.intValue());
        else if (isBooleanTypedValue)
            v = BooleanUtils.toIntegerObject(boolTypedValue.booleanValue());
        else if (isDateTypedValue)
            v = new Integer((int) dateTypedValue.getTime());
    } else if (Long.class.equals(untypedValueClass)) {
        if (isStringTypedValue)
            v = NumberUtils.createLong(strTypedValue);
        else if (isNumberTypedValue)
            v = new Long(numTypedValue.longValue());
        else if (isBooleanTypedValue)
            v = new Long(BooleanUtils.toInteger(boolTypedValue.booleanValue()));
        else if (isDateTypedValue)
            v = new Long(dateTypedValue.getTime());
    } else if (java.sql.Date.class.equals(untypedValueClass)) {
        if (isNumberTypedValue)
            v = new java.sql.Date(numTypedValue.longValue());
        else if (isDateTypedValue)
            v = new java.sql.Date(dateTypedValue.getTime());
    } else if (java.sql.Time.class.equals(untypedValueClass)) {
        if (isNumberTypedValue)
            v = new java.sql.Time(numTypedValue.longValue());
        else if (isDateTypedValue)
            v = new java.sql.Time(dateTypedValue.getTime());
    } else if (java.sql.Timestamp.class.equals(untypedValueClass)) {
        if (isNumberTypedValue)
            v = new java.sql.Timestamp(numTypedValue.longValue());
        else if (isDateTypedValue)
            v = new java.sql.Timestamp(dateTypedValue.getTime());
    } else if (Date.class.equals(untypedValueClass)) {
        if (isNumberTypedValue)
            v = new Date(numTypedValue.longValue());
    }
    return v;
}

From source file:org.talend.mdm.webapp.browserecords.server.actions.BrowseRecordsAction.java

@Override
public ItemBean getItem(ItemBean itemBean, String viewPK, EntityModel entityModel, boolean staging,
        String language) throws ServiceException {
    try {//from  w  w w.java 2s  .c  om
        String dateFormat = "yyyy-MM-dd"; //$NON-NLS-1$
        String dateTimeFormat = "yyyy-MM-dd'T'HH:mm:ss"; //$NON-NLS-1$

        String dataCluster = getCurrentDataCluster(staging);
        String dataModel = getCurrentDataModel();
        String concept = itemBean.getConcept();
        // get item
        WSDataClusterPK wsDataClusterPK = new WSDataClusterPK(dataCluster);
        String[] ids = CommonUtil.extractIdWithDots(entityModel.getKeys(), itemBean.getIds());

        // parse schema firstly, then use element declaration (DataModelHelper.getEleDecl)
        DataModelHelper.parseSchema(dataModel, concept, entityModel, LocalUser.getLocalUser().getRoles());

        WSItem wsItem = CommonUtil.getPort()
                .getItem(new WSGetItem(new WSItemPK(wsDataClusterPK, itemBean.getConcept(), ids)));
        itemBean.setItemXml(wsItem.getContent());
        extractUsingTransformerThroughView(concept, viewPK, ids, dataModel, dataCluster,
                DataModelHelper.getEleDecl(), itemBean);
        itemBean.set("time", wsItem.getInsertionTime()); //$NON-NLS-1$
        if (wsItem.getTaskId() != null && !"".equals(wsItem.getTaskId()) //$NON-NLS-1$
                && !"null".equals(wsItem.getTaskId())) { //$NON-NLS-1$
            itemBean.setTaskId(wsItem.getTaskId());
        }

        SimpleDateFormat sdf = null;
        Map<String, String[]> formatMap = this.checkDisplayFormat(entityModel, language);
        Set<String> keySet = formatMap.keySet();
        for (String key : keySet) {
            String[] value = formatMap.get(key);
            org.dom4j.Document doc = org.talend.mdm.webapp.base.server.util.XmlUtil
                    .parseText(itemBean.getItemXml());
            TypeModel tm = entityModel.getMetaDataTypes().get(key);
            String xpath = tm.getXpath();
            org.dom4j.Node node = null;
            if (!key.equals(xpath)) {
                Namespace namespace = new Namespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); //$NON-NLS-1$//$NON-NLS-2$
                List<?> nodeList = doc.selectNodes(xpath);
                if (nodeList != null && nodeList.size() > 0) {
                    for (int i = 0; i < nodeList.size(); i++) {
                        org.dom4j.Element current = (org.dom4j.Element) nodeList.get(i);
                        String realType = current.getParent()
                                .attributeValue(new QName("type", namespace, "xsi:type")); //$NON-NLS-1$ //$NON-NLS-2$
                        if (key.replaceAll(":" + realType, "").equals(xpath)) { //$NON-NLS-1$//$NON-NLS-2$
                            node = current;
                            break;
                        }
                    }
                }
            } else {
                node = doc.selectSingleNode(key);
            }

            if (node != null && itemBean.getOriginalMap() != null) {
                String dataText = node.getText();

                if (dataText != null) {
                    if (dataText.trim().length() != 0) {
                        if (dateTypeNames.contains(tm.getType().getBaseTypeName())) {
                            if (value[1].equalsIgnoreCase("DATE")) { //$NON-NLS-1$
                                sdf = new SimpleDateFormat(dateFormat, java.util.Locale.ENGLISH);
                            } else if (value[1].equalsIgnoreCase("DATETIME")) { //$NON-NLS-1$
                                sdf = new SimpleDateFormat(dateTimeFormat, java.util.Locale.ENGLISH);
                            }

                            try {
                                Date date = sdf.parse(dataText.trim());
                                itemBean.getOriginalMap().put(key, date);
                                Calendar calendar = Calendar.getInstance();
                                calendar.setTime(date);
                                String formatValue = com.amalto.webapp.core.util.Util.formatDate(value[0],
                                        calendar);
                                itemBean.getFormateMap().put(key, formatValue);
                            } catch (Exception e) {
                                itemBean.getOriginalMap().remove(key);
                                itemBean.getFormateMap().remove(key);
                            }
                        } else if (numberTypeNames.contains(tm.getType().getBaseTypeName())) {
                            try {
                                NumberFormat nf = NumberFormat.getInstance();
                                Number num = nf.parse(dataText.trim());
                                String formatValue = ""; //$NON-NLS-1$
                                if (tm.getType().getBaseTypeName()
                                        .equals(DataTypeConstants.DOUBLE.getBaseTypeName())) {
                                    formatValue = String.format(value[0], num.doubleValue()).trim();
                                } else if (tm.getType().getBaseTypeName()
                                        .equals(DataTypeConstants.FLOAT.getBaseTypeName())) {
                                    formatValue = String.format(value[0], num.floatValue()).trim();
                                } else if (tm.getType().getBaseTypeName()
                                        .equals(DataTypeConstants.DECIMAL.getBaseTypeName())) {
                                    formatValue = String.format(value[0], new BigDecimal(dataText.trim()))
                                            .trim();
                                } else {
                                    formatValue = String.format(value[0], num).trim();
                                }
                                itemBean.getOriginalMap().put(key, num);
                                itemBean.getFormateMap().put(key, formatValue);
                            } catch (Exception e) {
                                itemBean.getOriginalMap().remove(key);
                                itemBean.getFormateMap().remove(key);
                            }
                        }
                    }
                }
            }
        }

        // dynamic Assemble
        dynamicAssemble(itemBean, entityModel, language);

        return itemBean;
    } catch (WebBaseException e) {
        throw new ServiceException(BASEMESSAGE.getMessage(new Locale(language), e.getMessage(), e.getArgs()));
    } catch (Exception exception) {
        String errorMessage;
        if (CoreException.class.isInstance(exception.getCause())) {
            CoreException webCoreException = (CoreException) exception.getCause();
            errorMessage = getErrorMessageFromWebCoreException(webCoreException, itemBean.getConcept(),
                    itemBean.getIds(), new Locale(language));
        } else {
            errorMessage = exception.getLocalizedMessage();
        }
        LOG.error(errorMessage, exception);
        throw new ServiceException(errorMessage);
    }
}

From source file:uk.ac.diamond.scisoft.analysis.dataset.AbstractDataset.java

/**
 * Sets the error for the dataset to a single value for all points in the dataset
 * @param errorValue The error value for all elements of the dataset 
 *//* w w  w .  jav  a2 s .c o  m*/
public void setError(Number errorValue) {
    this.errorData = null;
    if (errorValue instanceof Integer) {
        this.errorValue = errorValue.intValue() * errorValue.intValue();
        return;
    }
    if (errorValue instanceof Float) {
        this.errorValue = errorValue.floatValue() * errorValue.floatValue();
        return;
    }
    if (errorValue instanceof Long) {
        this.errorValue = errorValue.longValue() * errorValue.longValue();
        return;
    }
    if (errorValue instanceof Short) {
        this.errorValue = errorValue.intValue() * errorValue.intValue();
        return;
    }
    if (errorValue instanceof Byte) {
        this.errorValue = errorValue.intValue() * errorValue.intValue();
        return;
    }

    // If all else fails
    this.errorValue = errorValue.doubleValue() * errorValue.doubleValue();
    return;
}

From source file:org.openmicroscopy.shoola.agents.util.ui.ScriptingDialog.java

/** Initializes the components. */
private void initComponents() {
    sorter = new ViewerSorter();
    cancelButton = new JButton("Cancel");
    cancelButton.setToolTipText("Close the dialog.");
    cancelButton.setActionCommand("" + CANCEL);
    cancelButton.addActionListener(this);
    applyButton = new JButton("Run Script");
    applyButton.setToolTipText("Run the selected script.");
    applyButton.setActionCommand("" + APPLY);
    applyButton.addActionListener(this);
    IconManager icons = IconManager.getInstance();
    menuButton = new JButton(icons.getIcon(IconManager.FILTER_MENU));
    menuButton.setText("Script");
    menuButton.setHorizontalTextPosition(JButton.LEFT);
    menuButton.addMouseListener(new MouseAdapter() {

        public void mouseReleased(MouseEvent e) {
            Object src = e.getSource();
            if (src instanceof Component) {
                Point p = e.getPoint();
                createOptionMenu().show((Component) src, p.x, p.y);
            }//from ww  w  . j  a  v a 2  s  .  c om
        }
    });
    components = new LinkedHashMap<String, ScriptComponent>();
    componentsAll = new LinkedHashMap<String, ScriptComponent>();
    Map<String, ParamData> types = script.getInputs();
    if (types == null)
        return;
    List<ScriptComponent> results = new ArrayList<ScriptComponent>();
    Entry<String, ParamData> entry;
    ParamData param;
    JComponent comp;
    ScriptComponent c;
    String name;
    Class<?> type;
    Object defValue;
    Iterator<Entry<String, ParamData>> i = types.entrySet().iterator();
    List<Object> values;
    Number n;
    String details = "";
    String text = "";
    String grouping;
    String parent;
    Map<String, List<ScriptComponent>> childrenMap = new HashMap<String, List<ScriptComponent>>();
    List<ScriptComponent> l;
    int length;
    boolean columnsSet;
    while (i.hasNext()) {
        text = "";
        columnsSet = false;
        comp = null;
        entry = i.next();
        param = entry.getValue();
        name = entry.getKey();
        type = param.getPrototype();
        values = param.getValues();
        defValue = param.getDefaultValue();
        if (CollectionUtils.isNotEmpty(values)) {
            comp = createValuesBox(values, defValue);
        }
        if (Long.class.equals(type) || Integer.class.equals(type) || Float.class.equals(type)
                || Double.class.equals(type)) {
            if (comp == null) {
                if (script.isIdentifier(name)) {
                    comp = new NumericalTextField();
                    ((NumericalTextField) comp).setNumberType(type);
                    ((NumericalTextField) comp).setNegativeAccepted(false);
                    if (CollectionUtils.isNotEmpty(refObjects)) {
                        //support of image type
                        DataObject object = refObjects.get(0);
                        if (script.isSupportedType(object, name)) {
                            defValue = object.getId();
                        }
                    }
                } else {
                    comp = new NumericalTextField();
                    ((NumericalTextField) comp).setNumberType(type);
                    n = param.getMinValue();
                    if (n != null) {
                        if (Long.class.equals(type)) {
                            text += "Min: " + n.longValue() + " ";
                            ((NumericalTextField) comp).setMinimum(n.longValue());
                        } else if (Integer.class.equals(type)) {
                            text += "Min: " + n.intValue() + " ";
                            ((NumericalTextField) comp).setMinimum(n.intValue());
                        } else if (Double.class.equals(type)) {
                            text += "Min: " + n.doubleValue() + " ";
                            ((NumericalTextField) comp).setMinimum(n.doubleValue());
                        } else if (Float.class.equals(type)) {
                            text += "Min: " + n.floatValue() + " ";
                            ((NumericalTextField) comp).setMinimum(n.floatValue());
                        }
                    } else {
                        ((NumericalTextField) comp).setNegativeAccepted(true);
                    }
                    n = param.getMaxValue();
                    if (n != null) {
                        if (Long.class.equals(type)) {
                            text += "Max: " + n.longValue() + " ";
                            ((NumericalTextField) comp).setMaximum(n.longValue());
                        } else if (Integer.class.equals(type)) {
                            text += "Max: " + n.intValue() + " ";
                            ((NumericalTextField) comp).setMaximum(n.intValue());
                        } else if (Double.class.equals(type)) {
                            text += "Max: " + n.doubleValue() + " ";
                            ((NumericalTextField) comp).setMaximum(n.doubleValue());
                        } else if (Float.class.equals(type)) {
                            text += "Max: " + n.floatValue() + " ";
                            ((NumericalTextField) comp).setMaximum(n.floatValue());
                        }
                    }
                }
                if (defValue != null)
                    ((NumericalTextField) comp).setText("" + defValue);
            }
        } else if (String.class.equals(type)) {
            if (comp == null) {
                comp = new JTextField();
                if (defValue != null) {
                    length = defValue.toString().length();
                    String s = defValue.toString().trim();
                    ((JTextField) comp).setColumns(length);
                    ((JTextField) comp).setText(s);
                    columnsSet = s.length() > 0;
                }
            }
        } else if (Boolean.class.equals(type)) {
            if (comp == null) {
                comp = new JCheckBox();
                if (defValue != null)
                    ((JCheckBox) comp).setSelected((Boolean) defValue);
            }
        } else if (Map.class.equals(type)) {
            if (comp == null)
                comp = new ComplexParamPane(param.getKeyType(), param.getValueType());
            else
                comp = new ComplexParamPane(param.getKeyType(), (JComboBox) comp);
        } else if (List.class.equals(type)) {
            if (script.isIdentifier(name)) {
                identifier = new IdentifierParamPane(Long.class);
                identifier.setValues(refObjects);
                identifier.addDocumentListener(this);
                comp = identifier;
            } else {
                if (comp == null)
                    comp = new ComplexParamPane(param.getKeyType());
                else
                    comp = new ComplexParamPane((JComboBox) comp);
            }
        }
        if (comp != null) {
            if (comp instanceof JTextField) {
                if (!columnsSet)
                    ((JTextField) comp).setColumns(ScriptComponent.COLUMNS);
                ((JTextField) comp).getDocument().addDocumentListener(this);
            }
            if (comp instanceof ComplexParamPane)
                comp.addPropertyChangeListener(this);
            comp.setToolTipText(param.getDescription());
            c = new ScriptComponent(comp, name);
            if (text.trim().length() > 0)
                c.setUnit(text);
            if (!(comp instanceof JComboBox || comp instanceof JCheckBox))
                c.setRequired(!param.isOptional());
            if (details != null && details.trim().length() > 0)
                c.setInfo(details);
            if (comp instanceof JComboBox && script.isDataType(name)) {
                dataTypes = (JComboBox) comp;
                dataTypes.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        handleDataTypeChanges();
                    }
                });
            }
            grouping = param.getGrouping();
            parent = param.getParent();
            c.setParentIndex(parent);
            if (parent.length() > 0) {
                l = childrenMap.get(parent);
                if (l == null) {
                    l = new ArrayList<ScriptComponent>();
                    childrenMap.put(parent, l);
                }
                l.add(c);
            }

            if (grouping.length() > 0) {
                c.setGrouping(grouping);
                c.setNameLabel(grouping);
            } else {
                c.setNameLabel(name);
            }
            if (c.hasChildren() || parent.length() == 0) {
                results.add(c);
            }
            componentsAll.put(c.getParameterName(), c);
        }
    }
    ScriptComponent key;
    Iterator<ScriptComponent> k = results.iterator();
    while (k.hasNext()) {
        key = k.next();
        grouping = key.getGrouping();
        l = childrenMap.get(grouping);
        childrenMap.remove(grouping);
        if (l != null)
            key.setChildren(sorter.sort(l));
    }
    if (childrenMap != null && childrenMap.size() > 0) {
        Iterator<String> j = childrenMap.keySet().iterator();
        ScriptComponent sc;
        while (j.hasNext()) {
            parent = j.next();
            sc = new ScriptComponent();
            sc.setGrouping(parent);
            sc.setNameLabel(parent);
            sc.setChildren(sorter.sort(childrenMap.get(parent)));
            results.add(sc);
        }
    }
    List<ScriptComponent> sortedKeys = sorter.sort(results);
    k = sortedKeys.iterator();

    while (k.hasNext()) {
        key = k.next();
        components.put(key.getParameterName(), key);
    }
    setSelectedDataType();
    if (identifier != null)
        identifier.addPropertyChangeListener(this);
    canRunScript();
}