Fix namespaces for soy templates

Each template should have it's own namespace.
This is also done in preparation of updates to newer versions of
closure-template:soy where this recommendation has become a requirement.

Change-Id: I012aa1ba347a250aeab62f11237f5a4b781b7a47
diff --git a/java/com/google/gitiles/DefaultErrorHandlingFilter.java b/java/com/google/gitiles/DefaultErrorHandlingFilter.java
index ec52bb9..f3e04ea 100644
--- a/java/com/google/gitiles/DefaultErrorHandlingFilter.java
+++ b/java/com/google/gitiles/DefaultErrorHandlingFilter.java
@@ -97,7 +97,8 @@
       HttpServletRequest req, HttpServletResponse res, int status, String message)
       throws IOException {
     res.setStatus(status);
-    renderHtml(req, res, "gitiles.error", ImmutableMap.of("title", message));
+    renderHtml(
+        req, res, "com.google.gitiles.templates.Error.error", ImmutableMap.of("title", message));
   }
 
   protected void renderHtml(
diff --git a/java/com/google/gitiles/DiffServlet.java b/java/com/google/gitiles/DiffServlet.java
index 5a9f07b..03353ac 100644
--- a/java/com/google/gitiles/DiffServlet.java
+++ b/java/com/google/gitiles/DiffServlet.java
@@ -106,7 +106,9 @@
       }
 
       setCacheHeaders(req, res);
