SearchView.java
2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package org.legrog.web.xyz;
import org.legrog.entities.Account;
import org.legrog.entities.PublisherVersion;
import org.legrog.entities.SearchingException;
import org.legrog.web.account.AccountService;
import org.legrog.web.publisher.PublisherService;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* View behind search.xhtml
*/
@Named
@RequestScoped
public class SearchView implements Serializable {
List<PublisherVersion> publisherVersions = new ArrayList<>();
List<Account> accounts = new ArrayList<>();
String searchString = new String();
transient PublisherService publisherService;
transient AccountService accountService;
/**
* Uses PublisherService to access search repository
*
* @param publisherService injected PublisherService
* @param accountService injected AccountService
*/
@Inject
public SearchView(PublisherService publisherService, AccountService accountService) {
this.publisherService = publisherService;
this.accountService = accountService;
}
SearchView() {
//no args constructor to make it proxyable
}
/**
*
* @return whether search with non-empty string has returned an empty result for publishers
*/
public boolean publisherSearchEmpty() {
return !searchString.isEmpty() && publisherVersions.isEmpty();
}
/**
*
* @return whether search with non-empty string has returned an empty result for accounts
*/
public boolean accountSearchEmpty() {
return !searchString.isEmpty() && accounts.isEmpty();
}
/**
* Searches for all types included gere containing searchString
*/
public void search() throws SearchingException {
this.publisherVersions = publisherService.search(this.searchString);
this.accounts = accountService.search(this.searchString);
}
/**
* Sets view up according to availability of Id in stringId
*/
public String getSearchString() {
return searchString;
}
public void setSearchString(String searchString) {
this.searchString = searchString;
}
public List<Account> getAccounts() {
return accounts;
}
public void setAccounts(List<Account> accounts) {
this.accounts = accounts;
}
public List<PublisherVersion> getPublisherVersions() {
return publisherVersions;
}
public void setPublisherVersions(List<PublisherVersion> publisherVersions) {
this.publisherVersions = publisherVersions;
}
}