Commit 46a27f5d authored by Robert Butora's avatar Robert Butora
Browse files

fixes mcutout response.xml

parent ecaf873d
Loading
Loading
Loading
Loading
+28 −12
Original line number Diff line number Diff line

import java.util.logging.Logger;

import java.util.Iterator;
import java.util.ArrayList;
/* 'JSON-Simple' library */
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@@ -9,7 +12,7 @@ import org.json.simple.parser.ParseException;

public class JdlMCutout
{

   static final Logger LOGGER = Logger.getLogger("JdlMCutout");


   /* used in mcutout to resolve pubdids to pathanme+hdunum */
@@ -89,12 +92,13 @@ public class JdlMCutout
         return "";
      }

      JSONObject objParameters = new JSONObject();
      objParameters.put("cuts", arrCuts);
      //JSONObject objParameters = new JSONObject();
      //objParameters.put("cuts", arrCuts);

      JSONObject obj = new JSONObject();
      obj.put("service",  "MCUTOUT");
      obj.put("parameters",  objParameters);
      //obj.put("parameters",  objParameters);
      obj.put("cuts", arrCuts);

      return obj.toJSONString();
   }
@@ -133,30 +137,42 @@ public class JdlMCutout

            JSONArray jsonArray = (JSONArray)jsonObject.get("responses");

            MCutResult.Cut[] cutResArr = new MCutResult.Cut[jsonArray.size()];
            LOGGER.info("jsonArray.size  [responses]: " + jsonArray.size());
            //MCutResult.Cut[] cutResArr = new MCutResult.Cut[jsonArray.size()];
            //LOGGER.info("cutResArr.length[responses]: " + cutResArr.length);

            ArrayList<MCutResult.Cut> cutResList = new ArrayList<MCutResult.Cut>();

            int i = 0;
            @SuppressWarnings("unchecked")
            Iterator<JSONObject> itr = jsonArray.iterator();
            while (itr.hasNext())
            {
               LOGGER.info("i: " + String.valueOf(i));
               JSONObject jObj = itr.next();

               cutResArr[i].inputs  = (Inputs)jObj.get("input");
               MCutResult mc = new MCutResult();
               MCutResult.Cut cut = mc.new Cut();

               cut.inputs  = null;//(Inputs)jObj.get("input");
               String ctype = (String)jObj.get("type");
               if(ctype.equals("FILENAME"))
                  cutResArr[i].contentType = MCutResult.Cut.ContentType.FILENAME;
                  cut.contentType = MCutResult.Cut.ContentType.FILENAME;
               else if(ctype.equals("BAD_REQUEST"))
                  cutResArr[i].contentType = MCutResult.Cut.ContentType.BAD_REQUEST;
                  cut.contentType = MCutResult.Cut.ContentType.BAD_REQUEST;
               else if(ctype.equals("SERVICE_ERROR"))
                  cutResArr[i].contentType = MCutResult.Cut.ContentType.SERVICE_ERROR;
               cutResArr[i].content = (String)jObj.get("content");
                  cut.contentType = MCutResult.Cut.ContentType.SERVICE_ERROR;

               cut.content = (String)jObj.get("content");
               cut.index = i;// FIXME should come from inputs ?
               cutResList.add(cut);
               i++;
            }

            cuts.fileSize = fileSize;
            cuts.fileName = fileName;
            cuts.cutResArr = cutResArr;
            cuts.cutResArr = cutResList.toArray(new MCutResult.Cut[0]);//cutResArr;
            LOGGER.info("cuts.cutResArr.length[responses]: " + cuts.cutResArr.length);
         }
      }
      catch  (ParseException e)