• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mybatis / jpetstore-6 / #1229

pending completion
#1229

push

github

web-flow
Merge pull request #710 from mybatis/renovate/org.apache.maven.plugins-maven-failsafe-plugin-3.x

chore(deps): update dependency org.apache.maven.plugins:maven-failsafe-plugin to v3.1.2

421 of 612 relevant lines covered (68.79%)

0.69 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

20.41
/src/main/java/org/mybatis/jpetstore/web/actions/AccountActionBean.java
1
/*
2
 *    Copyright 2010-2022 the original author or authors.
3
 *
4
 *    Licensed under the Apache License, Version 2.0 (the "License");
5
 *    you may not use this file except in compliance with the License.
6
 *    You may obtain a copy of the License at
7
 *
8
 *       https://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 *    Unless required by applicable law or agreed to in writing, software
11
 *    distributed under the License is distributed on an "AS IS" BASIS,
12
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 *    See the License for the specific language governing permissions and
14
 *    limitations under the License.
15
 */
16
package org.mybatis.jpetstore.web.actions;
17

18
import java.util.Arrays;
19
import java.util.Collections;
20
import java.util.List;
21

22
import javax.servlet.http.HttpSession;
23

24
import net.sourceforge.stripes.action.DefaultHandler;
25
import net.sourceforge.stripes.action.ForwardResolution;
26
import net.sourceforge.stripes.action.RedirectResolution;
27
import net.sourceforge.stripes.action.Resolution;
28
import net.sourceforge.stripes.action.SessionScope;
29
import net.sourceforge.stripes.integration.spring.SpringBean;
30
import net.sourceforge.stripes.validation.Validate;
31

32
import org.mybatis.jpetstore.domain.Account;
33
import org.mybatis.jpetstore.domain.Product;
34
import org.mybatis.jpetstore.service.AccountService;
35
import org.mybatis.jpetstore.service.CatalogService;
36

37
/**
38
 * The Class AccountActionBean.
39
 *
40
 * @author Eduardo Macarron
41
 */
42
@SessionScope
43
public class AccountActionBean extends AbstractActionBean {
1✔
44

45
  private static final long serialVersionUID = 5499663666155758178L;
46

47
  private static final String NEW_ACCOUNT = "/WEB-INF/jsp/account/NewAccountForm.jsp";
48
  private static final String EDIT_ACCOUNT = "/WEB-INF/jsp/account/EditAccountForm.jsp";
49
  private static final String SIGNON = "/WEB-INF/jsp/account/SignonForm.jsp";
50

51
  private static final List<String> LANGUAGE_LIST;
52
  private static final List<String> CATEGORY_LIST;
53

54
  @SpringBean
55
  private transient AccountService accountService;
56
  @SpringBean
57
  private transient CatalogService catalogService;
58

59
  private Account account = new Account();
1✔
60
  private List<Product> myList;
61
  private boolean authenticated;
62

63
  static {
64
    LANGUAGE_LIST = Collections.unmodifiableList(Arrays.asList("english", "japanese"));
1✔
65
    CATEGORY_LIST = Collections.unmodifiableList(Arrays.asList("FISH", "DOGS", "REPTILES", "CATS", "BIRDS"));
1✔
66
  }
1✔
67

68
  public Account getAccount() {
69
    return this.account;
1✔
70
  }
71

72
  public String getUsername() {
73
    return account.getUsername();
1✔
74
  }
75

76
  @Validate(required = true, on = { "signon", "newAccount", "editAccount" })
77
  public void setUsername(String username) {
78
    account.setUsername(username);
×
79
  }
×
80

81
  public String getPassword() {
82
    return account.getPassword();
1✔
83
  }
84

85
  @Validate(required = true, on = { "signon", "newAccount", "editAccount" })
86
  public void setPassword(String password) {
87
    account.setPassword(password);
×
88
  }
×
89

90
  public List<Product> getMyList() {
91
    return myList;
1✔
92
  }
93

94
  public void setMyList(List<Product> myList) {
95
    this.myList = myList;
×
96
  }
×
97

98
  public List<String> getLanguages() {
99
    return LANGUAGE_LIST;
×
100
  }
101

102
  public List<String> getCategories() {
103
    return CATEGORY_LIST;
×
104
  }
105

106
  public Resolution newAccountForm() {
107
    return new ForwardResolution(NEW_ACCOUNT);
×
108
  }
109

110
  /**
111
   * New account.
112
   *
113
   * @return the resolution
114
   */
115
  public Resolution newAccount() {
116
    accountService.insertAccount(account);
×
117
    account = accountService.getAccount(account.getUsername());
×
118
    myList = catalogService.getProductListByCategory(account.getFavouriteCategoryId());
×
119
    authenticated = true;
×
120
    return new RedirectResolution(CatalogActionBean.class);
×
121
  }
122

123
  /**
124
   * Edits the account form.
125
   *
126
   * @return the resolution
127
   */
128
  public Resolution editAccountForm() {
129
    return new ForwardResolution(EDIT_ACCOUNT);
×
130
  }
131

132
  /**
133
   * Edits the account.
134
   *
135
   * @return the resolution
136
   */
137
  public Resolution editAccount() {
138
    accountService.updateAccount(account);
×
139
    account = accountService.getAccount(account.getUsername());
×
140
    myList = catalogService.getProductListByCategory(account.getFavouriteCategoryId());
×
141
    return new RedirectResolution(CatalogActionBean.class);
×
142
  }
143

144
  /**
145
   * Signon form.
146
   *
147
   * @return the resolution
148
   */
149
  @DefaultHandler
150
  public Resolution signonForm() {
151
    return new ForwardResolution(SIGNON);
×
152
  }
153

154
  /**
155
   * Signon.
156
   *
157
   * @return the resolution
158
   */
159
  public Resolution signon() {
160

161
    account = accountService.getAccount(getUsername(), getPassword());
×
162

163
    if (account == null) {
×
164
      String value = "Invalid username or password.  Signon failed.";
×
165
      setMessage(value);
×
166
      clear();
×
167
      return new ForwardResolution(SIGNON);
×
168
    } else {
169
      account.setPassword(null);
×
170
      myList = catalogService.getProductListByCategory(account.getFavouriteCategoryId());
×
171
      authenticated = true;
×
172
      HttpSession s = context.getRequest().getSession();
×
173
      // this bean is already registered as /actions/Account.action
174
      s.setAttribute("accountBean", this);
×
175
      return new RedirectResolution(CatalogActionBean.class);
×
176
    }
177
  }
178

179
  /**
180
   * Signoff.
181
   *
182
   * @return the resolution
183
   */
184
  public Resolution signoff() {
185
    context.getRequest().getSession().invalidate();
×
186
    clear();
×
187
    return new RedirectResolution(CatalogActionBean.class);
×
188
  }
189

190
  /**
191
   * Checks if is authenticated.
192
   *
193
   * @return true, if is authenticated
194
   */
195
  public boolean isAuthenticated() {
196
    return authenticated && account != null && account.getUsername() != null;
1✔
197
  }
198

199
  /**
200
   * Clear.
201
   */
202
  public void clear() {
203
    account = new Account();
×
204
    myList = null;
×
205
    authenticated = false;
×
206
  }
×
207

208
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc