summaryrefslogtreecommitdiff
path: root/src/main/java/com/android/vts/entity/UserFavoriteEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/android/vts/entity/UserFavoriteEntity.java')
-rw-r--r--src/main/java/com/android/vts/entity/UserFavoriteEntity.java132
1 files changed, 0 insertions, 132 deletions
diff --git a/src/main/java/com/android/vts/entity/UserFavoriteEntity.java b/src/main/java/com/android/vts/entity/UserFavoriteEntity.java
deleted file mode 100644
index 2548042..0000000
--- a/src/main/java/com/android/vts/entity/UserFavoriteEntity.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2017 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.entity;
-
-import com.google.appengine.api.datastore.Entity;
-import com.google.appengine.api.datastore.Key;
-import com.google.appengine.api.users.User;
-import com.googlecode.objectify.annotation.Cache;
-import com.googlecode.objectify.annotation.Ignore;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import static com.googlecode.objectify.ObjectifyService.ofy;
-
-@Cache
-@com.googlecode.objectify.annotation.Entity(name = "UserFavorite")
-@EqualsAndHashCode(of = "email")
-@NoArgsConstructor
-/** Entity describing subscriptions between a user and a test. */
-public class UserFavoriteEntity implements DashboardEntity {
- protected static final Logger logger = Logger.getLogger(UserFavoriteEntity.class.getName());
-
- public static final String KIND = "UserFavorite";
-
- // Property keys
- public static final String USER = "user";
- public static final String TEST_KEY = "testKey";
- public static final String MUTE_NOTIFICATIONS = "muteNotifications";
-
- @Ignore private Key key = null;
-
- @Ignore public User user = null;
-
- @Ignore public Key testKey = null;
-
- @Getter @Setter private com.googlecode.objectify.Key<TestEntity> test;
-
- @Getter @Setter private String userEmail;
-
- @Getter @Setter public boolean muteNotifications;
-
- /**
- * Create a user favorite relationship.
- *
- * @param key The key of the entity in the database.
- * @param user The User object for the subscribing user.
- * @param testKey The key of the TestEntity object describing the test.
- * @param muteNotifications True if the subscriber has muted notifications, false otherwise.
- */
- private UserFavoriteEntity(Key key, User user, Key testKey, boolean muteNotifications) {
- this.key = key;
- this.user = user;
- this.testKey = testKey;
- this.muteNotifications = muteNotifications;
- }
-
- /**
- * Create a user favorite relationship.
- *
- * @param user The User object for the subscribing user.
- * @param testKey The key of the TestEntity object describing the test.
- * @param muteNotifications True if the subscriber has muted notifications, false otherwise.
- */
- public UserFavoriteEntity(User user, Key testKey, boolean muteNotifications) {
- this(null, user, testKey, muteNotifications);
- }
-
- /** Saving function for the instance of this class */
- @Override
- public com.googlecode.objectify.Key<UserFavoriteEntity> save() {
- return ofy().save().entity(this).now();
- }
-
- public Entity toEntity() {
- Entity favoriteEntity;
- if (this.key != null) {
- favoriteEntity = new Entity(key);
- } else {
- favoriteEntity = new Entity(KIND);
- }
- favoriteEntity.setProperty(USER, this.user);
- favoriteEntity.setProperty(TEST_KEY, this.testKey);
- favoriteEntity.setProperty(MUTE_NOTIFICATIONS, this.muteNotifications);
- return favoriteEntity;
- }
-
- /**
- * Convert an Entity object to a UserFavoriteEntity.
- *
- * @param e The entity to process.
- * @return UserFavoriteEntity object with the properties from e, or null if incompatible.
- */
- public static UserFavoriteEntity fromEntity(Entity e) {
- if (!e.getKind().equals(KIND) || !e.hasProperty(USER) || !e.hasProperty(TEST_KEY)) {
- logger.log(
- Level.WARNING, "Missing user favorite attributes in entity: " + e.toString());
- return null;
- }
- try {
- User user = (User) e.getProperty(USER);
- Key testKey = (Key) e.getProperty(TEST_KEY);
- boolean muteNotifications = false;
- if (e.hasProperty(MUTE_NOTIFICATIONS)) {
- muteNotifications = (boolean) e.getProperty(MUTE_NOTIFICATIONS);
- }
- return new UserFavoriteEntity(e.getKey(), user, testKey, muteNotifications);
- } catch (ClassCastException exception) {
- // Invalid cast
- logger.log(Level.WARNING, "Error parsing user favorite entity.", exception);
- }
- return null;
- }
-}