Example usage for com.google.common.util.concurrent Futures immediateFailedCheckedFuture

List of usage examples for com.google.common.util.concurrent Futures immediateFailedCheckedFuture

Introduction

In this page you can find the example usage for com.google.common.util.concurrent Futures immediateFailedCheckedFuture.

Prototype

@GwtIncompatible("TODO")
@CheckReturnValue
public static <V, X extends Exception> CheckedFuture<V, X> immediateFailedCheckedFuture(X exception) 

Source Link

Document

Returns a CheckedFuture which has an exception set immediately upon construction.

Usage

From source file:org.opendaylight.centinel.impl.CentinelStreamImpl.java

@Override
public Future<RpcResult<SetRuleOutput>> setRule(final SetRuleInput input) {
    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<SetRuleOutput>> futureResult = SettableFuture.create();
    boolean idMatches = false;
    final String streamRuleId = generateRandomId();
    if (input.getType() == StreamType.FieldPresence) {
        if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
                || input.getField() == null || input.getField().isEmpty()
                || input.getField().trim().isEmpty()) {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("inalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "StreamId,Value are mandatory parameters")));
        }/*  www .  ja v a  2s . c o  m*/
    } else {
        if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
                || input.getField() == null || input.getField().isEmpty() || input.getField().trim().isEmpty()
                || input.getValue() == null || input.getValue().isEmpty()
                || input.getValue().trim().isEmpty()) {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("inalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "StreamId,Value and Field are mandatory parameters")));
        }
    }
    final SetRuleOutputBuilder setRuleOutputBuilder = new SetRuleOutputBuilder();
    setRuleOutputBuilder.setStreamRuleID(streamRuleId);
    ListenableFuture<Optional<StreamRecord>> readFutureOperational = tx.read(LogicalDatastoreType.OPERATIONAL,
            streamRecordId);

    ListenableFuture<Optional<StreamRecord>> readFutureConfigure = tx.read(LogicalDatastoreType.CONFIGURATION,
            streamRecordId);

    String configIdOp = null;
    String streamIdOp = null;

    try {
        Optional<StreamRecord> record = readFutureOperational.get();
        if (record.isPresent()) {

            StreamRecord operationalRecord = record.get();

            List<StreamList> streamRulesList = new ArrayList<StreamList>();

            if (!operationalRecord.getStreamList().isEmpty()) {

                streamRulesList = operationalRecord.getStreamList();
                Iterator<StreamList> iterator = streamRulesList.iterator();

                while (iterator.hasNext()) {

                    StreamList operationalObject = iterator.next();

                    if (operationalObject.getStreamID().equals(input.getStreamID())) {
                        configIdOp = operationalObject.getConfigID();
                        streamIdOp = operationalObject.getStreamID();
                        idMatches = true;

                    }
                }
                if (!idMatches) {
                    return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException(
                            "invalid-input", RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                                    "Invalid Stream id or The stream is not present in operational data store")));
                }

            }
        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "Record is not present in operational data store")));
        }

    } catch (InterruptedException | ExecutionException e) {

        futureResult.set(RpcResultBuilder.<SetRuleOutput>failed()
                .withRpcErrors(((TransactionCommitFailedException) e).getErrorList()).build());
        return futureResult;

    }
    final String confID = configIdOp;
    final String strmID = streamIdOp;
    final ListenableFuture<Void> commitFuture = Futures.transform(readFutureConfigure,
            new AsyncFunction<Optional<StreamRecord>, Void>() {

                @Override
                public ListenableFuture<Void> apply(final Optional<StreamRecord> streamRulesRecord)
                        throws Exception {

                    List<StreamList> streamRuleList = new ArrayList<StreamList>();
                    List<StreamList> updatedStreamRuleList = new ArrayList<StreamList>();

                    if (streamRulesRecord.isPresent()) {

                        streamRuleList = streamRulesRecord.get().getStreamList();
                        StreamList configObject = null;
                        Iterator<StreamList> iterator = streamRuleList.iterator();

                        while (iterator.hasNext()) {

                            configObject = iterator.next();
                            if (configObject.getConfigID().equalsIgnoreCase(confID)) {
                                StreamRulesBuilder streamRuleBuilder = new StreamRulesBuilder();
                                streamRuleBuilder.setField(input.getField());
                                streamRuleBuilder.setType(input.getType());
                                streamRuleBuilder.setValue(input.getValue());
                                streamRuleBuilder.setInverted(input.isInverted());
                                streamRuleBuilder.setStreamRuleID(streamRuleId);
                                SetRuleOutputBuilder setRuleOutputBuilder = new SetRuleOutputBuilder();
                                setRuleOutputBuilder.setField(input.getField());
                                setRuleOutputBuilder.setInverted(input.isInverted());
                                setRuleOutputBuilder.setType(input.getType());
                                setRuleOutputBuilder.setValue(input.getValue());
                                StreamRules streamrule = streamRuleBuilder.build();
                                configObject.getStreamRules().add(streamrule);
                                updatedStreamRuleList.add(buildStreamRule(configObject, strmID));
                                tx.merge(LogicalDatastoreType.CONFIGURATION, streamRecordId,
                                        new StreamRecordBuilder().setStreamList(updatedStreamRuleList).build());
                            }
                        }

                    }

                    return tx.submit();
                }

            });
    Futures.addCallback(commitFuture, new FutureCallback<Void>() {
        @Override
        public void onSuccess(final Void result) {

            futureResult.set(RpcResultBuilder.<SetRuleOutput>success(setRuleOutputBuilder.build()).build());
        }

        @Override
        public void onFailure(final Throwable ex) {

            LOG.debug("Failed to commit stream Rule", ex);

            futureResult.set(RpcResultBuilder.<SetRuleOutput>failed()
                    .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build());

        }
    });

    return futureResult;
}

From source file:org.opendaylight.centinel.impl.CentinelAlertConditionImpl.java

