* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.controller.cluster.datastore.messages;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.base.Preconditions;
+import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.SettableFuture;
-import org.opendaylight.controller.cluster.datastore.util.InstanceIdentifierUtils;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionMessages;
-import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadTransaction;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
+import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+@Deprecated(since = "9.0.0", forRemoval = true)
public class DataExists extends AbstractRead<Boolean> {
+ private static final long serialVersionUID = 1L;
- public static final Class<ShardTransactionMessages.DataExists> SERIALIZABLE_CLASS =
- ShardTransactionMessages.DataExists.class;
-
- public DataExists(final YangInstanceIdentifier path) {
- super(path);
- }
-
- @Override public Object toSerializable() {
- return ShardTransactionMessages.DataExists.newBuilder()
- .setInstanceIdentifierPathArguments(
- InstanceIdentifierUtils.toSerializable(getPath())).build();
+ public DataExists() {
}
- public static DataExists fromSerializable(final Object serializable){
- ShardTransactionMessages.DataExists o = (ShardTransactionMessages.DataExists) serializable;
- return new DataExists(InstanceIdentifierUtils.fromSerializable(o.getInstanceIdentifierPathArguments()));
+ public DataExists(final YangInstanceIdentifier path, final short version) {
+ super(path, version);
}
@Override
- public CheckedFuture<Boolean, ReadFailedException> apply(DOMStoreReadTransaction readDelegate) {
+ public FluentFuture<Boolean> apply(final DOMStoreReadTransaction readDelegate) {
return readDelegate.exists(getPath());
}
@Override
- public void processResponse(Object response, SettableFuture<Boolean> returnFuture) {
- if(response instanceof DataExistsReply) {
- returnFuture.set(Boolean.valueOf(((DataExistsReply) response).exists()));
-
- } else if(response.getClass().equals(DataExistsReply.SERIALIZABLE_CLASS)) {
+ public void processResponse(final Object response, final SettableFuture<Boolean> returnFuture) {
+ if (DataExistsReply.isSerializedType(response)) {
returnFuture.set(Boolean.valueOf(DataExistsReply.fromSerializable(response).exists()));
-
} else {
- returnFuture.setException(new ReadFailedException("Invalid response checking exists for path " + getPath()));
+ returnFuture.setException(new ReadFailedException("Invalid response checking exists for path "
+ + getPath()));
}
}
+ @Override
+ protected AbstractRead<Boolean> newInstance(final short withVersion) {
+ return new DataExists(getPath(), withVersion);
+ }
+
+ public static DataExists fromSerializable(final Object serializable) {
+ Preconditions.checkArgument(serializable instanceof DataExists);
+ return (DataExists)serializable;
+ }
+
+ public static boolean isSerializedType(final Object message) {
+ return message instanceof DataExists;
+ }
}