Example usage for java.util.concurrent.atomic AtomicInteger longValue

List of usage examples for java.util.concurrent.atomic AtomicInteger longValue

Introduction

In this page you can find the example usage for java.util.concurrent.atomic AtomicInteger longValue.

Prototype

public long longValue() 

Source Link

Document

Returns the current value of this AtomicInteger as a long after a widening primitive conversion, with memory effects as specified by VarHandle#getVolatile .

Usage

From source file:Main.java

public static void main(String[] argv) throws Exception {
    AtomicInteger atomicInteger = new AtomicInteger();

    atomicInteger.set(2);//from   w w w .  j  av a2  s .  com

    System.out.println(atomicInteger.longValue());
}

From source file:com.marklogic.contentpump.LocalJobRunner.java

public double computeProgress() {
    if (progress.length == 0) {
        return (double) 1;
    }/*from ww w  .  j a v  a2s. co  m*/
    long result = 0;
    for (AtomicInteger pct : progress) {
        result += pct.longValue();
    }
    return (double) result / progress.length / 100;
}

From source file:com.streamsets.pipeline.stage.cloudstorage.destination.GoogleCloudStorageTarget.java

@Override
public void write(Batch batch) throws StageException {
    String pathExpression = GcsUtil.normalizePrefix(gcsTargetConfig.commonPrefix)
            + gcsTargetConfig.partitionTemplate;
    if (gcsTargetConfig.dataFormat == DataFormat.WHOLE_FILE) {
        handleWholeFileFormat(batch, elVars);
    } else {/*from   ww w .j a  v  a2 s  .c  o m*/
        Multimap<String, Record> pathToRecordMap = ELUtils.partitionBatchByExpression(partitionEval, elVars,
                pathExpression, timeDriverElEval, elVars, gcsTargetConfig.timeDriverTemplate,
                Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of(gcsTargetConfig.timeZoneID))), batch);

        pathToRecordMap.keySet().forEach(path -> {
            Collection<Record> records = pathToRecordMap.get(path);
            String fileName = GcsUtil.normalizePrefix(path) + gcsTargetConfig.fileNamePrefix + '_'
                    + UUID.randomUUID();
            if (StringUtils.isNotEmpty(gcsTargetConfig.fileNameSuffix)) {
                fileName = fileName + "." + gcsTargetConfig.fileNameSuffix;
            }
            try {
                ByteArrayOutputStream bOut = new ByteArrayOutputStream();
                OutputStream os = bOut;
                if (gcsTargetConfig.compress) {
                    fileName = fileName + ".gz";
                    os = new GZIPOutputStream(bOut);
                }
                BlobId blobId = BlobId.of(gcsTargetConfig.bucketTemplate, fileName);
                BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType(getContentType()).build();
                final AtomicInteger recordsWithoutErrors = new AtomicInteger(0);
                try (DataGenerator dg = gcsTargetConfig.dataGeneratorFormatConfig.getDataGeneratorFactory()
                        .getGenerator(os)) {
                    records.forEach(record -> {
                        try {
                            dg.write(record);
                            recordsWithoutErrors.incrementAndGet();
                        } catch (DataGeneratorException | IOException e) {
                            LOG.error("Error writing record {}. Reason {}", record.getHeader().getSourceId(),
                                    e);
                            getContext().toError(record, Errors.GCS_02, record.getHeader().getSourceId(), e);
                        }
                    });
                } catch (IOException e) {
                    LOG.error("Error happened when creating Output stream. Reason {}", e);
                    records.forEach(record -> getContext().toError(record, e));
                }

                try {
                    if (recordsWithoutErrors.get() > 0) {
                        Blob blob = storage.create(blobInfo, bOut.toByteArray());
                        GCSEvents.GCS_OBJECT_WRITTEN.create(getContext())
                                .with(GCSEvents.BUCKET, blob.getBucket())
                                .with(GCSEvents.OBJECT_KEY, blob.getName())
                                .with(GCSEvents.RECORD_COUNT, recordsWithoutErrors.longValue()).createAndSend();
                    }
                } catch (StorageException e) {
                    LOG.error("Error happened when writing to Output stream. Reason {}", e);
                    records.forEach(record -> getContext().toError(record, e));
                }
            } catch (IOException e) {
                LOG.error("Error happened when creating Output stream. Reason {}", e);
                records.forEach(record -> getContext().toError(record, e));
            }
        });
    }
}

From source file:ca.oson.json.Oson.java