@Override
public Future<RpcResult<UpdateAlertFieldContentRuleOutput>> updateAlertFieldContentRule(
        final UpdateAlertFieldContentRuleInput input) {
    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<UpdateAlertFieldContentRuleOutput>> futureResult = SettableFuture.create();
    boolean idMatches = false;
    if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
            || input.getRuleID() == null || input.getRuleID().isEmpty() || input.getRuleID().trim().isEmpty()) {
        LOG.debug("Invalid Parameters for UpdateAlertFieldContentRule");
        return Futures.immediateFailedCheckedFuture(
                new TransactionCommitFailedException("inalid-input", RpcResultBuilder.newError(
                        ErrorType.APPLICATION, "invalid-input", "StreamId and RuleId are mandatory fields")));
    }/*  w  w  w.j a  va2s  .c  om*/
    final UpdateAlertFieldContentRuleOutputBuilder updateAlertFieldContentRuleOutputBuilder = new UpdateAlertFieldContentRuleOutputBuilder();
    updateAlertFieldContentRuleOutputBuilder.setFieldContentBacklog(input.getFieldContentBacklog());
    updateAlertFieldContentRuleOutputBuilder
            .setFieldContentCompareToValue(input.getFieldContentCompareToValue());
    updateAlertFieldContentRuleOutputBuilder.setFieldContentField(input.getFieldContentField());
    updateAlertFieldContentRuleOutputBuilder.setFieldContentGrace(input.getFieldContentGrace());
    updateAlertFieldContentRuleOutputBuilder.setRuleID(input.getRuleID());
    updateAlertFieldContentRuleOutputBuilder.setNodeType(input.getNodeType());
    updateAlertFieldContentRuleOutputBuilder.setRuleTypeClassifier(input.getRuleTypeClassifier());
    updateAlertFieldContentRuleOutputBuilder.setStreamID(input.getStreamID());
    updateAlertFieldContentRuleOutputBuilder.setTimeStamp(input.getTimeStamp());
    updateAlertFieldContentRuleOutputBuilder.setAlertTypeClassifier(input.getAlertTypeClassifier());
    updateAlertFieldContentRuleOutputBuilder.setAlertName(input.getAlertName());

    ListenableFuture<Optional<AlertFieldContentRuleRecord>> readFutureOperational = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertFeildContentRuleRecordId);

    ListenableFuture<Optional<AlertFieldContentRuleRecord>> readFutureConfigure = tx
            .read(LogicalDatastoreType.CONFIGURATION, alertFeildContentRuleRecordId);

    String configId = null;

    try {
        Optional<AlertFieldContentRuleRecord> record = readFutureOperational.get();
        if (record.isPresent()) {
            AlertFieldContentRuleRecord operationalRecord = readFutureOperational.get().get();
            List<StreamAlertFieldContentRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldContentRuleList>();

            if (!operationalRecord.getStreamAlertFieldContentRuleList().isEmpty()) {
                streamAlertRuleList = operationalRecord.getStreamAlertFieldContentRuleList();
                Iterator<StreamAlertFieldContentRuleList> itearator = streamAlertRuleList.iterator();
                StreamAlertFieldContentRuleList operationalObject = null;

                while (itearator.hasNext()) {
                    operationalObject = itearator.next();
                    if (operationalObject.getRuleID().equalsIgnoreCase(input.getRuleID())
                            && operationalObject.getStreamID().equalsIgnoreCase(input.getStreamID())) {
                        configId = operationalObject.getConfigID();
                        idMatches = true;

                    }
                }

                if (!idMatches) {
                    return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException(
                            "invalid-input", RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                                    "Invalid Stream/Rule id or The stream/rule is not present in operational data store")));

                }

            }

        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "Record is not present in operational data store")));
        }

    } catch (InterruptedException | ExecutionException e) {
        futureResult.set(RpcResultBuilder.<UpdateAlertFieldContentRuleOutput>failed()
                .withRpcErrors(((TransactionCommitFailedException) e).getErrorList()).build());
        return futureResult;

    }
    final String configID = configId;
    final ListenableFuture<Void> commitFuture = Futures.transform(readFutureConfigure,
            new AsyncFunction<Optional<AlertFieldContentRuleRecord>, Void>() {

                @Override
                public ListenableFuture<Void> apply(
                        final Optional<AlertFieldContentRuleRecord> alertFieldContentRuleRecord)
                        throws Exception {

                    List<StreamAlertFieldContentRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldContentRuleList>();
                    List<StreamAlertFieldContentRuleList> updatedStreamAlertRuleList = new ArrayList<StreamAlertFieldContentRuleList>();
                    if (alertFieldContentRuleRecord.isPresent()) {
                        streamAlertRuleList = alertFieldContentRuleRecord.get()
                                .getStreamAlertFieldContentRuleList();
                        StreamAlertFieldContentRuleList configObject = null;
                        Iterator<StreamAlertFieldContentRuleList> iterator = streamAlertRuleList.iterator();
                        while (iterator.hasNext()) {
                            configObject = iterator.next();

                            if (configObject.getConfigID().equalsIgnoreCase(configID)) {
                                updatedStreamAlertRuleList
                                        .add(buildUpdateAlertFieldContentRuleRecord(input, configObject));
                                tx.merge(LogicalDatastoreType.CONFIGURATION, alertFeildContentRuleRecordId,
                                        new AlertFieldContentRuleRecordBuilder()
                                                .setStreamAlertFieldContentRuleList(updatedStreamAlertRuleList)
                                                .build());

                            }

                        }

                    }

                    return tx.submit();
                }

            });
    Futures.addCallback(commitFuture, new FutureCallback<Void>() {
        @Override
        public void onSuccess(final Void result) {

            futureResult.set(RpcResultBuilder.<UpdateAlertFieldContentRuleOutput>success(
                    updateAlertFieldContentRuleOutputBuilder.build()).build());
        }

        @Override
        public void onFailure(final Throwable ex) {

            LOG.info("Failed to commit Rule", ex);

            futureResult.set(RpcResultBuilder.<UpdateAlertFieldContentRuleOutput>failed()
                    .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build());

        }
    });

    return futureResult;
}

From source file:org.opendaylight.centinel.impl.CentinelAlertConditionImpl.java

