Fix example how plugins can react on changes in project config

The example didn't handle the case that on project creation a zero
ObjectId is provided as old ObjectId.

RefNames.REFS_CONFIG has to be used instead of
GitRepositoryManager.REF_CONFIG which doesn't exist anymore.

Change-Id: Ic42ca72a126b70ff0b452e5150e2d1e3c916c73c
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/Documentation/dev-plugins.txt b/Documentation/dev-plugins.txt
index 9402885..aeba57f 100644
--- a/Documentation/dev-plugins.txt
+++ b/Documentation/dev-plugins.txt
@@ -746,18 +746,14 @@
 
   @Override
   public void onGitReferenceUpdated(Event event) {
-    if (event.getRefName().equals(GitRepositoryManager.REF_CONFIG)) {
+    if (event.getRefName().equals(RefNames.REFS_CONFIG)) {
       Project.NameKey p = new Project.NameKey(event.getProjectName());
       try {
-        ProjectConfig oldCfg =
-            ProjectConfig.read(metaDataUpdateFactory.create(p),
-                ObjectId.fromString(event.getOldObjectId()));
-        ProjectConfig newCfg =
-            ProjectConfig.read(metaDataUpdateFactory.create(p),
-                ObjectId.fromString(event.getNewObjectId()));
+        ProjectConfig oldCfg = parseConfig(p, event.getOldObjectId());
+        ProjectConfig newCfg = parseConfig(p, event.getNewObjectId());
 
-        if (!oldCfg.getProject().getSubmitType().equals(
-            newCfg.getProject().getSubmitType())) {
+        if (oldCfg != null && newCfg != null
+            && !oldCfg.getProject().getSubmitType().equals(newCfg.getProject().getSubmitType())) {
           // submit type has changed
           ...
         }
@@ -766,6 +762,15 @@
       }
     }
   }
+
+  private ProjectConfig parseConfig(Project.NameKey p, String idStr)
+      throws IOException, ConfigInvalidException, RepositoryNotFoundException {
+    ObjectId id = ObjectId.fromString(idStr);
+    if (ObjectId.zeroId().equals(id)) {
+      return null;
+    }
+    return ProjectConfig.read(metaDataUpdateFactory.create(p), id);
+  }
 }
 ----