private <E, R> AtomicInteger json2AtomicIntegerDefault(FieldData objectDTO) {
    E value = (E) objectDTO.valueToProcess;
    Class<R> returnType = objectDTO.returnType;
    boolean required = objectDTO.required();

    Long min = objectDTO.getMin();
    Long max = objectDTO.getMax();

    if (getDefaultType() == JSON_INCLUDE.DEFAULT || required) {
        AtomicInteger defaultValue = (AtomicInteger) objectDTO.getDefaultValue();
        if (defaultValue != null) {
            if (min != null && min > defaultValue.longValue()) {
                return new AtomicInteger(min.intValue());
            }/*from   ww  w .  ja v  a2  s. co m*/

            if (max != null && max < defaultValue.longValue()) {
                return new AtomicInteger(max.intValue());
            }

            return defaultValue;
        }

        if (min != null && min > DefaultValue.atomicInteger.longValue()) {
            return new AtomicInteger(min.intValue());
        }

        return DefaultValue.atomicInteger;
    }

    return null;
}

From source file:ca.oson.json.Oson.java

private <E, R> String atomicInteger2Json(FieldData objectDTO) {
    if (objectDTO == null || objectDTO.json2Java) {
        return null;
    }/*from w  w w  . j a  v  a2 s .c om*/

    E value = (E) objectDTO.valueToProcess;
    Class<R> returnType = objectDTO.returnType;

    if (value != null && value.toString().trim().length() > 0) {
        AtomicInteger valueToProcess = null;
        String valueToReturn = null;

        if (value instanceof AtomicInteger) {
            valueToProcess = (AtomicInteger) value;
        } else {
            try {
                valueToProcess = new AtomicInteger(
                        Integer.parseInt(NumberUtil.removeTrailingDecimalZeros(value)));
            } catch (Exception ex) {
            }
        }

        if (valueToProcess != null) {
            try {
                Function function = objectDTO.getSerializer();
                if (function != null) {
                    try {
                        if (function instanceof DataMapper2JsonFunction) {
                            DataMapper classData = new DataMapper(returnType, value, objectDTO.classMapper,
                                    objectDTO.level, getPrettyIndentation());
                            return ((DataMapper2JsonFunction) function).apply(classData);

                        } else if (function instanceof AtomicInteger2JsonFunction) {
                            return ((AtomicInteger2JsonFunction) function).apply(valueToProcess);

                        } else {
                            Object returnedValue = null;
                            if (function instanceof FieldData2JsonFunction) {
                                FieldData2JsonFunction f = (FieldData2JsonFunction) function;
                                FieldData fieldData = objectDTO.clone();
                                returnedValue = f.apply(fieldData);
                            } else {
                                returnedValue = function.apply(value);
                            }

                            if (returnedValue instanceof Optional) {
                                returnedValue = ObjectUtil.unwrap(returnedValue);
                            }

                            if (returnedValue == null) {
                                return null;

                            } else if (returnedValue instanceof AtomicInteger) {
                                valueToProcess = (AtomicInteger) returnedValue;

                            } else {
                                objectDTO.valueToProcess = returnedValue;
                                return object2String(objectDTO);
                            }

                        }

                    } catch (Exception e) {
                    }
                }

                if (valueToProcess != null) {
                    Long min = objectDTO.getMin();
                    Long max = objectDTO.getMax();

                    if (min != null && min > valueToProcess.longValue()) {
                        valueToProcess = new AtomicInteger(min.intValue());
                    }

                    if (max != null && max < valueToProcess.longValue()) {
                        valueToProcess = new AtomicInteger(max.intValue());
                    }

                    Integer precision = objectDTO.getPrecision();
                    if (precision != null) {
                        valueToProcess = (AtomicInteger) NumberUtil.setPrecision(valueToProcess, precision,
                                getRoundingMode());
                    }

                    return NumberUtil.toPlainString(valueToProcess);
                }

            } catch (Exception ex) {
                //ex.printStackTrace();
            }
        }
    }

    return atomicInteger2JsonDefault(objectDTO);
}

From source file:ca.oson.json.Oson.java