@Override
public Future<RpcResult<UpdateAlertFieldValueRuleOutput>> updateAlertFieldValueRule(
        final UpdateAlertFieldValueRuleInput input) {
    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<UpdateAlertFieldValueRuleOutput>> futureResult = SettableFuture.create();
    boolean idMatches = false;
    if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
            || input.getRuleID() == null || input.getRuleID().isEmpty() || input.getRuleID().trim().isEmpty()) {
        LOG.debug("Invalid Parameters for UpdateAlertFieldValueRule");
        return Futures.immediateFailedCheckedFuture(
                new TransactionCommitFailedException("inalid-input", RpcResultBuilder.newError(
                        ErrorType.APPLICATION, "invalid-input", "StreamId and RuleId are mandatory fields")));
    }// ww  w .  j  a  v  a  2s .  c  o m
    final UpdateAlertFieldValueRuleOutputBuilder updateAlertFieldValueRuleOutputBuilder = new UpdateAlertFieldValueRuleOutputBuilder();
    updateAlertFieldValueRuleOutputBuilder.setFieldValueBacklog(input.getFieldValueBacklog());
    updateAlertFieldValueRuleOutputBuilder.setFieldValueField(input.getFieldValueField());
    updateAlertFieldValueRuleOutputBuilder.setFieldValueGrace(input.getFieldValueGrace());
    updateAlertFieldValueRuleOutputBuilder.setFieldValueThreshhold(input.getFieldValueThreshhold());
    updateAlertFieldValueRuleOutputBuilder.setFieldValueThreshholdType(input.getFieldValueThreshholdType());
    updateAlertFieldValueRuleOutputBuilder.setFieldValueThreshholdType(input.getFieldValueThreshholdType());
    updateAlertFieldValueRuleOutputBuilder.setRuleID(input.getRuleID());
    updateAlertFieldValueRuleOutputBuilder.setNodeType(input.getNodeType());
    updateAlertFieldValueRuleOutputBuilder.setRuleTypeClassifier(input.getRuleTypeClassifier());
    updateAlertFieldValueRuleOutputBuilder.setStreamID(input.getStreamID());
    updateAlertFieldValueRuleOutputBuilder.setTimeStamp(input.getTimeStamp());
    updateAlertFieldValueRuleOutputBuilder.setAlertTypeClassifier(input.getAlertTypeClassifier());
    updateAlertFieldValueRuleOutputBuilder.setAlertName(input.getAlertName());

    ListenableFuture<Optional<AlertFieldValueRuleRecord>> readFutureOperational = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertFieldValueRuleRecordId);

    ListenableFuture<Optional<AlertFieldValueRuleRecord>> readFutureConfigure = tx
            .read(LogicalDatastoreType.CONFIGURATION, alertFieldValueRuleRecordId);

    String configId = null;

    try {
        Optional<AlertFieldValueRuleRecord> record = readFutureOperational.get();
        if (record.isPresent()) {
            AlertFieldValueRuleRecord operationalRecord = readFutureOperational.get().get();
            List<StreamAlertFieldValueRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldValueRuleList>();

            if (!operationalRecord.getStreamAlertFieldValueRuleList().isEmpty()) {
                streamAlertRuleList = operationalRecord.getStreamAlertFieldValueRuleList();
                Iterator<StreamAlertFieldValueRuleList> itearator = streamAlertRuleList.iterator();
                StreamAlertFieldValueRuleList operationalObject = null;

                while (itearator.hasNext()) {
                    operationalObject = itearator.next();
                    if (operationalObject.getRuleID().equalsIgnoreCase(input.getRuleID())
                            && operationalObject.getStreamID().equalsIgnoreCase(input.getStreamID())) {
                        configId = operationalObject.getConfigID();
                        idMatches = true;

                    }
                }
                if (!idMatches) {
                    return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException(
                            "invalid-input", RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                                    "Invalid Stream/Rule id or The stream/rule is not present in operational data store")));

                }

            }

        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "Record is not present in operational data store")));
        }
    } catch (InterruptedException | ExecutionException e) {
        futureResult.set(RpcResultBuilder.<UpdateAlertFieldValueRuleOutput>failed()
                .withRpcErrors(((TransactionCommitFailedException) e).getErrorList()).build());
        return futureResult;

    }
    final String configID = configId;
    final ListenableFuture<Void> commitFuture = Futures.transform(readFutureConfigure,
            new AsyncFunction<Optional<AlertFieldValueRuleRecord>, Void>() {

                @Override
                public ListenableFuture<Void> apply(
                        final Optional<AlertFieldValueRuleRecord> alertFieldValueRuleRecord) throws Exception {

                    List<StreamAlertFieldValueRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldValueRuleList>();
                    List<StreamAlertFieldValueRuleList> updatedStreamAlertRuleList = new ArrayList<StreamAlertFieldValueRuleList>();
                    if (alertFieldValueRuleRecord.isPresent()) {
                        streamAlertRuleList = alertFieldValueRuleRecord.get()
                                .getStreamAlertFieldValueRuleList();
                        StreamAlertFieldValueRuleList configObject = null;
                        Iterator<StreamAlertFieldValueRuleList> iterator = streamAlertRuleList.iterator();
                        while (iterator.hasNext()) {
                            configObject = iterator.next();

                            if (configObject.getConfigID().equalsIgnoreCase(configID)) {
                                updatedStreamAlertRuleList
                                        .add(buildUpdateAlertFieldValueRuleRecord(input, configObject));

                                tx.merge(LogicalDatastoreType.CONFIGURATION, alertFieldValueRuleRecordId,
                                        new AlertFieldValueRuleRecordBuilder()
                                                .setStreamAlertFieldValueRuleList(updatedStreamAlertRuleList)
                                                .build());

                            }
                        }

                    }

                    return tx.submit();
                }

            });
    Futures.addCallback(commitFuture, new FutureCallback<Void>() {

        @Override
        public void onSuccess(final Void result) {

            futureResult.set(RpcResultBuilder
                    .<UpdateAlertFieldValueRuleOutput>success(updateAlertFieldValueRuleOutputBuilder.build())
                    .build());
        }

        @Override
        public void onFailure(final Throwable ex) {

            LOG.info("Failed to commit Rule", ex);

            futureResult.set(RpcResultBuilder.<UpdateAlertFieldValueRuleOutput>failed()
                    .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build());

        }
    });

    return futureResult;
}

