Fixing name convention of the old group manager

Change-Id: Ieb433fbeaf13b17b4bda6ef080bfa2eb443d7f3f
diff --git a/src/decrypt-key.hpp b/src/decrypt-key.hpp
index fdccea7..df45428 100644
--- a/src/decrypt-key.hpp
+++ b/src/decrypt-key.hpp
@@ -47,7 +47,7 @@
   }
 
   const Buffer&
-  getKeyBits()
+  getKeyBits() const
   {
     return m_keyBits;
   }
diff --git a/src/group-manager.cpp b/src/group-manager.cpp
index deac768..b19ac20 100644
--- a/src/group-manager.cpp
+++ b/src/group-manager.cpp
@@ -31,6 +31,7 @@
 static const name::Component E_KEY_COMPONENT("E-KEY");
 static const name::Component D_KEY_COMPONENT("D-KEY");
 static const name::Component READ_COMPONENT("read");
+static const name::Component FOR_COMPONENT("FOR");
 
 GroupManager::GroupManager(const Name& prefix, const Name& dataType, const std::string& dbDir,
                            const int paramLength, const int freshPeriod)
@@ -179,9 +180,9 @@
 GroupManager::createEKeyData(const std::string& startTs, const std::string& endTs,
                              const Buffer& pubKeyBuf)
 {
-  Name dataName(m_namespace);
-  dataName.append(E_KEY_COMPONENT).append(startTs).append(endTs);
-  Data data(dataName);
+  Name name(m_namespace);
+  name.append(E_KEY_COMPONENT).append(startTs).append(endTs);
+  Data data(name);
   data.setFreshnessPeriod(time::hours(m_freshPeriod));
   data.setContent(pubKeyBuf.get(), pubKeyBuf.size());
   m_keyChain.sign(data);
@@ -193,10 +194,10 @@
                              const Name& keyName, const Buffer& priKeyBuf,
                              const Buffer& certKey)
 {
-  Name dataName(m_namespace);
-  dataName.append(D_KEY_COMPONENT);
-  dataName.append(startTs).append(endTs).append(keyName.getPrefix(-1));
-  Data data = Data(dataName);
+  Name name(m_namespace);
+  name.append(D_KEY_COMPONENT);
+  name.append(startTs).append(endTs).append(FOR_COMPONENT).append(keyName);
+  Data data = Data(name);
   data.setFreshnessPeriod(time::hours(m_freshPeriod));
   algo::EncryptParams eparams(tlv::AlgorithmRsaPkcs);
   algo::encryptData(data, priKeyBuf.buf(), priKeyBuf.size(), keyName,
diff --git a/tests/unit-tests/group-manager.t.cpp b/tests/unit-tests/group-manager.t.cpp
index 4355957..4564939 100644
--- a/tests/unit-tests/group-manager.t.cpp
+++ b/tests/unit-tests/group-manager.t.cpp
@@ -291,8 +291,8 @@
 
   // second data and decrypt
   dataIterator++;
-  BOOST_CHECK_EQUAL(dataIterator->getName().getPrefix(-2).toUri(),
-                    "/Alice/read/data_type/D-KEY/20150825T090000/20150825T100000");
+  BOOST_CHECK_EQUAL(dataIterator->getName().toUri(),
+                    "/Alice/read/data_type/D-KEY/20150825T090000/20150825T100000/FOR/ndn/memberA/ksk-123");
 
   //////////////////////////////////////////////////////////////////////// start decryption
   Block dataContent = dataIterator->getContent();
@@ -340,6 +340,16 @@
                                 derivedGroupEKey.getKeyBits().begin(),
                                 derivedGroupEKey.getKeyBits().end());
 
+  // third data and decrypt
+  dataIterator++;
+  BOOST_CHECK_EQUAL(dataIterator->getName().toUri(),
+                    "/Alice/read/data_type/D-KEY/20150825T090000/20150825T100000/FOR/ndn/memberB/ksk-123");
+
+  // second data and decrypt
+  dataIterator++;
+  BOOST_CHECK_EQUAL(dataIterator->getName().toUri(),
+                    "/Alice/read/data_type/D-KEY/20150825T090000/20150825T100000/FOR/ndn/memberC/ksk-123");
+
   // invalid time stamp to get group key
   TimeStamp tp2(from_iso_string("20150826T083000"));
   BOOST_CHECK_EQUAL(manager.getGroupKey(tp2).size(), 0);