From 80679f11ec860d4cbc8c49170afa85499445e470 Mon Sep 17 00:00:00 2001 From: Steven Pisarski Date: Fri, 1 May 2015 14:56:06 -0600 Subject: [PATCH] Removed the requirement that the COPSData member (aka. _data) cannot be null. Found this issue while building tests for the packetcable-policy-server PCMMService class for connecting to and setting gates for a CCAP. Change-Id: I02e5c8d9562b2ecfbcb30c9ffcc7ac649262a1db Signed-off-by: Steven Pisarski --- .../java/org/umu/cops/stack/COPSDecision.java | 11 ++++++----- .../org/umu/cops/stack/COPSDecisionTest.java | 19 ++++++++----------- .../umu/cops/stack/COPSLPDPDecisionTest.java | 10 +++------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/packetcable-driver/src/main/java/org/umu/cops/stack/COPSDecision.java b/packetcable-driver/src/main/java/org/umu/cops/stack/COPSDecision.java index 4e152bc..a3847c2 100644 --- a/packetcable-driver/src/main/java/org/umu/cops/stack/COPSDecision.java +++ b/packetcable-driver/src/main/java/org/umu/cops/stack/COPSDecision.java @@ -112,7 +112,7 @@ public class COPSDecision extends COPSObjBase { * @throws java.lang.IllegalArgumentException */ public COPSDecision(final Command cmdCode) { - this(CType.DEF, cmdCode, DecisionFlag.NA, new COPSData()); + this(CType.DEF, cmdCode, DecisionFlag.NA, null); } /** @@ -132,7 +132,7 @@ public class COPSDecision extends COPSObjBase { * @throws java.lang.IllegalArgumentException */ public COPSDecision(final Command cmdCode, final DecisionFlag flags) { - this(CType.DEF, cmdCode, flags, new COPSData()); + this(CType.DEF, cmdCode, flags, null); } /** @@ -143,7 +143,7 @@ public class COPSDecision extends COPSObjBase { * @throws java.lang.IllegalArgumentException */ public COPSDecision(final CType cType, final Command cmdCode, final DecisionFlag flags) { - this(cType, cmdCode, flags, new COPSData()); + this(cType, cmdCode, flags, null); } /** @@ -178,11 +178,12 @@ public class COPSDecision extends COPSObjBase { if (hdr.getCType().equals(CType.NA)) throw new IllegalArgumentException("CType must not be " + CType.NA); if (cmdCode == null) throw new IllegalArgumentException("Command code must not be null"); if (flags == null) throw new IllegalArgumentException("Flags must not be null"); - if (data == null) throw new IllegalArgumentException("Data object must not be null"); _cmdCode = cmdCode; _flags = flags; - _data = data; + + if (data == null) _data = new COPSData(); + else _data = data; if ((_data.length() % 4) != 0) { final int padLen = 4 - (_data.length() % 4); diff --git a/packetcable-driver/src/test/java/org/umu/cops/stack/COPSDecisionTest.java b/packetcable-driver/src/test/java/org/umu/cops/stack/COPSDecisionTest.java index 4a80f87..7958212 100644 --- a/packetcable-driver/src/test/java/org/umu/cops/stack/COPSDecisionTest.java +++ b/packetcable-driver/src/test/java/org/umu/cops/stack/COPSDecisionTest.java @@ -31,11 +31,6 @@ public class COPSDecisionTest { new COPSDecision(CType.NA, new COPSData()); } - @Test(expected = IllegalArgumentException.class) - public void constructor2NullData() { - new COPSDecision(CType.DEF, null); - } - @Test(expected = IllegalArgumentException.class) public void constructor3NullCommand() { new COPSDecision(null, DecisionFlag.NA); @@ -87,11 +82,6 @@ public class COPSDecisionTest { new COPSDecision(CType.CSI, Command.INSTALL, null, new COPSData()); } - @Test(expected = IllegalArgumentException.class) - public void constructor5NullData() { - new COPSDecision(CType.CSI, Command.INSTALL, DecisionFlag.NA, null); - } - @Test(expected = IllegalArgumentException.class) public void constructor6NullHeader() { final COPSObjHeader hdr = null; @@ -116,7 +106,14 @@ public class COPSDecisionTest { @Test(expected = IllegalArgumentException.class) public void constructor6NullData() { - new COPSDecision(new COPSObjHeader(CNum.DEC, CType.CSI), Command.INSTALL, DecisionFlag.NA, null); + new COPSDecision(new COPSObjHeader(CNum.CSI, CType.CSI), Command.INSTALL, DecisionFlag.NA, null); + } + + @Test + public void cNumDECAndNullData() { + final COPSDecision decision = new COPSDecision(CType.DEF, null); + Assert.assertNotNull(decision.getData()); + Assert.assertEquals(0, decision.getData().getData().length); } @Test diff --git a/packetcable-driver/src/test/java/org/umu/cops/stack/COPSLPDPDecisionTest.java b/packetcable-driver/src/test/java/org/umu/cops/stack/COPSLPDPDecisionTest.java index 3590702..97b2673 100644 --- a/packetcable-driver/src/test/java/org/umu/cops/stack/COPSLPDPDecisionTest.java +++ b/packetcable-driver/src/test/java/org/umu/cops/stack/COPSLPDPDecisionTest.java @@ -37,11 +37,6 @@ public class COPSLPDPDecisionTest { new COPSLPDPDecision(CType.CSI, Command.INSTALL, null, new COPSData()); } - @Test(expected = IllegalArgumentException.class) - public void constructor1NullData() { - new COPSLPDPDecision(CType.CSI, Command.INSTALL, DecisionFlag.NA, null); - } - @Test(expected = IllegalArgumentException.class) public void constructor2NullHeader() { final COPSObjHeader hdr = null; @@ -64,9 +59,10 @@ public class COPSLPDPDecisionTest { new COPSLPDPDecision(new COPSObjHeader(CNum.LPDP_DEC, CType.CSI), Command.INSTALL, null, new COPSData()); } - @Test(expected = IllegalArgumentException.class) public void constructor2NullData() { - new COPSLPDPDecision(new COPSObjHeader(CNum.LPDP_DEC, CType.CSI), Command.INSTALL, DecisionFlag.NA, null); + final COPSLPDPDecision decision = new COPSLPDPDecision(new COPSObjHeader(CNum.LPDP_DEC, CType.CSI), + Command.INSTALL, DecisionFlag.NA, null); + Assert.assertEquals(0, decision.getData().getData().length); } @Test -- 2.36.6