From source file:org.opendaylight.centinel.impl.CentinelAlertConditionImpl.java

@Override
public Future<RpcResult<DeleteAlertMessageCountRuleOutput>> deleteAlertMessageCountRule(
        DeleteAlertMessageCountRuleInput input) {
    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<DeleteAlertMessageCountRuleOutput>> futureResult = SettableFuture.create();
    boolean idMatches = false;
    if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
            || input.getRuleID() == null || input.getRuleID().isEmpty() || input.getRuleID().trim().isEmpty()) {
        LOG.debug("Invalid Parameters for DeleteAlertMessageCountRule");
        return Futures.immediateFailedCheckedFuture(
                new TransactionCommitFailedException("inalid-input", RpcResultBuilder.newError(
                        ErrorType.APPLICATION, "invalid-input", "StreamId and RuleId are mandatory fields")));
    }//from ww  w  .ja va 2  s. c o m
    final DeleteAlertMessageCountRuleOutputBuilder deleteAlertMessageCountRuleOutputBuilder = new DeleteAlertMessageCountRuleOutputBuilder();
    deleteAlertMessageCountRuleOutputBuilder.setMessageCountOperator(input.getMessageCountOperator());
    deleteAlertMessageCountRuleOutputBuilder.setMessageCountCount(input.getMessageCountCount());
    deleteAlertMessageCountRuleOutputBuilder.setMessageCountGrace(input.getMessageCountGrace());
    deleteAlertMessageCountRuleOutputBuilder.setMessageCountBacklog(input.getMessageCountBacklog());
    deleteAlertMessageCountRuleOutputBuilder.setRuleID(input.getRuleID());
    deleteAlertMessageCountRuleOutputBuilder.setNodeType(input.getNodeType());
    deleteAlertMessageCountRuleOutputBuilder.setRuleTypeClassifier(input.getRuleTypeClassifier());
    deleteAlertMessageCountRuleOutputBuilder.setStreamID(input.getStreamID());
    deleteAlertMessageCountRuleOutputBuilder.setTimeStamp(input.getTimeStamp());
    deleteAlertMessageCountRuleOutputBuilder.setAlertTypeClassifier(input.getAlertTypeClassifier());
    deleteAlertMessageCountRuleOutputBuilder.setAlertName(input.getAlertName());
    deleteAlertMessageCountRuleOutputBuilder.setConfigID(input.getConfigID());

    ListenableFuture<Optional<AlertMessageCountRuleRecord>> readFutureOperational = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertMessageCountRuleRecordId);

    ListenableFuture<Optional<AlertMessageCountRuleRecord>> readFutureConfigure = tx
            .read(LogicalDatastoreType.CONFIGURATION, alertMessageCountRuleRecordId);

    String configId = null;

    try {

        Optional<AlertMessageCountRuleRecord> record = readFutureOperational.get();
        if (record.isPresent()) {
            AlertMessageCountRuleRecord operationalRecord = readFutureOperational.get().get();

            List<StreamAlertMessageCountRuleList> streamAlertRuleList = new ArrayList<StreamAlertMessageCountRuleList>();

            if (!operationalRecord.getStreamAlertMessageCountRuleList().isEmpty()) {

                streamAlertRuleList = operationalRecord.getStreamAlertMessageCountRuleList();
                Iterator<StreamAlertMessageCountRuleList> itearator = streamAlertRuleList.iterator();

                StreamAlertMessageCountRuleList operationalObject = null;

                while (itearator.hasNext()) {

                    operationalObject = itearator.next();
                    if (operationalObject.getRuleID().equalsIgnoreCase(input.getRuleID())
                            && operationalObject.getStreamID().equalsIgnoreCase(input.getStreamID())) {

                        configId = operationalObject.getConfigID();
                        idMatches = true;

                    }
                }
                if (!idMatches) {
                    return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException(
                            "invalid-input", RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                                    "Invalid Stream/Rule id or The stream/rule is not present in operational data store")));

                }

            }

        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "Record is not present in operational data store")));
        }
    } catch (InterruptedException | ExecutionException e) {

        futureResult.set(RpcResultBuilder.<DeleteAlertMessageCountRuleOutput>failed()
                .withRpcErrors(((TransactionCommitFailedException) e).getErrorList()).build());
        return futureResult;

    }
    final String configID = configId;
    final ListenableFuture<Void> commitFuture = Futures.transform(readFutureConfigure,
            new AsyncFunction<Optional<AlertMessageCountRuleRecord>, Void>() {

                @Override
                public ListenableFuture<Void> apply(
                        final Optional<AlertMessageCountRuleRecord> alertMessageCountRuleRecord)
                        throws Exception {

                    List<StreamAlertMessageCountRuleList> streamAlertRuleList = new ArrayList<StreamAlertMessageCountRuleList>();

                    if (alertMessageCountRuleRecord.isPresent()) {

                        streamAlertRuleList = alertMessageCountRuleRecord.get()
                                .getStreamAlertMessageCountRuleList();
                        StreamAlertMessageCountRuleList configObject = null;
                        Iterator<StreamAlertMessageCountRuleList> iterator = streamAlertRuleList.iterator();

                        while (iterator.hasNext()) {

                            configObject = iterator.next();

                            if (configObject.getConfigID().equalsIgnoreCase(configID)) {

                                tx.delete(LogicalDatastoreType.CONFIGURATION, alertMessageCountRuleRecordId
                                        .child(StreamAlertMessageCountRuleList.class, configObject.getKey()));

                            }
                        }

                    }

                    return tx.submit();
                }

            });
    Futures.addCallback(commitFuture, new FutureCallback<Void>() {
        @Override
        public void onSuccess(final Void result) {

            futureResult.set(RpcResultBuilder.<DeleteAlertMessageCountRuleOutput>success(
                    deleteAlertMessageCountRuleOutputBuilder.build()).build());
        }

        @Override
        public void onFailure(final Throwable ex) {

            LOG.info("Failed to commit Rule", ex);

            futureResult.set(RpcResultBuilder.<DeleteAlertMessageCountRuleOutput>failed()
                    .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build());

        }
    });

    return futureResult;
}

