Example usage for com.google.common.base Optional orNull

List of usage examples for com.google.common.base Optional orNull

Introduction

In this page you can find the example usage for com.google.common.base Optional orNull.

Prototype

@Nullable
public abstract T orNull();

Source Link

Document

Returns the contained instance if it is present; null otherwise.

Usage

From source file:org.geogig.osm.internal.CreateOSMChangesetOp.java

/**
 * Executes the diff operation./*w  w w.j a  v a  2s.c  o  m*/
 * 
 * @return an iterator to a set of differences between the two trees
 * @see DiffEntry
 */
@Override
protected AutoCloseableIterator<ChangeContainer> _call() {

    AutoCloseableIterator<DiffEntry> nodeIterator = command(DiffOp.class).setFilter(OSMUtils.NODE_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    AutoCloseableIterator<DiffEntry> wayIterator = command(DiffOp.class).setFilter(OSMUtils.WAY_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    AutoCloseableIterator<DiffEntry> iterator = AutoCloseableIterator.concat(nodeIterator, wayIterator);

    final EntityConverter converter = new EntityConverter();
    final Function<DiffEntry, ChangeContainer> function = (diff) -> {
        NodeRef ref = diff.changeType().equals(ChangeType.REMOVED) ? diff.getOldObject() : diff.getNewObject();
        RevFeature revFeature = command(RevObjectParse.class).setObjectId(ref.getObjectId())
                .call(RevFeature.class).get();
        RevFeatureType revFeatureType = command(RevObjectParse.class).setObjectId(ref.getMetadataId())
                .call(RevFeatureType.class).get();
        SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(
                (SimpleFeatureType) revFeatureType.type());
        ImmutableList<PropertyDescriptor> descriptors = revFeatureType.descriptors();
        for (int i = 0; i < descriptors.size(); i++) {
            PropertyDescriptor descriptor = descriptors.get(i);
            Optional<Object> value = revFeature.get(i);
            featureBuilder.set(descriptor.getName(), value.orNull());
        }
        SimpleFeature feature = featureBuilder.buildFeature(ref.name());
        Entity entity = converter.toEntity(feature, id);
        EntityContainer container;
        if (entity instanceof Node) {
            container = new NodeContainer((Node) entity);
        } else {
            container = new WayContainer((Way) entity);
        }

        ChangeAction action = diff.changeType().equals(ChangeType.ADDED) ? ChangeAction.Create
                : diff.changeType().equals(ChangeType.MODIFIED) ? ChangeAction.Modify : ChangeAction.Delete;

        return new ChangeContainer(container, action);
    };
    return AutoCloseableIterator.transform(iterator, function);
}

From source file:org.glowroot.agent.config.PluginConfig.java

public @Nullable Double getDoubleProperty(String name) {
    Optional<Double> value = doubleProperties().get(name);
    return value == null ? null : value.orNull();
}

From source file:org.geogit.osm.changeset.internal.CreateOSMChangesetOp.java

/**
 * Executes the diff operation./*ww w.  j  a  va  2 s  .c o  m*/
 * 
 * @return an iterator to a set of differences between the two trees
 * @see DiffEntry
 */
@Override
public Iterator<ChangeContainer> call() {

    Iterator<DiffEntry> nodeIterator = command(DiffOp.class).setFilter(OSMUtils.NODE_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> wayIterator = command(DiffOp.class).setFilter(OSMUtils.WAY_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> iterator = Iterators.concat(nodeIterator, wayIterator);

    final EntityConverter converter = new EntityConverter();
    Function<DiffEntry, ChangeContainer> function = new Function<DiffEntry, ChangeContainer>() {

        @Override
        @Nullable
        public ChangeContainer apply(@Nullable DiffEntry diff) {
            NodeRef ref = diff.changeType().equals(ChangeType.REMOVED) ? diff.getOldObject()
                    : diff.getNewObject();
            RevFeature revFeature = command(RevObjectParse.class).setObjectId(ref.objectId())
                    .call(RevFeature.class).get();
            RevFeatureType revFeatureType = command(RevObjectParse.class).setObjectId(ref.getMetadataId())
                    .call(RevFeatureType.class).get();
            SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(
                    (SimpleFeatureType) revFeatureType.type());
            ImmutableList<PropertyDescriptor> descriptors = revFeatureType.sortedDescriptors();
            ImmutableList<Optional<Object>> values = revFeature.getValues();
            for (int i = 0; i < descriptors.size(); i++) {
                PropertyDescriptor descriptor = descriptors.get(i);
                Optional<Object> value = values.get(i);
                featureBuilder.set(descriptor.getName(), value.orNull());
            }
            SimpleFeature feature = featureBuilder.buildFeature(ref.name());
            Entity entity = converter.toEntity(feature);
            EntityContainer container;
            if (entity instanceof Node) {
                container = new NodeContainer((Node) entity);
            } else {
                container = new WayContainer((Way) entity);
            }

            ChangeAction action = diff.changeType().equals(ChangeType.ADDED) ? ChangeAction.Create
                    : diff.changeType().equals(ChangeType.MODIFIED) ? ChangeAction.Modify : ChangeAction.Delete;

            return new ChangeContainer(container, action);

        }

    };
    return Iterators.transform(iterator, function);
}

From source file:org.apache.usergrid.corepersistence.pipeline.read.traverse.ReadGraphConnectionByTypeFilter.java

@Override
public Observable<FilterResult<Id>> call(final Observable<FilterResult<Id>> filterResultObservable) {

    //get the graph manager
    final GraphManager graphManager = graphManagerFactory
            .createEdgeManager(pipelineContext.getApplicationScope());

    final String edgeName = getEdgeTypeFromConnectionType(connectionName);

    //return all ids that are emitted from this edge
    return filterResultObservable.flatMap(idFilterResult -> {

        //set our our constant state
        final Optional<MarkedEdge> startFromCursor = getSeekValue();
        final Id id = idFilterResult.getValue();

        final Optional<Edge> typeWrapper = Optional.fromNullable(startFromCursor.orNull());

        final SimpleSearchByIdType search = new SimpleSearchByIdType(id, edgeName, Long.MAX_VALUE,
                SearchByEdgeType.Order.DESCENDING, entityType, typeWrapper);

        return graphManager.loadEdgesFromSourceByType(search)
                .map(edge -> createFilterResult(edge.getTargetNode(), edge, idFilterResult.getPath()));
    });/*from  w  w w . j av a2s.  c o m*/
}

From source file:org.locationtech.geogig.osm.internal.CreateOSMChangesetOp.java

/**
 * Executes the diff operation./* w ww . j a v a2s .co  m*/
 * 
 * @return an iterator to a set of differences between the two trees
 * @see DiffEntry
 */
@Override
protected Iterator<ChangeContainer> _call() {

    Iterator<DiffEntry> nodeIterator = command(DiffOp.class).setFilter(OSMUtils.NODE_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> wayIterator = command(DiffOp.class).setFilter(OSMUtils.WAY_TYPE_NAME)
            .setNewVersion(newRefSpec).setOldVersion(oldRefSpec).setReportTrees(false).call();
    Iterator<DiffEntry> iterator = Iterators.concat(nodeIterator, wayIterator);

    final EntityConverter converter = new EntityConverter();
    Function<DiffEntry, ChangeContainer> function = new Function<DiffEntry, ChangeContainer>() {

        @Override
        @Nullable
        public ChangeContainer apply(@Nullable DiffEntry diff) {
            NodeRef ref = diff.changeType().equals(ChangeType.REMOVED) ? diff.getOldObject()
                    : diff.getNewObject();
            RevFeature revFeature = command(RevObjectParse.class).setObjectId(ref.objectId())
                    .call(RevFeature.class).get();
            RevFeatureType revFeatureType = command(RevObjectParse.class).setObjectId(ref.getMetadataId())
                    .call(RevFeatureType.class).get();
            SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(
                    (SimpleFeatureType) revFeatureType.type());
            ImmutableList<PropertyDescriptor> descriptors = revFeatureType.sortedDescriptors();
            ImmutableList<Optional<Object>> values = revFeature.getValues();
            for (int i = 0; i < descriptors.size(); i++) {
                PropertyDescriptor descriptor = descriptors.get(i);
                Optional<Object> value = values.get(i);
                featureBuilder.set(descriptor.getName(), value.orNull());
            }
            SimpleFeature feature = featureBuilder.buildFeature(ref.name());
            Entity entity = converter.toEntity(feature, id);
            EntityContainer container;
            if (entity instanceof Node) {
                container = new NodeContainer((Node) entity);
            } else {
                container = new WayContainer((Way) entity);
            }

            ChangeAction action = diff.changeType().equals(ChangeType.ADDED) ? ChangeAction.Create
                    : diff.changeType().equals(ChangeType.MODIFIED) ? ChangeAction.Modify : ChangeAction.Delete;

            return new ChangeContainer(container, action);

        }

    };
    return Iterators.transform(iterator, function);
}

From source file:org.eclipse.buildship.ui.preferences.GradleWorkbenchPreferencePage.java

private void validate() {
    String resolvedGradleUserHome = getResolvedGradleUserHome();
    File gradleUserHome = FileUtils.getAbsoluteFile(resolvedGradleUserHome).orNull();
    Optional<String> error = this.gradleUserHomeValidator.validate(gradleUserHome);
    setValid(!error.isPresent());/*from   w ww  . j  ava  2s .c om*/
    setErrorMessage(error.orNull());
}

From source file:com.pinterest.teletraan.resource.Images.java

@GET
public List<ImageBean> getImagesByAppname(@QueryParam("app") Optional<String> appName,
        @QueryParam("start") Optional<Integer> start, @QueryParam("size") Optional<Integer> size)
        throws Exception {
    return imageDAO.getImages(appName.orNull(), start.or(1), size.or(DEFAULT_PAGE_SIZE));
}

From source file:org.locationtech.geogig.api.RevFeatureImpl.java

@Override
public String toString() {
    StringBuilder builder = new StringBuilder();
    builder.append("Feature[");
    builder.append(getId().toString());//from w  w w . j av a  2 s .  c  o  m
    builder.append("; ");
    boolean first = true;
    for (Optional<Object> value : getValues()) {
        if (first) {
            first = false;
        } else {
            builder.append(", ");
        }

        String valueString = String.valueOf(value.orNull());
        builder.append(valueString.substring(0, Math.min(10, valueString.length())));
    }
    builder.append(']');
    return builder.toString();
}

From source file:org.opendaylight.controller.cluster.datastore.ShardTransaction.java

protected void readData(AbstractShardDataTreeTransaction<?> transaction, ReadData message) {
    if (checkClosed(transaction)) {
        return;//from  w w  w  .j  a  va 2  s  .  c o m
    }

    final YangInstanceIdentifier path = message.getPath();
    Optional<NormalizedNode<?, ?>> optional = transaction.getSnapshot().readNode(path);
    ReadDataReply readDataReply = new ReadDataReply(optional.orNull(), message.getVersion());
    sender().tell(readDataReply.toSerializable(), self());
}

From source file:org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier.java

/**
 * Creates new YANG Schema source identifier.
 *
 * @param name/*from   ww w  .  ja  v  a2 s . c  om*/
 *            Name of schema
 * @param formattedRevision
 *            Revision of source in format YYYY-mm-dd. If not present,
 *            default value will be used.
 */
SourceIdentifier(final String name, final Optional<String> formattedRevision) {
    this.name = Preconditions.checkNotNull(name);
    this.revision = formattedRevision.orNull();
}