From c0e45a44b1d13a00ebada9ba6c24a891fb0b6225 Mon Sep 17 00:00:00 2001 From: Martin Bobak Date: Thu, 7 May 2015 09:08:15 +0200 Subject: [PATCH] all device registries holds its data in synchronized lists Change-Id: I4e47ea5d7ec0f46595d97771d3a0b40ace5ae88c Signed-off-by: Martin Bobak --- .../impl/registry/flow/DeviceFlowRegistryImpl.java | 7 ++++--- .../impl/registry/group/DeviceGroupRegistryImpl.java | 5 +++-- .../impl/registry/meter/DeviceMeterRegistryImpl.java | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/flow/DeviceFlowRegistryImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/flow/DeviceFlowRegistryImpl.java index 3a42da7d23..b3dbe18b83 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/flow/DeviceFlowRegistryImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/flow/DeviceFlowRegistryImpl.java @@ -10,9 +10,10 @@ package org.opendaylight.openflowplugin.impl.registry.flow; import com.google.common.collect.ImmutableMap; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.opendaylight.openflowplugin.api.openflow.registry.flow.DeviceFlowRegistry; import org.opendaylight.openflowplugin.api.openflow.registry.flow.FlowDescriptor; import org.opendaylight.openflowplugin.api.openflow.registry.flow.FlowHash; @@ -26,8 +27,8 @@ import org.slf4j.LoggerFactory; */ public class DeviceFlowRegistryImpl implements DeviceFlowRegistry { - private final Map flowRegistry = new HashMap<>(); - private final List marks = new ArrayList(); + private final Map flowRegistry = new ConcurrentHashMap<>(); + private final List marks = Collections.synchronizedList(new ArrayList()); private final Logger LOG = LoggerFactory.getLogger(DeviceFlowRegistryImpl.class); @Override diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/group/DeviceGroupRegistryImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/group/DeviceGroupRegistryImpl.java index e2d97ae940..d2db609237 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/group/DeviceGroupRegistryImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/group/DeviceGroupRegistryImpl.java @@ -10,6 +10,7 @@ package org.opendaylight.openflowplugin.impl.registry.group; import com.google.common.collect.ImmutableList; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import org.opendaylight.openflowplugin.api.openflow.registry.group.DeviceGroupRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId; @@ -19,8 +20,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group */ public class DeviceGroupRegistryImpl implements DeviceGroupRegistry { - private final List groupIdList = new ArrayList<>(); - private final List marks = new ArrayList<>(); + private final List groupIdList = Collections.synchronizedList(new ArrayList()); + private final List marks = Collections.synchronizedList(new ArrayList()); @Override public void store(final GroupId groupId) { diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/meter/DeviceMeterRegistryImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/meter/DeviceMeterRegistryImpl.java index 584ea5fe5d..e81f12e3b1 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/meter/DeviceMeterRegistryImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/meter/DeviceMeterRegistryImpl.java @@ -10,6 +10,7 @@ package org.opendaylight.openflowplugin.impl.registry.meter; import com.google.common.collect.ImmutableList; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import org.opendaylight.openflowplugin.api.openflow.registry.meter.DeviceMeterRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId; @@ -19,8 +20,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter */ public class DeviceMeterRegistryImpl implements DeviceMeterRegistry { - private final List meterIds = new ArrayList(); - private final List marks = new ArrayList(); + private final List meterIds = Collections.synchronizedList(new ArrayList()); + private final List marks = Collections.synchronizedList(new ArrayList()); @Override public void store(final MeterId meterId) { -- 2.36.6