From source file:org.opendaylight.centinel.impl.CentinelAlertConditionImpl.java

@Override
public Future<RpcResult<DeleteAlertFieldContentRuleOutput>> deleteAlertFieldContentRule(
        DeleteAlertFieldContentRuleInput input) {
    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<DeleteAlertFieldContentRuleOutput>> futureResult = SettableFuture.create();
    boolean idMatches = false;
    if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
            || input.getRuleID() == null || input.getRuleID().isEmpty() || input.getRuleID().trim().isEmpty()) {
        LOG.debug("Invalid Parameters for DeleteAlertFieldContentRule");
        return Futures.immediateFailedCheckedFuture(
                new TransactionCommitFailedException("inalid-input", RpcResultBuilder.newError(
                        ErrorType.APPLICATION, "invalid-input", "StreamId and RuleId are mandatory fields")));
    }/*w w w  .  ja  v a  2  s .  co  m*/
    final DeleteAlertFieldContentRuleOutputBuilder deleteAlertFieldContentRuleOutputBuilder = new DeleteAlertFieldContentRuleOutputBuilder();
    deleteAlertFieldContentRuleOutputBuilder.setFieldContentBacklog(input.getFieldContentBacklog());
    deleteAlertFieldContentRuleOutputBuilder
            .setFieldContentCompareToValue(input.getFieldContentCompareToValue());
    deleteAlertFieldContentRuleOutputBuilder.setFieldContentField(input.getFieldContentField());
    deleteAlertFieldContentRuleOutputBuilder.setFieldContentGrace(input.getFieldContentGrace());
    deleteAlertFieldContentRuleOutputBuilder.setRuleTypeClassifier(input.getRuleTypeClassifier());
    deleteAlertFieldContentRuleOutputBuilder.setRuleID(input.getRuleID());
    deleteAlertFieldContentRuleOutputBuilder.setNodeType(input.getNodeType());
    deleteAlertFieldContentRuleOutputBuilder.setStreamID(input.getStreamID());
    deleteAlertFieldContentRuleOutputBuilder.setTimeStamp(input.getTimeStamp());
    deleteAlertFieldContentRuleOutputBuilder.setAlertTypeClassifier(input.getAlertTypeClassifier());
    deleteAlertFieldContentRuleOutputBuilder.setAlertName(input.getAlertName());
    deleteAlertFieldContentRuleOutputBuilder.setConfigID(input.getConfigID());

    ListenableFuture<Optional<AlertFieldContentRuleRecord>> readFutureOperational = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertFeildContentRuleRecordId);

    ListenableFuture<Optional<AlertFieldContentRuleRecord>> readFutureConfigure = tx
            .read(LogicalDatastoreType.CONFIGURATION, alertFeildContentRuleRecordId);

    String configId = null;

    try {

        Optional<AlertFieldContentRuleRecord> record = readFutureOperational.get();
        if (record.isPresent()) {
            AlertFieldContentRuleRecord operationalRecord = readFutureOperational.get().get();
            List<StreamAlertFieldContentRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldContentRuleList>();

            if (!operationalRecord.getStreamAlertFieldContentRuleList().isEmpty()) {

                streamAlertRuleList = operationalRecord.getStreamAlertFieldContentRuleList();
                Iterator<StreamAlertFieldContentRuleList> itearator = streamAlertRuleList.iterator();

                StreamAlertFieldContentRuleList operationalObject = null;

                while (itearator.hasNext()) {

                    operationalObject = itearator.next();
                    if (operationalObject.getRuleID().equalsIgnoreCase(input.getRuleID())
                            && operationalObject.getStreamID().equalsIgnoreCase(input.getStreamID())) {

                        configId = operationalObject.getConfigID();
                        idMatches = true;

                    }
                }
                if (!idMatches) {
                    return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException(
                            "invalid-input", RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                                    "Invalid Stream/Rule id or The stream/rule is not present in operational data store")));

                }

            }

        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "Record is not present in operational data store")));
        }
    } catch (InterruptedException | ExecutionException e) {

        futureResult.set(RpcResultBuilder.<DeleteAlertFieldContentRuleOutput>failed()
                .withRpcErrors(((TransactionCommitFailedException) e).getErrorList()).build());
        return futureResult;

    }
    final String configID = configId;
    final ListenableFuture<Void> commitFuture = Futures.transform(readFutureConfigure,
            new AsyncFunction<Optional<AlertFieldContentRuleRecord>, Void>() {

                @Override
                public ListenableFuture<Void> apply(
                        final Optional<AlertFieldContentRuleRecord> alertFieldContentRuleRecord)
                        throws Exception {

                    List<StreamAlertFieldContentRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldContentRuleList>();

                    if (alertFieldContentRuleRecord.isPresent()) {

                        streamAlertRuleList = alertFieldContentRuleRecord.get()
                                .getStreamAlertFieldContentRuleList();
                        StreamAlertFieldContentRuleList configObject = null;
                        Iterator<StreamAlertFieldContentRuleList> iterator = streamAlertRuleList.iterator();

                        while (iterator.hasNext()) {

                            configObject = iterator.next();

                            if (configObject.getConfigID().equalsIgnoreCase(configID)) {

                                tx.delete(LogicalDatastoreType.CONFIGURATION, alertFeildContentRuleRecordId
                                        .child(StreamAlertFieldContentRuleList.class, configObject.getKey()));

                            }
                        }

                    }

                    return tx.submit();
                }

            });
    Futures.addCallback(commitFuture, new FutureCallback<Void>() {
        @Override
        public void onSuccess(final Void result) {

            futureResult.set(RpcResultBuilder.<DeleteAlertFieldContentRuleOutput>success(
                    deleteAlertFieldContentRuleOutputBuilder.build()).build());
        }

        @Override
        public void onFailure(final Throwable ex) {

            LOG.info("Failed to commit Rule", ex);

            futureResult.set(RpcResultBuilder.<DeleteAlertFieldContentRuleOutput>failed()
                    .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build());

        }
    });

    return futureResult;
}