private <E, R> AtomicInteger json2AtomicInteger(FieldData objectDTO) {
    if (objectDTO == null || !objectDTO.json2Java) {
        return null;
    }//from w w w.j ava  2 s.c  o  m

    E value = (E) objectDTO.valueToProcess;
    Class<R> returnType = objectDTO.returnType;

    if (value != null && value.toString().trim().length() > 0) {
        String valueToProcess = value.toString().trim();
        AtomicInteger valueToReturn = null;

        try {
            Function function = objectDTO.getDeserializer();

            if (function != null) {
                try {
                    Object returnedValue = null;
                    // suppose to return AtomicInteger, but in case not, try to process
                    if (function instanceof Json2DataMapperFunction) {
                        DataMapper classData = new DataMapper(returnType, value, objectDTO.classMapper,
                                objectDTO.level, getPrettyIndentation());
                        returnedValue = ((Json2DataMapperFunction) function).apply(classData);

                    } else if (function instanceof Json2FieldDataFunction) {
                        Json2FieldDataFunction f = (Json2FieldDataFunction) function;
                        FieldData fieldData = objectDTO.clone();

                        returnedValue = f.apply(fieldData);

                    } else if (function instanceof Json2AtomicIntegerFunction) {
                        return ((Json2AtomicIntegerFunction) function).apply(valueToProcess);

                    } else {
                        returnedValue = function.apply(valueToProcess);
                    }

                    if (returnedValue instanceof Optional) {
                        returnedValue = ObjectUtil.unwrap(returnedValue);
                    }

                    if (returnedValue == null) {
                        return null;

                    } else if (Number.class.isAssignableFrom(returnedValue.getClass())
                            || returnedValue.getClass().isPrimitive()) {

                        if (returnedValue instanceof AtomicInteger) {
                            valueToReturn = (AtomicInteger) returnedValue;
                        } else if (returnedValue instanceof String) {
                            valueToReturn = new AtomicInteger(
                                    Integer.parseInt(NumberUtil.removeTrailingDecimalZeros(returnedValue)));

                        } else if (returnedValue instanceof Integer) {
                            valueToReturn = new AtomicInteger((Integer) returnedValue);
                        } else if (returnedValue instanceof Long) {
                            valueToReturn = new AtomicInteger(((Long) returnedValue).intValue());
                        } else if (returnedValue instanceof Short) {
                            valueToReturn = new AtomicInteger((Short) returnedValue);
                        } else if (returnedValue instanceof Double) {
                            valueToReturn = new AtomicInteger(((Double) returnedValue).intValue());
                        } else if (returnedValue instanceof Float) {
                            valueToReturn = new AtomicInteger(((Float) returnedValue).intValue());
                        } else if (returnedValue instanceof BigDecimal) {
                            valueToReturn = new AtomicInteger(((BigDecimal) returnedValue).intValue());
                        } else if (returnedValue instanceof Byte) {
                            valueToReturn = new AtomicInteger((Byte) returnedValue);
                        } else if (returnedValue instanceof BigInteger) {
                            valueToReturn = new AtomicInteger(((BigInteger) returnedValue).intValue());
                        } else if (returnedValue instanceof AtomicLong) {
                            valueToReturn = new AtomicInteger(((AtomicLong) returnedValue).intValue());
                        } else {
                            valueToReturn = new AtomicInteger(((Number) returnedValue).intValue());
                        }

                    } else if (returnedValue instanceof Character) {
                        valueToReturn = new AtomicInteger(((Character) returnedValue));

                    } else if (returnedValue instanceof Boolean) {
                        if ((Boolean) returnedValue)
                            valueToReturn = new AtomicInteger(1);
                        else
                            valueToReturn = new AtomicInteger(0);

                    } else if (Enum.class.isAssignableFrom(returnedValue.getClass())) {
                        valueToReturn = new AtomicInteger(((Enum) returnedValue).ordinal());

                    } else if (Date.class.isAssignableFrom(returnedValue.getClass())) {
                        valueToReturn = new AtomicInteger((int) ((Date) returnedValue).getTime());

                    } else {
                        valueToReturn = new AtomicInteger(
                                Integer.parseInt(NumberUtil.removeTrailingDecimalZeros(returnedValue)));
                    }

                    return valueToReturn;

                } catch (Exception e) {
                    e.printStackTrace();
                }

            } else {
                valueToReturn = new AtomicInteger(
                        Integer.parseInt(NumberUtil.removeTrailingDecimalZeros(valueToProcess)));
            }

            if (valueToReturn != null) {
                Long min = objectDTO.getMin();
                Long max = objectDTO.getMax();

                if (min != null && min > valueToReturn.longValue()) {
                    return new AtomicInteger(min.intValue());
                }

                if (max != null && valueToReturn.longValue() > max) {
                    valueToReturn = new AtomicInteger(max.intValue());
                }

                return valueToReturn;
            }

        } catch (Exception ex) {
            //ex.printStackTrace();
        }

    }

    return json2AtomicIntegerDefault(objectDTO);
}