diff --git a/core/common/src/main/java/org/onosproject/codec/impl/ConstraintCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/ConstraintCodec.java
index 5aa6f35..5c99650 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/ConstraintCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/ConstraintCodec.java
@@ -30,16 +30,16 @@
 
     protected static final String MISSING_MEMBER_MESSAGE =
             " member is required in Constraint";
-    protected static final String TYPE = "type";
-    protected static final String TYPES = "types";
-    protected static final String INCLUSIVE = "inclusive";
-    protected static final String KEY = "key";
-    protected static final String THRESHOLD = "threshold";
-    protected static final String BANDWIDTH = "bandwidth";
-    protected static final String LAMBDA = "lambda";
-    protected static final String LATENCY_MILLIS = "latencyMillis";
-    protected static final String OBSTACLES = "obstacles";
-    protected static final String WAYPOINTS = "waypoints";
+    static final String TYPE = "type";
+    static final String TYPES = "types";
+    static final String INCLUSIVE = "inclusive";
+    static final String KEY = "key";
+    static final String THRESHOLD = "threshold";
+    static final String BANDWIDTH = "bandwidth";
+    static final String LAMBDA = "lambda";
+    static final String LATENCY_MILLIS = "latencyMillis";
+    static final String OBSTACLES = "obstacles";
+    static final String WAYPOINTS = "waypoints";
 
     @Override
     public ObjectNode encode(Constraint constraint, CodecContext context) {
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/CriterionCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/CriterionCodec.java
index 0e23e02..ec1b061 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/CriterionCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/CriterionCodec.java
@@ -28,51 +28,51 @@
  */
 public final class CriterionCodec extends JsonCodec<Criterion> {
 
-    protected static final Logger log =
+    private static final Logger log =
             LoggerFactory.getLogger(CriterionCodec.class);
 
-    protected static final String TYPE = "type";
-    protected static final String ETH_TYPE = "ethType";
-    protected static final String MAC = "mac";
-    protected static final String PORT = "port";
-    protected static final String METADATA = "metadata";
+    static final String TYPE = "type";
+    static final String ETH_TYPE = "ethType";
+    static final String MAC = "mac";
+    static final String PORT = "port";
+    static final String METADATA = "metadata";
 
-    protected static final String VLAN_ID = "vlanId";
-    protected static final String INNER_VLAN_ID = "innerVlanId";
-    protected static final String INNER_PRIORITY = "innerPriority";
-    protected static final String PRIORITY = "priority";
-    protected static final String IP_DSCP = "ipDscp";
-    protected static final String IP_ECN = "ipEcn";
-    protected static final String PROTOCOL = "protocol";
-    protected static final String IP = "ip";
-    protected static final String TCP_PORT = "tcpPort";
-    protected static final String TCP_MASK = "tcpMask";
-    protected static final String UDP_PORT = "udpPort";
-    protected static final String UDP_MASK = "udpMask";
-    protected static final String SCTP_PORT = "sctpPort";
-    protected static final String SCTP_MASK = "sctpMask";
-    protected static final String ICMP_TYPE = "icmpType";
-    protected static final String ICMP_CODE = "icmpCode";
-    protected static final String FLOW_LABEL = "flowLabel";
-    protected static final String ICMPV6_TYPE = "icmpv6Type";
-    protected static final String ICMPV6_CODE = "icmpv6Code";
-    protected static final String TARGET_ADDRESS = "targetAddress";
-    protected static final String LABEL = "label";
-    protected static final String BOS = "bos";
-    protected static final String EXT_HDR_FLAGS = "exthdrFlags";
-    protected static final String LAMBDA = "lambda";
-    protected static final String GRID_TYPE = "gridType";
-    protected static final String CHANNEL_SPACING = "channelSpacing";
-    protected static final String SPACING_MULIPLIER = "spacingMultiplier";
-    protected static final String SLOT_GRANULARITY = "slotGranularity";
-    protected static final String OCH_SIGNAL_ID = "ochSignalId";
-    protected static final String TUNNEL_ID = "tunnelId";
-    protected static final String OCH_SIGNAL_TYPE = "ochSignalType";
-    protected static final String ODU_SIGNAL_ID = "oduSignalId";
-    protected static final String TRIBUTARY_PORT_NUMBER = "tributaryPortNumber";
-    protected static final String TRIBUTARY_SLOT_LEN = "tributarySlotLen";
-    protected static final String TRIBUTARY_SLOT_BITMAP = "tributarySlotBitmap";
-    protected static final String ODU_SIGNAL_TYPE = "oduSignalType";
+    static final String VLAN_ID = "vlanId";
+    static final String INNER_VLAN_ID = "innerVlanId";
+    static final String INNER_PRIORITY = "innerPriority";
+    static final String PRIORITY = "priority";
+    static final String IP_DSCP = "ipDscp";
+    static final String IP_ECN = "ipEcn";
+    static final String PROTOCOL = "protocol";
+    static final String IP = "ip";
+    static final String TCP_PORT = "tcpPort";
+    static final String TCP_MASK = "tcpMask";
+    static final String UDP_PORT = "udpPort";
+    static final String UDP_MASK = "udpMask";
+    static final String SCTP_PORT = "sctpPort";
+    static final String SCTP_MASK = "sctpMask";
+    static final String ICMP_TYPE = "icmpType";
+    static final String ICMP_CODE = "icmpCode";
+    static final String FLOW_LABEL = "flowLabel";
+    static final String ICMPV6_TYPE = "icmpv6Type";
+    static final String ICMPV6_CODE = "icmpv6Code";
+    static final String TARGET_ADDRESS = "targetAddress";
+    static final String LABEL = "label";
+    static final String BOS = "bos";
+    static final String EXT_HDR_FLAGS = "exthdrFlags";
+    static final String LAMBDA = "lambda";
+    static final String GRID_TYPE = "gridType";
+    static final String CHANNEL_SPACING = "channelSpacing";
+    static final String SPACING_MULIPLIER = "spacingMultiplier";
+    static final String SLOT_GRANULARITY = "slotGranularity";
+    static final String OCH_SIGNAL_ID = "ochSignalId";
+    static final String TUNNEL_ID = "tunnelId";
+    static final String OCH_SIGNAL_TYPE = "ochSignalType";
+    static final String ODU_SIGNAL_ID = "oduSignalId";
+    static final String TRIBUTARY_PORT_NUMBER = "tributaryPortNumber";
+    static final String TRIBUTARY_SLOT_LEN = "tributarySlotLen";
+    static final String TRIBUTARY_SLOT_BITMAP = "tributarySlotBitmap";
+    static final String ODU_SIGNAL_TYPE = "oduSignalType";
 
     @Override
     public ObjectNode encode(Criterion criterion, CodecContext context) {
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/DecodeInstructionCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/DecodeInstructionCodecHelper.java
index ff55e49..e810274 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/DecodeInstructionCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/DecodeInstructionCodecHelper.java
@@ -63,7 +63,7 @@
  * Decoding portion of the instruction codec.
  */
 public final class DecodeInstructionCodecHelper {
-    protected static final Logger log = getLogger(DecodeInstructionCodecHelper.class);
+    private static final Logger log = getLogger(DecodeInstructionCodecHelper.class);
     private final ObjectNode json;
     private final CodecContext context;
     private static final Pattern ETHTYPE_PATTERN = Pattern.compile("0x([0-9a-fA-F]{4})");
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/EncodeInstructionCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/EncodeInstructionCodecHelper.java
index 4b50700..65a6665 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/EncodeInstructionCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/EncodeInstructionCodecHelper.java
@@ -42,7 +42,7 @@
  * JSON encoding of Instructions.
  */
 public final class EncodeInstructionCodecHelper {
-    protected static final Logger log = getLogger(EncodeInstructionCodecHelper.class);
+    private static final Logger log = getLogger(EncodeInstructionCodecHelper.class);
     private final Instruction instruction;
     private final CodecContext context;
 
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/EthernetCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/EthernetCodec.java
index 9d71b29..6d95519 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/EthernetCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/EthernetCodec.java
@@ -30,7 +30,7 @@
  */
 public final class EthernetCodec extends JsonCodec<Ethernet> {
 
-    protected static final Logger log = LoggerFactory.getLogger(CriterionCodec.class);
+    private static final Logger log = LoggerFactory.getLogger(CriterionCodec.class);
 
     @Override
     public ObjectNode encode(Ethernet ethernet, CodecContext context) {
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/InstructionCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/InstructionCodec.java
index 9762643..6e36ec0 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/InstructionCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/InstructionCodec.java
@@ -29,45 +29,45 @@
  */
 public final class InstructionCodec extends JsonCodec<Instruction> {
 
-    protected static final Logger log = LoggerFactory.getLogger(InstructionCodec.class);
+    private static final Logger log = LoggerFactory.getLogger(InstructionCodec.class);
 
-    protected static final String TYPE = "type";
-    protected static final String SUBTYPE = "subtype";
-    protected static final String PORT = "port";
-    protected static final String MAC = "mac";
-    protected static final String VLAN_ID = "vlanId";
-    protected static final String VLAN_PCP = "vlanPcp";
-    protected static final String MPLS_LABEL = "label";
-    protected static final String MPLS_BOS = "bos";
-    protected static final String IP = "ip";
-    protected static final String FLOW_LABEL = "flowLabel";
-    protected static final String LAMBDA = "lambda";
-    protected static final String GRID_TYPE = "gridType";
-    protected static final String CHANNEL_SPACING = "channelSpacing";
-    protected static final String SPACING_MULTIPLIER = "spacingMultiplier";
-    protected static final String SLOT_GRANULARITY = "slotGranularity";
-    protected static final String ETHERNET_TYPE = "ethernetType";
-    protected static final String TUNNEL_ID = "tunnelId";
-    protected static final String TCP_PORT = "tcpPort";
-    protected static final String UDP_PORT = "udpPort";
-    protected static final String TABLE_ID = "tableId";
-    protected static final String GROUP_ID = "groupId";
-    protected static final String METER_ID = "meterId";
-    protected static final String QUEUE_ID = "queueId";
-    protected static final String TRIBUTARY_PORT_NUMBER = "tributaryPortNumber";
-    protected static final String TRIBUTARY_SLOT_LEN = "tributarySlotLength";
-    protected static final String TRIBUTARY_SLOT_BITMAP = "tributarySlotBitmap";
-    protected static final String EXTENSION = "extension";
-    protected static final String DEVICE_ID = "deviceId";
-    protected static final String STAT_TRIGGER_FLAG = "statTriggerFlag";
-    protected static final String STAT_THRESHOLDS = "statThreshold";
-    protected static final String STAT_BYTE_COUNT = "byteCount";
-    protected static final String STAT_PACKET_COUNT = "packetCount";
-    protected static final String STAT_DURATION = "duration";
+    static final String TYPE = "type";
+    static final String SUBTYPE = "subtype";
+    static final String PORT = "port";
+    static final String MAC = "mac";
+    static final String VLAN_ID = "vlanId";
+    static final String VLAN_PCP = "vlanPcp";
+    static final String MPLS_LABEL = "label";
+    static final String MPLS_BOS = "bos";
+    static final String IP = "ip";
+    static final String FLOW_LABEL = "flowLabel";
+    static final String LAMBDA = "lambda";
+    static final String GRID_TYPE = "gridType";
+    static final String CHANNEL_SPACING = "channelSpacing";
+    static final String SPACING_MULTIPLIER = "spacingMultiplier";
+    static final String SLOT_GRANULARITY = "slotGranularity";
+    static final String ETHERNET_TYPE = "ethernetType";
+    static final String TUNNEL_ID = "tunnelId";
+    static final String TCP_PORT = "tcpPort";
+    static final String UDP_PORT = "udpPort";
+    static final String TABLE_ID = "tableId";
+    static final String GROUP_ID = "groupId";
+    static final String METER_ID = "meterId";
+    static final String QUEUE_ID = "queueId";
+    static final String TRIBUTARY_PORT_NUMBER = "tributaryPortNumber";
+    static final String TRIBUTARY_SLOT_LEN = "tributarySlotLength";
+    static final String TRIBUTARY_SLOT_BITMAP = "tributarySlotBitmap";
+    static final String EXTENSION = "extension";
+    static final String DEVICE_ID = "deviceId";
+    static final String STAT_TRIGGER_FLAG = "statTriggerFlag";
+    static final String STAT_THRESHOLDS = "statThreshold";
+    static final String STAT_BYTE_COUNT = "byteCount";
+    static final String STAT_PACKET_COUNT = "packetCount";
+    static final String STAT_DURATION = "duration";
 
-    protected static final String MISSING_MEMBER_MESSAGE =
+    static final String MISSING_MEMBER_MESSAGE =
             " member is required in Instruction";
-    protected static final String ERROR_MESSAGE =
+    static final String ERROR_MESSAGE =
             " not specified in Instruction";
 
 
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java
index ffe281b..4faced6 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java
@@ -42,15 +42,15 @@
  */
 public final class IntentCodec extends JsonCodec<Intent> {
 
-    protected static final String TYPE = "type";
-    protected static final String ID = "id";
-    protected static final String KEY = "key";
-    protected static final String APP_ID = "appId";
-    protected static final String STATE = "state";
-    protected static final String PRIORITY = "priority";
-    protected static final String RESOURCES = "resources";
-    protected static final String RESOURCE_GROUP = "resourceGroup";
-    protected static final String MISSING_MEMBER_MESSAGE =
+    static final String TYPE = "type";
+    static final String ID = "id";
+    static final String KEY = "key";
+    static final String APP_ID = "appId";
+    static final String STATE = "state";
+    static final String PRIORITY = "priority";
+    static final String RESOURCES = "resources";
+    static final String RESOURCE_GROUP = "resourceGroup";
+    static final String MISSING_MEMBER_MESSAGE =
             " member is required in Intent";
     private static final String E_APP_ID_NOT_FOUND =
             "Application ID is not found";
diff --git a/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java b/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java
index f9b3202..9811d99 100644
--- a/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java
+++ b/core/net/src/main/java/org/onosproject/net/resource/impl/ResourceRegistrar.java
@@ -52,22 +52,22 @@
 public final class ResourceRegistrar {
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected ResourceAdminService adminService;
+    ResourceAdminService adminService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected ResourceService resourceService;
+    ResourceService resourceService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected DriverService driverService;
+    DriverService driverService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected DeviceService deviceService;
+    DeviceService deviceService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected MastershipService mastershipService;
+    MastershipService mastershipService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected NetworkConfigRegistry cfgRegistry;
+    NetworkConfigRegistry cfgRegistry;
 
     private final Logger log = getLogger(getClass());
 
diff --git a/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java b/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java
index 1879997..b79240a 100644
--- a/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java
+++ b/core/security/src/main/java/org/onosproject/security/impl/DefaultPolicyBuilder.java
@@ -111,11 +111,11 @@
 
 public final class DefaultPolicyBuilder {
 
-    protected static ConcurrentHashMap<AppPermission.Type,
+    static ConcurrentHashMap<AppPermission.Type,
             Set<String>> serviceDirectory = getServiceDirectory();
 
-    protected static List<Permission> defaultPermissions = getDefaultPerms();
-    protected static List<Permission> adminServicePermissions = getAdminDefaultPerms();
+    static List<Permission> defaultPermissions = getDefaultPerms();
+    static List<Permission> adminServicePermissions = getAdminDefaultPerms();
 
     private DefaultPolicyBuilder(){
     }