From source file:org.opendaylight.centinel.impl.CentinelAlertConditionImpl.java

@Override
public Future<RpcResult<DeleteAlertFieldValueRuleOutput>> deleteAlertFieldValueRule(
        final DeleteAlertFieldValueRuleInput input) {
    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<DeleteAlertFieldValueRuleOutput>> futureResult = SettableFuture.create();
    boolean idMatches = false;
    if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()
            || input.getRuleID() == null || input.getRuleID().isEmpty() || input.getRuleID().trim().isEmpty()) {
        LOG.debug("Invalid Parameters for DeleteAlertFieldValueRule");
        return Futures.immediateFailedCheckedFuture(
                new TransactionCommitFailedException("inalid-input", RpcResultBuilder.newError(
                        ErrorType.APPLICATION, "invalid-input", "StreamId and RuleId are mandatory fields")));
    }//w  ww .  ja va  2  s  . co m
    final DeleteAlertFieldValueRuleOutputBuilder deleteAlertFieldValueRuleOutputBuilder = new DeleteAlertFieldValueRuleOutputBuilder();
    deleteAlertFieldValueRuleOutputBuilder
            .setStreamID("The alert with this" + input.getStreamID() + "is deleted");

    ListenableFuture<Optional<AlertFieldValueRuleRecord>> readFutureOperational = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertFieldValueRuleRecordId);

    ListenableFuture<Optional<AlertFieldValueRuleRecord>> readFutureConfigure = tx
            .read(LogicalDatastoreType.CONFIGURATION, alertFieldValueRuleRecordId);

    String configId = null;

    try {
        Optional<AlertFieldValueRuleRecord> record = readFutureOperational.get();
        if (record.isPresent()) {
            AlertFieldValueRuleRecord operationalRecord = readFutureOperational.get().get();
            List<StreamAlertFieldValueRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldValueRuleList>();

            if (!operationalRecord.getStreamAlertFieldValueRuleList().isEmpty()) {
                streamAlertRuleList = operationalRecord.getStreamAlertFieldValueRuleList();
                Iterator<StreamAlertFieldValueRuleList> itearator = streamAlertRuleList.iterator();
                StreamAlertFieldValueRuleList operationalObject = null;

                while (itearator.hasNext()) {
                    operationalObject = itearator.next();
                    if (operationalObject.getRuleID().equalsIgnoreCase(input.getRuleID())
                            && operationalObject.getStreamID().equalsIgnoreCase(input.getStreamID())) {
                        configId = operationalObject.getConfigID();
                        idMatches = true;

                    }
                }
                if (!idMatches) {
                    return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException(
                            "invalid-input", RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                                    "Invalid Stream/Rule id or The stream/rule is not present in operational data store")));

                }

            }

        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "Record is not present in operational data store")));
        }
    } catch (InterruptedException | ExecutionException e) {
        deleteAlertFieldValueRuleOutputBuilder
                .setStreamID("The alert with this" + input.getStreamID() + "is not present");
        futureResult.set(RpcResultBuilder.<DeleteAlertFieldValueRuleOutput>failed()
                .withRpcErrors(((TransactionCommitFailedException) e).getErrorList()).build());
        return futureResult;

    }
    final String configID = configId;
    final ListenableFuture<Void> commitFuture = Futures.transform(readFutureConfigure,
            new AsyncFunction<Optional<AlertFieldValueRuleRecord>, Void>() {

                @Override
                public ListenableFuture<Void> apply(
                        final Optional<AlertFieldValueRuleRecord> alertFieldValueRuleRecord) throws Exception {

                    List<StreamAlertFieldValueRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldValueRuleList>();

                    if (alertFieldValueRuleRecord.isPresent()) {

                        streamAlertRuleList = alertFieldValueRuleRecord.get()
                                .getStreamAlertFieldValueRuleList();
                        StreamAlertFieldValueRuleList configObject = null;
                        Iterator<StreamAlertFieldValueRuleList> iterator = streamAlertRuleList.iterator();
                        while (iterator.hasNext()) {
                            configObject = iterator.next();

                            if (configObject.getConfigID().equalsIgnoreCase(configID)) {

                                tx.delete(LogicalDatastoreType.CONFIGURATION, alertFieldValueRuleRecordId
                                        .child(StreamAlertFieldValueRuleList.class, configObject.getKey()));

                            }
                        }

                    }

                    return tx.submit();
                }

            });
    Futures.addCallback(commitFuture, new FutureCallback<Void>() {

        @Override
        public void onSuccess(final Void result) {

            futureResult.set(RpcResultBuilder
                    .<DeleteAlertFieldValueRuleOutput>success(deleteAlertFieldValueRuleOutputBuilder.build())
                    .build());
        }

        @Override
        public void onFailure(final Throwable ex) {

            LOG.info("Failed to commit Rule", ex);

            futureResult.set(RpcResultBuilder.<DeleteAlertFieldValueRuleOutput>failed()
                    .withRpcErrors(((TransactionCommitFailedException) ex).getErrorList()).build());

        }
    });

    return futureResult;
}

From source file:org.opendaylight.centinel.impl.CentinelAlertConditionImpl.java

