Creates SP response data object
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / ServiceProxyExtensions.java
index d283b29..6aeb6ff 100644 (file)
@@ -20,6 +20,7 @@ import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;
 import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
 import com.indexdata.mkjsf.pazpar2.data.Responses;\r
 import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse;\r
+import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
 @Named("pz2x") @SessionScoped\r
@@ -158,17 +159,22 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab
   \r
   public CategoriesResponse getCategories () {\r
     if (pz2.isServiceProxyService()) {\r
-      ResponseDataObject response = pz2.doCommand("categories");\r
-      if (response.hasApplicationError()) {\r
-        logger.debug(response.getXml());\r
+      SpResponseDataObject response = (SpResponseDataObject) pz2.doCommand("categories");\r
+      if (response.unsupportedCommand()) {\r
+        logger.warn("Command 'categories' not supported by this Service Proxy");        \r
         return new CategoriesResponse();\r
       } else {\r
-        try {\r
-          return (CategoriesResponse) response;\r
-        } catch (Exception e) {\r
-          e.printStackTrace();\r
+        if (response.hasApplicationError()) {\r
           logger.debug(response.getXml());\r
           return new CategoriesResponse();\r
+        } else {\r
+          try {\r
+            return (CategoriesResponse) response;\r
+          } catch (Exception e) {\r
+            e.printStackTrace();\r
+            logger.debug(response.getXml());\r
+            return new CategoriesResponse();\r
+          }\r
         }\r
       }\r
     } else {\r