1 package com.atlassian.refapp.sal.search;
2
3 import com.atlassian.plugin.spring.scanner.annotation.export.ExportAsService;
4 import com.atlassian.sal.api.ApplicationProperties;
5 import com.atlassian.sal.api.search.SearchMatch;
6 import com.atlassian.sal.api.search.SearchProvider;
7 import com.atlassian.sal.api.search.SearchResults;
8 import com.atlassian.sal.api.user.UserKey;
9 import com.atlassian.sal.core.search.BasicResourceType;
10 import com.atlassian.sal.core.search.BasicSearchMatch;
11 import org.apache.log4j.Logger;
12
13 import javax.inject.Inject;
14 import javax.inject.Named;
15 import java.util.ArrayList;
16 import java.util.List;
17
18
19
20
21 @ExportAsService
22 @Named("RefimplSearchProvider")
23 public class RefimplSearchProvider implements SearchProvider {
24 private static final Logger log = Logger.getLogger(RefimplSearchProvider.class);
25 private ApplicationProperties applicationProperties;
26
27 @Inject
28 public RefimplSearchProvider(ApplicationProperties props) {
29 this.applicationProperties = props;
30 }
31
32 public SearchResults search(String username, String searchString) {
33 final List<SearchMatch> matches = new ArrayList<SearchMatch>();
34 matches.add(new BasicSearchMatch("http://foo.com", "My Foo", "This is the excerpt", new BasicResourceType(applicationProperties, "someType")));
35 matches.add(new BasicSearchMatch("http://bar.com", "My Bar", "This is the bar excerpt", new BasicResourceType(applicationProperties, "someType2")));
36 return new SearchResults(matches, 2, 666);
37 }
38
39 @Override
40 public SearchResults search(UserKey userKey, String searchString) {
41 if (userKey != null) {
42 return search(userKey.getStringValue(), searchString);
43 }
44 return null;
45 }
46 }