@Override
public Future<RpcResult<GetAllAlertRuleOutput>> getAllAlertRule(final GetAllAlertRuleInput input) {

    final ReadWriteTransaction tx = dataProvider.newReadWriteTransaction();
    final SettableFuture<RpcResult<GetAllAlertRuleOutput>> futureResult = SettableFuture.create();
    if (input.getStreamID() == null || input.getStreamID().isEmpty() || input.getStreamID().trim().isEmpty()) {
        LOG.debug("Invalid Parameters for GetAllAlertRule");
        return Futures.immediateFailedCheckedFuture(
                new TransactionCommitFailedException("inalid-input", RpcResultBuilder
                        .newError(ErrorType.APPLICATION, "invalid-input", "StreamId is a  mandatory field")));
    }/*  ww w  . j a  v a 2 s.  com*/
    final GetAllAlertRuleOutputBuilder allAlertRuleOutputBuilder = new GetAllAlertRuleOutputBuilder();

    ListenableFuture<Optional<AlertMessageCountRuleRecord>> alertMessageCountReadFuture = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertMessageCountRuleRecordId);
    ListenableFuture<Optional<AlertFieldContentRuleRecord>> alertFieldContentReadFuture = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertFeildContentRuleRecordId);
    ListenableFuture<Optional<AlertFieldValueRuleRecord>> alertFieldValueReadFuture = tx
            .read(LogicalDatastoreType.OPERATIONAL, alertFieldValueRuleRecordId);
    ListenableFuture<Optional<StreamRecord>> streamRuleReadFuture = tx.read(LogicalDatastoreType.OPERATIONAL,
            streamRecordId);
    boolean check = true;

    try {
        Optional<StreamRecord> streamRecord = streamRuleReadFuture.get();
        List<StreamList> streamList = new ArrayList<StreamList>();
        if (streamRecord.isPresent()) {
            streamList = streamRecord.get().getStreamList();
        } else {
            return Futures.immediateFailedCheckedFuture(new TransactionCommitFailedException("invalid-input",
                    RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-input",
                            "No Stream Record is present in operational data store")));
        }
        if (!streamList.isEmpty()) {
            java.util.Iterator<StreamList> streamListIterator = streamList.iterator();

            while (streamListIterator.hasNext()) {
                StreamList streamListObj = streamListIterator.next();
                if (streamListObj.getStreamID().equals(input.getStreamID())) {
                    check = false;
                    break;
                }
            }
        }
        if (check) {
            return Futures.immediateFailedCheckedFuture(
                    new TransactionCommitFailedException("inalid-input", RpcResultBuilder.newError(
                            ErrorType.APPLICATION, "invalid-input", "NO stream with this Id in datastore")));
        }

        Optional<AlertMessageCountRuleRecord> alertMessageCountRuleRecord = alertMessageCountReadFuture.get();
        List<StreamAlertMessageCountRuleList> streamAlertRuleList = new ArrayList<StreamAlertMessageCountRuleList>();

        if (alertMessageCountRuleRecord.isPresent()) {
            streamAlertRuleList = alertMessageCountRuleRecord.get().getStreamAlertMessageCountRuleList();

            java.util.Iterator<StreamAlertMessageCountRuleList> iterator = streamAlertRuleList.iterator();
            List<StreamAlertMessageCountRuleListSorted> streamAlertMessageCountRuleListSortedList = new ArrayList<StreamAlertMessageCountRuleListSorted>();
            StreamAlertMessageCountRuleListSortedBuilder streamAlertMessageCountRuleListSortedBuilder = new StreamAlertMessageCountRuleListSortedBuilder();

            while (iterator.hasNext()) {
                StreamAlertMessageCountRuleList streamAlertMessageObj = iterator.next();
                if (streamAlertMessageObj.getStreamID().equals(input.getStreamID())) {
                    streamAlertMessageCountRuleListSortedBuilder
                            .setStreamID(streamAlertMessageObj.getStreamID());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setMessageCountOperator(streamAlertMessageObj.getMessageCountOperator());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setNodeType(streamAlertMessageObj.getNodeType());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setConfigID(streamAlertMessageObj.getConfigID());
                    streamAlertMessageCountRuleListSortedBuilder.setRuleID(streamAlertMessageObj.getRuleID());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setAlertTypeClassifier(streamAlertMessageObj.getAlertTypeClassifier());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setRuleTypeClassifier(streamAlertMessageObj.getRuleTypeClassifier());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setMessageCountCount(streamAlertMessageObj.getMessageCountCount());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setMessageCountGrace(streamAlertMessageObj.getMessageCountGrace());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setTimeStamp(streamAlertMessageObj.getTimeStamp());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setMessageCountBacklog(streamAlertMessageObj.getMessageCountBacklog());
                    streamAlertMessageCountRuleListSortedBuilder
                            .setAlertName(streamAlertMessageObj.getAlertName());
                    streamAlertMessageCountRuleListSortedList.add(
                            (StreamAlertMessageCountRuleListSorted) streamAlertMessageCountRuleListSortedBuilder
                                    .build());
                    allAlertRuleOutputBuilder.setStreamAlertMessageCountRuleListSorted(
                            streamAlertMessageCountRuleListSortedList);

                }
            }
        }

    } catch (InterruptedException | ExecutionException ex) {
        LOG.error("Failed to get all Rules", ex);
    }

    try {
        Optional<AlertFieldContentRuleRecord> alertFieldContentRuleRecord = alertFieldContentReadFuture.get();
        List<StreamAlertFieldContentRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldContentRuleList>();

        if (alertFieldContentRuleRecord.isPresent()) {
            streamAlertRuleList = alertFieldContentRuleRecord.get().getStreamAlertFieldContentRuleList();
        }
        java.util.Iterator<StreamAlertFieldContentRuleList> iterator = streamAlertRuleList.iterator();
        List<StreamAlertFieldContentRuleListSorted> streamAlertFieldContentRuleListSorted = new ArrayList<StreamAlertFieldContentRuleListSorted>();
        StreamAlertFieldContentRuleListSortedBuilder streamAlertFieldContentRuleListSortedBuilder = new StreamAlertFieldContentRuleListSortedBuilder();

        while (iterator.hasNext()) {
            StreamAlertFieldContentRuleList streamAlertFieldContentObj = iterator.next();

            if (streamAlertFieldContentObj.getStreamID().equals(input.getStreamID())) {
                streamAlertFieldContentRuleListSortedBuilder
                        .setConfigID(streamAlertFieldContentObj.getConfigID());
                streamAlertFieldContentRuleListSortedBuilder
                        .setTimeStamp(streamAlertFieldContentObj.getTimeStamp());
                streamAlertFieldContentRuleListSortedBuilder.setRuleID(streamAlertFieldContentObj.getRuleID());
                streamAlertFieldContentRuleListSortedBuilder
                        .setStreamID(streamAlertFieldContentObj.getStreamID());
                streamAlertFieldContentRuleListSortedBuilder
                        .setFieldContentBacklog(streamAlertFieldContentObj.getFieldContentBacklog());
                streamAlertFieldContentRuleListSortedBuilder
                        .setRuleTypeClassifier(streamAlertFieldContentObj.getRuleTypeClassifier());
                streamAlertFieldContentRuleListSortedBuilder
                        .setAlertTypeClassifier(streamAlertFieldContentObj.getAlertTypeClassifier());
                streamAlertFieldContentRuleListSortedBuilder
                        .setNodeType(streamAlertFieldContentObj.getNodeType());
                streamAlertFieldContentRuleListSortedBuilder.setFieldContentCompareToValue(
                        streamAlertFieldContentObj.getFieldContentCompareToValue());
                streamAlertFieldContentRuleListSortedBuilder
                        .setFieldContentGrace(streamAlertFieldContentObj.getFieldContentGrace());
                streamAlertFieldContentRuleListSortedBuilder
                        .setFieldContentField(streamAlertFieldContentObj.getFieldContentField());
                streamAlertFieldContentRuleListSortedBuilder
                        .setAlertName(streamAlertFieldContentObj.getAlertName());
                streamAlertFieldContentRuleListSorted.add(
                        (StreamAlertFieldContentRuleListSorted) streamAlertFieldContentRuleListSortedBuilder
                                .build());
                allAlertRuleOutputBuilder
                        .setStreamAlertFieldContentRuleListSorted(streamAlertFieldContentRuleListSorted);

            }
        }
    } catch (InterruptedException | ExecutionException ex) {
        LOG.error("Failed to get all Rules", ex);
    }
    try {
        Optional<AlertFieldValueRuleRecord> alertFieldValueRuleRecord = alertFieldValueReadFuture.get();
        List<StreamAlertFieldValueRuleList> streamAlertRuleList = new ArrayList<StreamAlertFieldValueRuleList>();

        if (alertFieldValueRuleRecord.isPresent()) {
            streamAlertRuleList = alertFieldValueRuleRecord.get().getStreamAlertFieldValueRuleList();

        }

        java.util.Iterator<StreamAlertFieldValueRuleList> iterator = streamAlertRuleList.iterator();
        List<StreamAlertFieldValueRuleListSorted> streamAlertFieldValueRuleListSorted = new ArrayList<StreamAlertFieldValueRuleListSorted>();
        StreamAlertFieldValueRuleListSortedBuilder streamAlertFieldValueRuleListSortedBuilder = new StreamAlertFieldValueRuleListSortedBuilder();

        while (iterator.hasNext()) {
            StreamAlertFieldValueRuleList streamAlertFieldValueRuleObj = iterator.next();
            if (streamAlertFieldValueRuleObj.getStreamID().equals(input.getStreamID())) {
                streamAlertFieldValueRuleListSortedBuilder
                        .setAlertTypeClassifier(streamAlertFieldValueRuleObj.getAlertTypeClassifier());
                streamAlertFieldValueRuleListSortedBuilder
                        .setConfigID(streamAlertFieldValueRuleObj.getConfigID());
                streamAlertFieldValueRuleListSortedBuilder.setRuleID(streamAlertFieldValueRuleObj.getRuleID());
                streamAlertFieldValueRuleListSortedBuilder
                        .setStreamID(streamAlertFieldValueRuleObj.getStreamID());
                streamAlertFieldValueRuleListSortedBuilder
                        .setFieldValueBacklog(streamAlertFieldValueRuleObj.getFieldValueBacklog());
                streamAlertFieldValueRuleListSortedBuilder
                        .setRuleTypeClassifier(streamAlertFieldValueRuleObj.getRuleTypeClassifier());
                streamAlertFieldValueRuleListSortedBuilder
                        .setFieldValueField(streamAlertFieldValueRuleObj.getFieldValueField());
                streamAlertFieldValueRuleListSortedBuilder
                        .setNodeType(streamAlertFieldValueRuleObj.getNodeType());
                streamAlertFieldValueRuleListSortedBuilder.setFieldValueThreshholdType(
                        streamAlertFieldValueRuleObj.getFieldValueThreshholdType());
                streamAlertFieldValueRuleListSortedBuilder
                        .setFieldValueThreshhold(streamAlertFieldValueRuleObj.getFieldValueThreshhold());
                streamAlertFieldValueRuleListSortedBuilder
                        .setFieldValueType(streamAlertFieldValueRuleObj.getFieldValueType());
                streamAlertFieldValueRuleListSortedBuilder
                        .setFieldValueGrace(streamAlertFieldValueRuleObj.getFieldValueGrace());
                streamAlertFieldValueRuleListSortedBuilder
                        .setTimeStamp(streamAlertFieldValueRuleObj.getTimeStamp());
                streamAlertFieldValueRuleListSortedBuilder
                        .setAlertName(streamAlertFieldValueRuleObj.getAlertName());
                streamAlertFieldValueRuleListSorted
                        .add((StreamAlertFieldValueRuleListSorted) streamAlertFieldValueRuleListSortedBuilder
                                .build());
                allAlertRuleOutputBuilder
                        .setStreamAlertFieldValueRuleListSorted(streamAlertFieldValueRuleListSorted);
            }
        }

        futureResult.set(
                RpcResultBuilder.<GetAllAlertRuleOutput>success(allAlertRuleOutputBuilder.build()).build());

    } catch (InterruptedException | ExecutionException ex) {
        LOG.error("Failed to get all Rules", ex);
    }

    return futureResult;

}

From source file:org.opendaylight.netvirt.elan.utils.ElanUtils.java

public static void addToListenableFutureIfTxException(RuntimeException exception,
        List<ListenableFuture<Void>> futures) {
    Throwable cause = exception.getCause();
    if (cause != null && cause instanceof TransactionCommitFailedException) {
        futures.add(Futures.immediateFailedCheckedFuture((TransactionCommitFailedException) cause));
    }//from w w  w  . ja  va 2s. c  o m
}