protected void onPostExecute(String result) {
    super.onPostExecute(result);
    progressDialog.dismiss();

    Log.i("TAG", "onPostExcecute");
    Log.i("TAG", String.valueOf(similarProductListDTO.size()));
    Log.i("TAG", String.valueOf(productDetailDTO.imagePath));

    similarProductListView.setAdapter(
        new SimilarProductListAdapter(context, similarProductListDTO, imageLoader, options));

    productName.setText(productDetailDTO.getPdtName());
    productType.setText(productDetailDTO.getPdtType());
    productBrandDetail.setText(productDetailDTO.getPdtBrand());
    productFeaturePrice.setText(productDetailDTO.getPdtFeaturedPrice());
    productFeatureDecimalPrice.setText("00");
    productPrice.setText(productDetailDTO.getPdtPrice());
    productDecimalPrice.setText("00");
    productAvailable.setText(productDetailDTO.getIsStockout());
    productDesc.setText(productDetailDTO.getPdtDesc());

    imageLoader.displayImage(productDetailDTO.getImagePath(), productImageView, options);

    //		((Activity) context).runOnUiThread(new Runnable(){
    //		    public void run(){
    //		        imageLoader.displayImage(productDetailDTO.getImagePath(), productImageView,
    // options);
    //		        Log.i("TAG", "ImagePath"+":"+String.valueOf(productDetailDTO.imagePath)+ " "
    //		        +"ImageView"+ productImageView
    //		        		);
    //		    }
    //		});
  }
  /*
   * Parse JSON with JackSON Parser directly into Java Objects
   */
  @SuppressWarnings("deprecation")
  public void parseJSON() throws JsonParseException, IOException {
    JsonFactory f = new JsonFactory();
    boolean breakLoop = false;
    boolean breakOuterLoop = false;
    boolean emptySimilarProduct = true;
    JsonParser jp = null;
    try {
      //				jp = f.createJsonParser(context.getAssets().open("kadajsondata.txt"));
      jp =
          f.createJsonParser(
              RestClient.connect(
                  AppConstants.URLS.PRODUCT_DETAIL_URL
                      + urlProductId
                      + "&intProductVersionId="
                      + urlVersionId));
    } catch (JsonParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    while (jp.nextToken() != JsonToken.END_ARRAY) {
      if (breakOuterLoop) {
        break;
      }
      String fieldname = jp.getCurrentName();
      if ("ProductDetails".equals(fieldname)) {
        while (jp.nextToken() != JsonToken.END_ARRAY) {
          //						if ("}".equals(jp.getText())) {
          //							productDetailDTO = new ProductDetailDTO();
          //						}
          if (jp.getText().equals(JsonToken.END_OBJECT)) {
            break;
          }

          String responsefield = jp.getCurrentName();
          jp.nextToken(); // move to value

          if ("pdtId".equals(responsefield)) {
            productDetailDTO.setPdtId(jp.getText());
          } else if ("versionId".equals(responsefield)) {
            productDetailDTO.setVersionId(jp.getText());
          } else if ("pdtName".equals(responsefield)) {
            productDetailDTO.setPdtName(jp.getText());
          } else if ("isFeatured".equals(responsefield)) {
            productDetailDTO.setIsFeatured(jp.getText());
          } else if ("pdtFeaturedPrice".equals(responsefield)) {
            productDetailDTO.setPdtFeaturedPrice(jp.getText());
          } else if ("pdtPrice".equals(responsefield)) {
            productDetailDTO.setPdtPrice(jp.getText());
          } else if ("isStockout".equals(responsefield)) {
            productDetailDTO.setIsStockout(jp.getText());
          } else if ("isLimited".equals(responsefield)) {
            productDetailDTO.setIsLimited(jp.getText());
          } else if ("pdtBrand".equals(responsefield)) {
            productDetailDTO.setPdtBrand(jp.getText());
          } else if ("pdtDesc".equals(responsefield)) {
            productDetailDTO.setPdtDesc(jp.getText());
          } else if ("pdtType".equals(responsefield)) {
            productDetailDTO.setPdtType(jp.getText());
          } else if ("isFoodCoupon".equals(responsefield)) {
            productDetailDTO.setIsFoodCoupon(jp.getText());
          } else if ("stockAvailable".equals(responsefield)) {
            productDetailDTO.setStockAvailable(jp.getText());
          } else if ("imagePath".equals(responsefield)) {
            productDetailDTO.setImagePath(jp.getText());
          } else if ("SimilarProducts".equals(responsefield)) {
            jp.nextToken();
            if (jp.getText().equals("]")) {
              emptySimilarProduct = false;
              jp.nextToken();
              String responseImagePath = jp.getCurrentName();
              jp.nextToken(); // move to value
              if ("imagePath".equals(responseImagePath)) {
                productDetailDTO.setImagePath(jp.getText());
              }
            }
            while (jp.nextToken() != JsonToken.END_ARRAY && emptySimilarProduct) {
              if ("}".equals(jp.getText())) {
                similarProductListDTO.add(similarProductDTO);
                similarProductDTO = new SimilarProductDTO();
              }
              if (jp.getText().equals(JsonToken.END_OBJECT)) {
                break;
              }

              String responsefield1 = jp.getCurrentName();
              jp.nextToken(); // move to value

              if ("pdtId".equals(responsefield1)) {
                similarProductDTO.setPdtId(jp.getText());
              } else if ("versionId".equals(responsefield1)) {
                similarProductDTO.setVersionId(jp.getText());
              } else if ("pdtName".equals(responsefield1)) {
                similarProductDTO.setPdtName(jp.getText());
              } else if ("isFeatured".equals(responsefield1)) {
                similarProductDTO.setIsFeatured(jp.getText());
              } else if ("pdtFeaturedPrice".equals(responsefield1)) {
                similarProductDTO.setPdtFeaturedPrice(jp.getText());
              } else if ("pdtPrice".equals(responsefield1)) {
                similarProductDTO.setPdtPrice(jp.getText());
              } else if ("isStockout".equals(responsefield1)) {
                similarProductDTO.setIsStockout(jp.getText());
              } else if ("isLimited".equals(responsefield1)) {
                similarProductDTO.setIsLimited(jp.getText());
              } else if ("isFoodCoupon".equals(responsefield1)) {
                similarProductDTO.setIsFoodCoupon(jp.getText());
              } else if ("stockAvailable".equals(responsefield1)) {
                similarProductDTO.setStockAvailable(jp.getText());
              } else if ("imagePath".equals(responsefield1)) {
                similarProductDTO.setImagePath(jp.getText());
              } else if (jp.getText().equals("]")) {
                Log.i("Jackson", "Outta Similar Products");
                breakLoop = true;
                break;
              } else {
                Log.i("Jackson", "Unrecognized Token");
              }
            }
          } else if (jp.getText().equals("]")) {
            Log.i("Jackson", "Outta ProductDetail");
            breakOuterLoop = true;
            break;
          } else {
            Log.i("Jackson", "Unrecognized Token");
          }
        }
      }
    }
    jp.close();
  }