diff options
author | Guang Zhu <guangzhu@google.com> | 2021-12-16 14:44:44 -0800 |
---|---|---|
committer | Guang Zhu <guangzhu@google.com> | 2021-12-19 05:05:18 +0000 |
commit | 1903bc0c309e7d3f0ec2e701b6820771260ff7d8 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/main/java/com/android/vts/servlet/DashboardMainServlet.java | |
parent | a9bd47e4caa21d535fb89c0e6efe23fa08d25847 (diff) | |
download | dashboard-android-t-preview-1.tar.gz |
remove code for vti dashboardandroid-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-beta-3android-s-qpr3-beta-1android-t-preview-1android-s-v2-beta-3android-s-qpr3-beta-1
Bug: 210322427
Test: compile
Change-Id: I3e0941ac4e5938af21981340c40547f58c7709b4
(cherry picked from commit 4ebfbc3e964c8d1f75416fff9e97f87b66ed5139)
Diffstat (limited to 'src/main/java/com/android/vts/servlet/DashboardMainServlet.java')
-rw-r--r-- | src/main/java/com/android/vts/servlet/DashboardMainServlet.java | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/src/main/java/com/android/vts/servlet/DashboardMainServlet.java b/src/main/java/com/android/vts/servlet/DashboardMainServlet.java deleted file mode 100644 index 73a7287..0000000 --- a/src/main/java/com/android/vts/servlet/DashboardMainServlet.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (c) 2016 Google Inc. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you - * may not use this file except in compliance with the License. You may - * obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * 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. - */ - -package com.android.vts.servlet; - -import com.android.vts.entity.TestEntity; -import com.android.vts.entity.TestStatusEntity; -import com.android.vts.entity.UserFavoriteEntity; -import com.google.appengine.api.datastore.DatastoreService; -import com.google.appengine.api.datastore.DatastoreServiceFactory; -import com.google.appengine.api.datastore.Entity; -import com.google.appengine.api.datastore.Key; -import com.google.appengine.api.datastore.KeyFactory; -import com.google.appengine.api.datastore.PropertyProjection; -import com.google.appengine.api.datastore.Query; -import com.google.appengine.api.datastore.Query.Filter; -import com.google.appengine.api.datastore.Query.FilterOperator; -import com.google.appengine.api.datastore.Query.FilterPredicate; -import com.google.appengine.api.users.User; -import com.google.appengine.api.users.UserService; -import com.google.appengine.api.users.UserServiceFactory; -import com.google.gson.Gson; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import java.util.stream.Collectors; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import static com.googlecode.objectify.ObjectifyService.ofy; - -/** Represents the servlet that is invoked on loading the first page of dashboard. */ -public class DashboardMainServlet extends BaseServlet { - private static final String DASHBOARD_MAIN_JSP = "WEB-INF/jsp/dashboard_main.jsp"; - private static final String NO_TESTS_ERROR = "No test results available."; - - @Override - public PageType getNavParentType() { - return PageType.TOT; - } - - @Override - public List<Page> getBreadcrumbLinks(HttpServletRequest request) { - return null; - } - - /** Helper class for displaying test entries on the main dashboard. */ - public class TestDisplay implements Comparable<TestDisplay> { - private final Key testKey; - private final int passCount; - private final int failCount; - private boolean muteNotifications; - private boolean isFavorite; - - /** - * Test display constructor. - * - * @param testKey The key of the test. - * @param passCount The number of tests passing. - * @param failCount The number of tests failing. - * @param muteNotifications The flag for user notification in case of test failure. - * @param isFavorite The flag for showing favorite mark on All Tests Tab page. - */ - public TestDisplay( - Key testKey, - int passCount, - int failCount, - boolean muteNotifications, - boolean isFavorite) { - this.testKey = testKey; - this.passCount = passCount; - this.failCount = failCount; - this.muteNotifications = muteNotifications; - this.isFavorite = isFavorite; - } - - /** - * Get the key of the test. - * - * @return The key of the test. - */ - public String getName() { - return this.testKey.getName(); - } - - /** - * Get the number of passing test cases. - * - * @return The number of passing test cases. - */ - public int getPassCount() { - return this.passCount; - } - - /** - * Get the number of failing test cases. - * - * @return The number of failing test cases. - */ - public int getFailCount() { - return this.failCount; - } - - /** - * Get the notification mute status. - * - * @return True if the subscriber has muted notifications, false otherwise. - */ - public boolean getMuteNotifications() { - return this.muteNotifications; - } - - /** Set the notification mute status. */ - public void setMuteNotifications(boolean muteNotifications) { - this.muteNotifications = muteNotifications; - } - - /** - * Get the favorate status. - * - * @return True if an user set favorate for the test, false otherwise. - */ - public boolean getIsFavorite() { - return this.isFavorite; - } - - /** Set the favorite status. */ - public void setIsFavorite(boolean isFavorite) { - this.isFavorite = isFavorite; - } - - @Override - public int compareTo(TestDisplay test) { - return this.testKey.getName().compareTo(test.getName()); - } - } - - @Override - public void doGetHandler(HttpServletRequest request, HttpServletResponse response) - throws IOException { - UserService userService = UserServiceFactory.getUserService(); - User currentUser = userService.getCurrentUser(); - RequestDispatcher dispatcher = null; - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - HttpSession session = request.getSession(true); - PageType referTo = PageType.TREE; - if (session.getAttribute("treeDefault") != null) { - boolean treeDefault = (boolean) session.getAttribute("treeDefault"); - if (!treeDefault) { - referTo = PageType.TABLE; - } - } - - List<TestDisplay> displayedTests = new ArrayList<>(); - List<Key> unprocessedTestKeys = new ArrayList<>(); - - Map<Key, TestDisplay> testMap = new HashMap<>(); // map from table key to TestDisplay - Map<String, String> subscriptionMap = new HashMap<>(); - - boolean showAll = request.getParameter("showAll") != null; - String error = null; - - List<String> allTestNames = TestEntity.getAllTestNames(); - - List<Key> favoriteKeyList = new ArrayList<Key>(); - Filter userFilter = - new FilterPredicate(UserFavoriteEntity.USER, FilterOperator.EQUAL, currentUser); - Query filterQuery = new Query(UserFavoriteEntity.KIND).setFilter(userFilter); - Iterable<Entity> favoriteIter = datastore.prepare(filterQuery).asIterable(); - favoriteIter.forEach( - fe -> { - Key testKey = UserFavoriteEntity.fromEntity(fe).testKey; - favoriteKeyList.add(testKey); - subscriptionMap.put(testKey.getName(), KeyFactory.keyToString(fe.getKey())); - }); - - Query query = - new Query(TestStatusEntity.KIND) - .addProjection( - new PropertyProjection(TestStatusEntity.PASS_COUNT, Long.class)) - .addProjection( - new PropertyProjection(TestStatusEntity.FAIL_COUNT, Long.class)); - for (Entity status : datastore.prepare(query).asIterable()) { - TestStatusEntity statusEntity = TestStatusEntity.fromEntity(status); - if (statusEntity == null) continue; - Key testKey = KeyFactory.createKey(TestEntity.KIND, statusEntity.getTestName()); - boolean isFavorite = favoriteKeyList.contains(testKey); - TestDisplay display = new TestDisplay(testKey, -1, -1, false, isFavorite); - if (!unprocessedTestKeys.contains(testKey)) { - display = - new TestDisplay( - testKey, - statusEntity.getPassCount(), - statusEntity.getFailCount(), - false, - isFavorite); - } - testMap.put(testKey, display); - } - - if (testMap.size() == 0) { - error = NO_TESTS_ERROR; - } - - if (showAll) { - for (Key testKey : testMap.keySet()) { - displayedTests.add(testMap.get(testKey)); - } - } else { - if (testMap.size() > 0) { - for (Entity favoriteEntity : favoriteIter) { - UserFavoriteEntity favorite = UserFavoriteEntity.fromEntity(favoriteEntity); - Key testKey = favorite.testKey; - if (!testMap.containsKey(testKey)) { - continue; - } - TestDisplay display = testMap.get(testKey); - display.setMuteNotifications(favorite.muteNotifications); - displayedTests.add(display); - } - } - } - displayedTests.sort(Comparator.naturalOrder()); - - response.setStatus(HttpServletResponse.SC_OK); - request.setAttribute("allTestsJson", new Gson().toJson(allTestNames)); - request.setAttribute("subscriptionMapJson", new Gson().toJson(subscriptionMap)); - request.setAttribute("testNames", displayedTests); - request.setAttribute("showAll", showAll); - request.setAttribute("error", error); - request.setAttribute("resultsUrl", referTo.defaultUrl); - dispatcher = request.getRequestDispatcher(DASHBOARD_MAIN_JSP); - try { - dispatcher.forward(request, response); - } catch (ServletException e) { - logger.log(Level.SEVERE, "Servlet Excpetion caught : ", e); - } - } -} |