Cleans up SP extension commands
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / sp / CategoriesCommand.java
1 package com.indexdata.mkjsf.pazpar2.commands.sp;\r
2 \r
3 import org.apache.log4j.Logger;\r
4 \r
5 import com.indexdata.mkjsf.pazpar2.Pz2Bean;\r
6 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;\r
7 import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse;\r
8 \r
9 public class CategoriesCommand extends Pazpar2Command implements ServiceProxyCommand {\r
10 \r
11   private static final long serialVersionUID = 5023993689780291641L;\r
12   private static Logger logger = Logger.getLogger(CategoriesCommand.class);\r
13 \r
14   public CategoriesCommand() {\r
15     super("categories");\r
16   }\r
17   \r
18   @Override\r
19   public CategoriesResponse run () {\r
20     if (Pz2Bean.get().getPzresp().getSp().getCategories().unsupportedCommand()) {\r
21       logger.info("Skipping seemingly unsupported categories command");  \r
22       return new CategoriesResponse();\r
23     } else {\r
24       if (Pz2Bean.get().isServiceProxyService()) {\r
25         try {\r
26           CategoriesResponse response = (CategoriesResponse) super.run();\r
27           if (response.unsupportedCommand()) {\r
28             logger.warn("Command 'categories' not supported by this Service Proxy");          \r
29           }\r
30           return response;\r
31         } catch (Exception e) {\r
32           e.printStackTrace();\r
33           return new CategoriesResponse();\r
34         }\r
35       } else {\r
36         return new CategoriesResponse();\r
37       }\r
38     }\r
39   }\r
40 \r
41   @Override\r
42   public Pazpar2Command copy() {\r
43     CategoriesCommand newCommand = new CategoriesCommand();\r
44     return newCommand;\r
45   }\r
46 \r
47   @Override\r
48   public ServiceProxyCommand getSp() {\r
49     return this;\r
50   }\r
51 \r
52   @Override\r
53   public boolean spOnly() {\r
54     return true;\r
55   }\r
56 \r
57 }\r