import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer;
import io.fd.hc2vpp.common.translate.util.NamingContext;
import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.StaticCacheKeyFactory;
import io.fd.honeycomb.translate.read.ReadContext;
import io.fd.honeycomb.translate.read.ReadFailedException;
import io.fd.honeycomb.translate.spi.read.Initialized;
import io.fd.honeycomb.translate.spi.read.InitializingReaderCustomizer;
import io.fd.honeycomb.translate.util.RWUtils;
import io.fd.honeycomb.translate.util.read.cache.DumpCacheManager;
+import io.fd.honeycomb.translate.util.read.cache.StaticCacheKeyFactory;
import io.fd.vpp.jvpp.core.dto.SwInterfaceDetails;
import io.fd.vpp.jvpp.core.dto.SwInterfaceTapDetails;
import io.fd.vpp.jvpp.core.dto.SwInterfaceTapDetailsReplyDump;
this.interfaceContext = interfaceContext;
this.dumpManager = dumpManager;
this.tapDumpManager = new DumpCacheManager.DumpCacheManagerBuilder<SwInterfaceTapDetailsReplyDump, Void>()
- .withCacheKeyFactory(new StaticCacheKeyFactory(TapCustomizer.class.getName() + "_dump"))
- .acceptOnly(SwInterfaceTapDetailsReplyDump.class)
+ .withCacheKeyFactory(new StaticCacheKeyFactory(TapCustomizer.class.getName() + "_dump",
+ SwInterfaceTapDetailsReplyDump.class))
.withExecutor((identifier, params) -> {
// Full Tap dump has to be performed here, no filter or anything is here to help so at least we cache it
return getReplyForRead(getFutureJVpp()
import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer;
import io.fd.hc2vpp.common.translate.util.NamingContext;
import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.StaticCacheKeyFactory;
import io.fd.honeycomb.translate.read.ReadContext;
import io.fd.honeycomb.translate.read.ReadFailedException;
import io.fd.honeycomb.translate.spi.read.Initialized;
import io.fd.honeycomb.translate.spi.read.InitializingReaderCustomizer;
import io.fd.honeycomb.translate.util.RWUtils;
import io.fd.honeycomb.translate.util.read.cache.DumpCacheManager;
+import io.fd.honeycomb.translate.util.read.cache.StaticCacheKeyFactory;
import io.fd.vpp.jvpp.core.dto.SwInterfaceDetails;
import io.fd.vpp.jvpp.core.dto.SwInterfaceVhostUserDetails;
import io.fd.vpp.jvpp.core.dto.SwInterfaceVhostUserDetailsReplyDump;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
public class VhostUserCustomizer implements InitializingReaderCustomizer<VhostUser, VhostUserBuilder>,
InterfaceDataTranslator, JvppReplyConsumer {
this.dumpManager = dumpManager;
this.vhostDumpManager =
new DumpCacheManager.DumpCacheManagerBuilder<SwInterfaceVhostUserDetailsReplyDump, Void>()
- .acceptOnly(SwInterfaceVhostUserDetailsReplyDump.class)
- .withCacheKeyFactory(new StaticCacheKeyFactory(VhostUserCustomizer.class.getName() + "_dump"))
+ .withCacheKeyFactory(new StaticCacheKeyFactory(VhostUserCustomizer.class.getName() + "_dump",
+ SwInterfaceVhostUserDetailsReplyDump.class))
.withExecutor((identifier, params) -> {
final CompletionStage<SwInterfaceVhostUserDetailsReplyDump>
swInterfaceVhostUserDetailsReplyDumpCompletionStage =
import io.fd.honeycomb.translate.read.ReadFailedException;
import io.fd.honeycomb.translate.util.read.cache.DumpCacheManager;
import io.fd.honeycomb.translate.util.read.cache.EntityDumpExecutor;
+import io.fd.honeycomb.translate.util.read.cache.StaticCacheKeyFactory;
import io.fd.vpp.jvpp.core.dto.SwInterfaceDetails;
import io.fd.vpp.jvpp.core.dto.SwInterfaceDetailsReplyDump;
import io.fd.vpp.jvpp.core.dto.SwInterfaceDump;
this.namingContext = namingContext;
specificDumpManager = specificInterfaceDumpManager(jvpp);
fullDumpManager = fullInterfaceDumpManager(jvpp,
- new StaticCacheKeyFactory(StaticCacheKeyFactory.class.getName() + "_dump"));
+ new StaticCacheKeyFactory(InterfaceCacheDumpManagerImpl.class.getName() + "_dump", SwInterfaceDetailsReplyDump.class));
}
@Override
+++ /dev/null
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate.cache;
-
-import io.fd.honeycomb.translate.util.read.cache.CacheKeyFactory;
-import io.fd.vpp.jvpp.core.dto.SwInterfaceDetailsReplyDump;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class StaticCacheKeyFactory implements CacheKeyFactory<Void> {
-
- private final String key;
-
- public StaticCacheKeyFactory(@Nonnull final String key) {
- this.key = key;
- }
-
- @Nonnull
- @Override
- public String createKey(@Nonnull final InstanceIdentifier<?> actualContextIdentifier,
- @Nullable final Void dumpParams) {
- return key;
- }
-
- @Nonnull
- @Override
- public Class<?> getCachedDataType() {
- return SwInterfaceDetailsReplyDump.class;
- }
-}