-      try (OutputStream out = startRenderStreamingHtml(req, res, "gitiles.diffDetail", data);
+      try (OutputStream out =
+              startRenderStreamingHtml(
+                  req, res, "com.google.gitiles.templates.DiffDetail.diffDetail", data);
           DiffFormatter diff = new HtmlDiffFormatter(renderer, view, out)) {
         formatDiff(repo, oldTree, newTree, view.getPathPart(), diff);
       }
diff --git a/java/com/google/gitiles/HostIndexServlet.java b/java/com/google/gitiles/HostIndexServlet.java
index 6851688..93ff9d0 100644
--- a/java/com/google/gitiles/HostIndexServlet.java
+++ b/java/com/google/gitiles/HostIndexServlet.java
@@ -129,7 +129,7 @@
     renderHtml(
         req,
         res,
-        "gitiles.hostIndex",
+        "com.google.gitiles.templates.HostIndex.hostIndex",
         ImmutableMap.of(
             "hostName",
             hostName,
diff --git a/java/com/google/gitiles/HtmlDiffFormatter.java b/java/com/google/gitiles/HtmlDiffFormatter.java
index 1467d42..76df04c 100644
--- a/java/com/google/gitiles/HtmlDiffFormatter.java
+++ b/java/com/google/gitiles/HtmlDiffFormatter.java
@@ -109,7 +109,7 @@
     getOutputStream()
         .write(
             renderer
-                .newRenderer("gitiles.diffHeader")
+                .newRenderer("com.google.gitiles.templates.DiffDetail.diffHeader")
                 .setData(ImmutableMap.of("firstParts", parts, "rest", rest, "fileIndex", fileIndex))
                 .renderHtml()
                 .get()
diff --git a/java/com/google/gitiles/LogServlet.java b/java/com/google/gitiles/LogServlet.java
index 645264b..51ab68d 100644
--- a/java/com/google/gitiles/LogServlet.java
+++ b/java/com/google/gitiles/LogServlet.java
@@ -124,7 +124,9 @@
 
       data.put("title", title);
 
-      try (OutputStream out = startRenderStreamingHtml(req, res, "gitiles.logDetail", data)) {
+      try (OutputStream out =
+          startRenderStreamingHtml(
+              req, res, "com.google.gitiles.templates.LogDetail.logDetail", data)) {
         Writer w = newWriter(out, res);
         new LogSoyData(req, access, pretty)
             .renderStreaming(paginator, null, renderer, w, df, LogSoyData.FooterBehavior.NEXT);
diff --git a/java/com/google/gitiles/LogSoyData.java b/java/com/google/gitiles/LogSoyData.java
index dc782ab..34b290f 100644
--- a/java/com/google/gitiles/LogSoyData.java
+++ b/java/com/google/gitiles/LogSoyData.java
@@ -93,23 +93,24 @@
     LoggingAdvisingAppendable out = LoggingAdvisingAppendable.delegating(writer);
     renderHtml(
         renderer
-            .newRenderer("gitiles.logEntriesHeader")
+            .newRenderer("com.google.gitiles.templates.LogDetail.logEntriesHeader")
             .setData(toHeaderSoyData(paginator, revision)),
         out);
 
-    SoySauce.Renderer entryRenderer = renderer.newRenderer("gitiles.logEntryWrapper");
+    SoySauce.Renderer entryRenderer =
+        renderer.newRenderer("com.google.gitiles.templates.LogDetail.logEntryWrapper");
     boolean renderedEntries = false;
     for (RevCommit c : paginator) {
       renderHtml(entryRenderer.setData(toEntrySoyData(paginator, c, df)), out);
       renderedEntries = true;
     }
     if (!renderedEntries) {
-      renderHtml(renderer.newRenderer("gitiles.emptyLog"), out);
+      renderHtml(renderer.newRenderer("com.google.gitiles.templates.LogDetail.emptyLog"), out);
     }
 
     renderHtml(
         renderer
-            .newRenderer("gitiles.logEntriesFooter")
+            .newRenderer("com.google.gitiles.templates.LogDetail.logEntriesFooter")
             .setData(toFooterSoyData(paginator, revision, footerBehavior)),
         out);
   }
diff --git a/java/com/google/gitiles/PathServlet.java b/java/com/google/gitiles/PathServlet.java
index 26de757..4054332 100644
--- a/java/com/google/gitiles/PathServlet.java
+++ b/java/com/google/gitiles/PathServlet.java
@@ -68,6 +68,7 @@
 
   static final String MODE_HEADER = "X-Gitiles-Path-Mode";
   static final String TYPE_HEADER = "X-Gitiles-Object-Type";
+  static final String PATH_DETAIL = "com.google.gitiles.templates.PathDetail.pathDetail";
 
   /**
    * Submodule URLs where we know there is a web page if the user visits the repository URL verbatim
@@ -486,7 +487,7 @@
     renderHtml(
         req,
         res,
-        "gitiles.pathDetail",
+        PATH_DETAIL,
         ImmutableMap.of(
             "title", !view.getPathPart().isEmpty() ? view.getPathPart() : "/",
             "breadcrumbs", view.getBreadcrumbs(wr.hasSingleTree),
@@ -515,7 +516,7 @@
     renderHtml(
         req,
         res,
-        "gitiles.pathDetail",
+        PATH_DETAIL,
         ImmutableMap.of(
             "title", ViewFilter.getView(req).getPathPart(),
             "breadcrumbs", view.getBreadcrumbs(wr.hasSingleTree),
@@ -541,7 +542,7 @@
       renderHtml(
           req,
           res,
-          "gitiles.pathDetail",
+          PATH_DETAIL,
           ImmutableMap.of(
               "title", ViewFilter.getView(req).getPathPart(),
               "breadcrumbs", view.getBreadcrumbs(wr.hasSingleTree),
@@ -564,7 +565,7 @@
     renderHtml(
         req,
         res,
-        "gitiles.pathDetail",
+        PATH_DETAIL,
         ImmutableMap.of(
             "title", ViewFilter.getView(req).getPathPart(),
             "breadcrumbs", view.getBreadcrumbs(wr.hasSingleTree),
@@ -621,7 +622,7 @@
     renderHtml(
         req,
         res,
-        "gitiles.pathDetail",
+        PATH_DETAIL,
         ImmutableMap.of(
             "title", view.getPathPart(),
             "type", FileType.GITLINK.toString(),
diff --git a/java/com/google/gitiles/RefServlet.java b/java/com/google/gitiles/RefServlet.java
index fd93126..0df7323 100644
--- a/java/com/google/gitiles/RefServlet.java
+++ b/java/com/google/gitiles/RefServlet.java
@@ -68,7 +68,7 @@
     renderHtml(
         req,
         res,
-        "gitiles.refsDetail",
+        "com.google.gitiles.templates.RefList.refsDetail",
         ImmutableMap.of("branches", getBranchesSoyData(req, 0), "tags", tags));
   }
 
diff --git a/java/com/google/gitiles/RepositoryIndexServlet.java b/java/com/google/gitiles/RepositoryIndexServlet.java
index d057512..0360588 100644
--- a/java/com/google/gitiles/RepositoryIndexServlet.java
+++ b/java/com/google/gitiles/RepositoryIndexServlet.java
@@ -129,7 +129,8 @@
       if (paginator != null) {
         DateFormatter df = new DateFormatter(access, Format.DEFAULT);
         try (OutputStream out =
-            startRenderStreamingHtml(req, res, "gitiles.repositoryIndex", data)) {
+            startRenderStreamingHtml(
+                req, res, "com.google.gitiles.templates.RepositoryIndex.repositoryIndex", data)) {
           Writer w = newWriter(out, res);
           new LogSoyData(req, access, "oneline")
               .renderStreaming(
@@ -137,7 +138,7 @@
           w.flush();
         }
       } else {
-        renderHtml(req, res, "gitiles.repositoryIndex", data);
+        renderHtml(req, res, "com.google.gitiles.templates.RepositoryIndex.repositoryIndex", data);
       }
     }
   }
diff --git a/java/com/google/gitiles/RevisionServlet.java b/java/com/google/gitiles/RevisionServlet.java
index 38aecb6..3aeb352 100644
--- a/java/com/google/gitiles/RevisionServlet.java
+++ b/java/com/google/gitiles/RevisionServlet.java
@@ -134,7 +134,7 @@
       renderHtml(
           req,
           res,
-          "gitiles.revisionDetail",
+          "com.google.gitiles.templates.RevisionDetail.revisionDetail",
           ImmutableMap.of(
               "title", view.getRevision().getName(),
               "objects", soyObjects,
diff --git a/java/com/google/gitiles/blame/BlameServlet.java b/java/com/google/gitiles/blame/BlameServlet.java
index ab9cd95..9dd5e91 100644
--- a/java/com/google/gitiles/blame/BlameServlet.java
+++ b/java/com/google/gitiles/blame/BlameServlet.java
@@ -86,7 +86,7 @@
         renderHtml(
             req,
             res,
-            "gitiles.blameDetail",
+            "com.google.gitiles.templates.BlameDetail.blameDetail",
             ImmutableMap.of(
                 "title",
                 title,
@@ -100,7 +100,7 @@
         renderHtml(
             req,
             res,
-            "gitiles.blameDetail",
+            "com.google.gitiles.templates.BlameDetail.blameDetail",
             ImmutableMap.of(
                 "title", title,
                 "breadcrumbs", view.getBreadcrumbs(),
diff --git a/java/com/google/gitiles/doc/DocServlet.java b/java/com/google/gitiles/doc/DocServlet.java
index 0cbea50..4def176 100644
--- a/java/com/google/gitiles/doc/DocServlet.java
+++ b/java/com/google/gitiles/doc/DocServlet.java
@@ -60,7 +60,7 @@
   private static final String INDEX_MD = "index.md";
   private static final String NAVBAR_MD = "navbar.md";
   private static final String SOY_FILE = "Doc.soy";
-  private static final String SOY_TEMPLATE = "gitiles.markdownDoc";
+  private static final String SOY_TEMPLATE = "com.google.gitiles.templates.Doc.markdownDoc";
 
   // Generation of ETag logic. Bump this only if DocServlet logic changes
   // significantly enough to impact cached pages. Soy template and source
diff --git a/resources/com/google/gitiles/templates/BlameDetail.soy b/resources/com/google/gitiles/templates/BlameDetail.soy
index 1589056..507b00f 100644
--- a/resources/com/google/gitiles/templates/BlameDetail.soy
+++ b/resources/com/google/gitiles/templates/BlameDetail.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.BlameDetail}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';
diff --git a/resources/com/google/gitiles/templates/Common.soy b/resources/com/google/gitiles/templates/Common.soy
index 86116cb..c89f73c 100644
--- a/resources/com/google/gitiles/templates/Common.soy
+++ b/resources/com/google/gitiles/templates/Common.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.Common}
 
 /**
  * Common header for Gitiles.
diff --git a/resources/com/google/gitiles/templates/DiffDetail.soy b/resources/com/google/gitiles/templates/DiffDetail.soy
index 519ed77..afe63e8 100644
--- a/resources/com/google/gitiles/templates/DiffDetail.soy
+++ b/resources/com/google/gitiles/templates/DiffDetail.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.DiffDetail}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';
diff --git a/resources/com/google/gitiles/templates/Doc.soy b/resources/com/google/gitiles/templates/Doc.soy
index 570ef8f..db46994 100644
--- a/resources/com/google/gitiles/templates/Doc.soy
+++ b/resources/com/google/gitiles/templates/Doc.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.Doc}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 
diff --git a/resources/com/google/gitiles/templates/Error.soy b/resources/com/google/gitiles/templates/Error.soy
index 7ca5024..c8ebc9e 100644
--- a/resources/com/google/gitiles/templates/Error.soy
+++ b/resources/com/google/gitiles/templates/Error.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.Error}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 
diff --git a/resources/com/google/gitiles/templates/HostIndex.soy b/resources/com/google/gitiles/templates/HostIndex.soy
index a8d84f8..846904a 100644
--- a/resources/com/google/gitiles/templates/HostIndex.soy
+++ b/resources/com/google/gitiles/templates/HostIndex.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.HostIndex}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 
diff --git a/resources/com/google/gitiles/templates/LogDetail.soy b/resources/com/google/gitiles/templates/LogDetail.soy
index d79f25a..23ae8eb 100644
--- a/resources/com/google/gitiles/templates/LogDetail.soy
+++ b/resources/com/google/gitiles/templates/LogDetail.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.LogDetail}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';
diff --git a/resources/com/google/gitiles/templates/ObjectDetail.soy b/resources/com/google/gitiles/templates/ObjectDetail.soy
index 4fc4b99..3d3c6e4 100644
--- a/resources/com/google/gitiles/templates/ObjectDetail.soy
+++ b/resources/com/google/gitiles/templates/ObjectDetail.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.ObjectDetail}
 
 /**
  * Detailed listing of a commit.
diff --git a/resources/com/google/gitiles/templates/PathDetail.soy b/resources/com/google/gitiles/templates/PathDetail.soy
index fb0936b..3b5c9be 100644
--- a/resources/com/google/gitiles/templates/PathDetail.soy
+++ b/resources/com/google/gitiles/templates/PathDetail.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.PathDetail}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';
diff --git a/resources/com/google/gitiles/templates/RefList.soy b/resources/com/google/gitiles/templates/RefList.soy
index 47b7fdb..15b996a 100644
--- a/resources/com/google/gitiles/templates/RefList.soy
+++ b/resources/com/google/gitiles/templates/RefList.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.RefList}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 
diff --git a/resources/com/google/gitiles/templates/RepositoryIndex.soy b/resources/com/google/gitiles/templates/RepositoryIndex.soy
index 64ccfbd..ac1ab56 100644
--- a/resources/com/google/gitiles/templates/RepositoryIndex.soy
+++ b/resources/com/google/gitiles/templates/RepositoryIndex.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.RepositoryIndex}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 import * as refList from 'com/google/gitiles/templates/RefList.soy';
diff --git a/resources/com/google/gitiles/templates/RevisionDetail.soy b/resources/com/google/gitiles/templates/RevisionDetail.soy
index e520990..7c1f1fd 100644
--- a/resources/com/google/gitiles/templates/RevisionDetail.soy
+++ b/resources/com/google/gitiles/templates/RevisionDetail.soy
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-{namespace gitiles}
+{namespace com.google.gitiles.templates.RevisionDetail}
 
 import * as common from 'com/google/gitiles/templates/Common.soy';
 import * as objDetail from 'com/google/gitiles/templates/ObjectDetail.soy';