View Javadoc
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  }