Examples of RestWrapper


Examples of org.openqreg.rest.RestWrapper

  @Produces(CONTENT_TYPE_WIDGET_ANSWER_JSON)
  @Path("{widgetId}")
  public Response fetch(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token,
      @PathParam("widgetId") String widgetId, AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      rw.setLinks(unAuthorizedLinks);
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    //TODO change to real service
    if (!Dispatcher.getInstance().checkAccess(userId, "GUISETTING_STORE")) {
      rw.setLinks(unAuthorizedLinks);
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }
   
   
    User user = Dispatcher.getInstance().getUser(la.getUserId());
    AjaxWidgetAnswer awa = new AjaxWidgetAnswer();
    // add default answer text, listboxtexts, guisettings, containers
    try {
      addDefaultAnswer(user, awr, awa);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
       
       
    //TODO: the first userId should be id of link, or come up with better solution
    //TODO: think more about where links should be.... is it correct to have only one in this case?
    rw.setLinks(rw.addAuthorizationToLinks(authorizedLinks, widgetId, userId));
    rw.setSuccess(true);

    rw.setData(awa);
    return Response.status(Response.Status.OK).entity(rw).build();
  }
View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @Path("{fileId}")
  public Response delete(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token,
      @PathParam("fileId") Long fileId) {
    // , AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "FILESHARE_UPDATE")) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }
    // TODO: make sure I am allowed to alter this file (I uploaded it)

    // TODO: move the actual work to some other class not in rest package..
    // we have access carry on...
    FileShareAnswer fsa = new FileShareAnswer();

    // FileBean fileBean = fsr.getFile();
    // ObjectMapper mapper = new ObjectMapper(); // can reuse, share
    // // globally
    // Map<String, String> json = null;
    // try {
    // json = mapper.readValue(awr.getJson(),
    // // new TypeReference<Map<String, Object>>() {
    // new TypeReference<Map<String, String>>() {
    // });
    //
    // mapper.readValue(node.get("vendor").getTextValue(), Vendor.class);
    //
    // } catch (Exception e) {
    // // TODO Auto-generated catch block
    // e.printStackTrace();
    // }
    //
    // String fileJson = (String) json.get("file");
    // String fileShareUsersJson = (String) json.get("fileShareUsers");
    //
    // // FileBean fileBean = (FileBean) json.get("file");
    // FileBean fileBean = null;
    // Collection<String> fileShareUsers = null;
    // // try {
    // // fileBean = C((Map)json.get("file"),new TypeReference<FileBean>() {
    // // } );
    // // fileShareUsers =
    // mapper.readValue((String)json.get("fileShareUsers"),
    // // new TypeReference<Collection<String>>() {
    // // } );
    // // } catch (IOException e1) {
    // // // TODO Auto-generated catch block
    // // e1.printStackTrace();
    // // }

    // Collection<String> fileShareUsers = fsr.getFileShareUsers();
    // Collection<String> fileShareUsers = (Collection<String>)
    // json.get("fileShareUsers");
    // fsa.setFile(fileBean);

    Connection con = null;
    try {
      con = DbHandler.getConnection();
      con.setAutoCommit(false);
      FileBean fileBean = (FileBean) FileFinder.findByPrimaryKey(con,
          new FileKey(fileId));

      // service groups
      Collection<FileshareuserBean> col = FileshareuserFinder
          .findByFileid(con, fileBean.getId());
      // loop exsisting FileshareuserBean update or remove based on
      // status
      for (FileshareuserBean fsuBean : col) {
        fsuBean.remove(con);
      }
      fileBean.remove(con);
      con.commit();
    } catch (SQLException sqle) {
      try {
        if (null != con) {
          con.rollback();
        }
      } catch (SQLException e) {
        // getLog().log(Level.ERROR,
        // "createData() error doing rollback: ", e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
            .build();
      }
    } finally {
      if (null != con) {
        try {
          con.close();
        } catch (SQLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          return Response.status(
              Response.Status.INTERNAL_SERVER_ERROR).build();
        }
        con = null;
      }
    }
    rw.setSuccess(true);
    return Response.status(Response.Status.OK).entity(rw).build();
  }
View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @POST
  @Consumes(CONTENT_TYPE_WIDGET_REQUEST_JSON)
  @Produces(CONTENT_TYPE_WIDGET_ANSWER_JSON)
  public Response fetch(@QueryParam("userId") String incomingUserId,
      @QueryParam("userToken") String token, AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();

    // ****************break out? ******************
    String userId = null;
    if (null != incomingUserId) {
      // we have a userId check it....
      // check that user is logged in etc...
      LoginAnswer la = Dispatcher.getInstance().isActive(incomingUserId,
          token);

      // not active user
      if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
        return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
            .build();
      }
      userId = la.getUserId();
    } else {
      // no active user, return unauthorized.
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "ADMIN_TEXTS_PAGE")) {
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }

    User user = Dispatcher.getInstance().getUser(userId);

    rw.setSuccess(true);
    rw.setLinks(getLinks(userId));

    // **************** end break out? ******************
    AjaxWidgetAnswer awa = new AjaxWidgetAnswer();
    rw.setData(awa);
    // add default answer text, listboxtexts, guisettings, containers
    try {
      addDefaultAnswer(user, awr, awa);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    String freeText = null;
    Date dateFrom = null;
    Date dateTo = null;
    Collection<String> lLangs = null;
    Collection<String> lDocs = null;
    try {

      Map<String, Object> filter = getFilterMap(userId, awr);

      freeText = (String) filter.get("freeText");

      if (null != filter.get("dateFrom")
          && !"".equals((String) filter.get("dateFrom"))) {
        dateFrom = Converter.stringToSqlDate((String) filter
            .get("dateFrom"));
      }
      if (null != filter.get("dateTo")
          && !"".equals((String) filter.get("dateTo"))) {
        dateTo = Converter.stringToSqlDate((String) filter
            .get("dateTo"));
      }

      // noOfEntries = NewsFinder.findAllLastFirst(user.getGroupid(),
      // freeText, dateFrom, dateTo).size();
      // TODO: make better search with dates, languages, documents, etc...

      lLangs = (Collection<String>) filter.get("lLangs");
      lDocs = (Collection<String>) filter.get("lDocs");

      Collection<TextBean> col = TextFinder.specSearchStuffGrouped(user,
          99999, "%" + freeText + "%", lLangs, lDocs, dateFrom,
          dateTo);

      // noOfEntries = col.size();
      awa.setStatus(AjaxWidgetAnswer.STATUS_FETCHED);

      // awa.setJson("{\"noOfEntries\":" + noOfEntries + "}");

      int pStart = 0;
      int pEnd = 7;
      int i = 0;
      Collection<RestWrapper> rwCol = new ArrayList<>();

      TransportTextGrouped ttg = null;
      TransportText transportText = null;

      for (TextBean textBean : col) {
        // TODO: optimize this by only getting the ones we want (limit
        // in sql)
        if (i >= pStart && i <= pEnd) {
          ttg = new TransportTextGrouped();
          ttg.setId(textBean.getId());
          ttg.setDocument(textBean.getDocument());
          Collection<TextBean> innerCol = TextFinder
              .findByIdDocument(textBean.getId(),
                  textBean.getDocument());
          Collection<TransportText> transportTextCol = new ArrayList<>();
          for (TextBean textBeanInner : innerCol) {
            transportText = new TransportText();
            transportText.setAutoid(textBeanInner.getAutoid());
            transportText.setId(textBeanInner.getId());
            transportText.setLanguageid(textBeanInner
                .getLanguageid());
            transportText.setText(textBeanInner.getText());
            transportText.setDocument(textBeanInner.getDocument());
            transportText
                .setTscreated(textBeanInner.getTscreated());
            transportText
                .setTsupdated(textBeanInner.getTsupdated());
            transportText
                .setCreatedby(textBeanInner.getCreatedby());
            transportText
                .setUpdatedby(textBeanInner.getUpdatedby());
            transportTextCol.add(transportText);
          }
          ttg.setTransportTextCol(transportTextCol);

          // wrapp in RestWrapper
          RestWrapper rwttg = new RestWrapper();
          // TODO: needs both id and document
          rwttg.setLinks(getLinksForObject(userId, ttg.getDocument(),
              ttg.getId().toString()));
          // rwNews.setData(newsBean);
          rwttg.setData(ttg);
          rwCol.add(rwttg);
        }
        i++;
      }

View Full Code Here

Examples of org.openqreg.rest.RestWrapper

      @QueryParam("userToken") String token,
      @QueryParam("start") Integer start, @QueryParam("end") Integer end,
      @QueryParam("filter") String jsonString) {
    // TreeMap<String, String> filter) {

    RestWrapper rw = new RestWrapper();

    // ****************break out? ******************
    String userId = null;
    if (null != incomingUserId) {
      // we have a userId check it....
      // check that user is logged in etc...
      LoginAnswer la = Dispatcher.getInstance().isActive(incomingUserId,
          token);

      // not active user
      if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
        return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
            .build();
      }
      userId = la.getUserId();
    } else {
      // no active user, return unauthorized.
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "ADMIN_TEXTS_PAGE")) {
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }

    User user = Dispatcher.getInstance().getUser(userId);

    rw.setSuccess(true);
    rw.setLinks(getLinks(userId));

    // **************** end break out? ******************

    String freeText = null;
    Date dateFrom = null;
    Date dateTo = null;
    Collection<String> lLangs = null;
    Collection<String> lDocs = null;
    // Integer noOfEntries = 0;
    try {

      Map<String, Object> json = null;
      if (null != jsonString) {
        json = jsonMapper.readValue(jsonString,
            new TypeReference<Map<String, Object>>() {
            });
      }
      if (null != json) {
        // we may not have a filter...
        @SuppressWarnings("unchecked")
        Map<String, Object> filter = (Map<String, Object>) json
            .get("filter");
        freeText = (String) filter.get("freeText");

        if (null != filter.get("dateFrom")
            && !"".equals((String) filter.get("dateFrom"))) {
          dateFrom = Converter.stringToSqlDate((String) filter
              .get("dateFrom"));
        }
        if (null != filter.get("dateTo")
            && !"".equals((String) filter.get("dateTo"))) {
          dateTo = Converter.stringToSqlDate((String) filter
              .get("dateTo"));
        }
        lLangs = (Collection<String>) filter.get("lLangs");
        lDocs = (Collection<String>) filter.get("lDocs");
      }

      Collection<TextBean> col = TextFinder.specSearchStuffGrouped(user,
          99999, "%" + freeText + "%", lLangs, lDocs, dateFrom,
          dateTo);

      // awa.setJson("{\"noOfEntries\":" + noOfEntries + "}");
      // default to start 0, when just using the base url .../news
      int pStart = null != start ? start : 0;
      // default to end 10, when just using the base url .../news
      int pEnd = null != end ? end : 10;
      int i = 0;
      Collection<String> services = Collections
          .synchronizedList(new ArrayList<String>());
      // Collection<News> nCol = Collections
      // .synchronizedList(new ArrayList<News>());

      Collection<RestWrapper> rwCol = new ArrayList<>();

      TransportTextGrouped ttg = null;
      TransportText transportText = null;

      for (TextBean textBean : col) {
        // TODO: optimize this by only getting the ones we want (limit
        // in sql)
        if (i >= pStart && i <= pEnd) {
          ttg = new TransportTextGrouped();
          ttg.setId(textBean.getId());
          ttg.setDocument(textBean.getDocument());
          Collection<TextBean> innerCol = TextFinder
              .findByIdDocument(textBean.getId(),
                  textBean.getDocument());
          Collection<TransportText> transportTextCol = new ArrayList<>();
          for (TextBean textBeanInner : innerCol) {
            // TODO: can I use beanPopulater here?
            transportText = new TransportText();
            transportText.setAutoid(textBeanInner.getAutoid());
            transportText.setId(textBeanInner.getId());
            transportText.setLanguageid(textBeanInner
                .getLanguageid());
            transportText.setText(textBeanInner.getText());
            transportText.setDocument(textBeanInner.getDocument());
            transportText
                .setTscreated(textBeanInner.getTscreated());
            transportText
                .setTsupdated(textBeanInner.getTsupdated());
            transportText
                .setCreatedby(textBeanInner.getCreatedby());
            transportText
                .setUpdatedby(textBeanInner.getUpdatedby());
            transportTextCol.add(transportText);
          }
          ttg.setTransportTextCol(transportTextCol);

          // wrapp in RestWrapper
          RestWrapper rwttg = new RestWrapper();
          // TODO: needs both id and document
          rwttg.setLinks(getLinksForObject(userId, ttg.getDocument(),
              ttg.getId().toString()));
          // rwNews.setData(newsBean);
          rwttg.setData(ttg);
          rwCol.add(rwttg);
        }
        i++;
      }

View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @Path("{document}/{textId}")
  public Response store(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token,
      @PathParam("document") String document,
      @PathParam("textId") String textId, TransportTextGrouped ttg) {
    RestWrapper rw = new RestWrapper();

    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "ADMIN_TEXTS_PAGE")) {
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }
    // current time to use in sql
    Timestamp now = new Timestamp(System.currentTimeMillis());

    Connection con = null;
    try {
      con = DbHandler.getConnection();
      con.setAutoCommit(false);

      Collection<TextBean> textCol = TextFinder.findByIdDocument(con,
          textId, document);

      // remove old texts
      for (TextBean textBean : textCol) {
        textBean.remove(con);
      }

      // create new texts
      TextBean tempText = null;
      for (TransportText transportText : ttg.getTransportTextCol()) {
        tempText = new TextBean();
        tempText.setDocument(document);
        tempText.setId(textId);
        tempText.setText(transportText.getText());
        tempText.setLanguageid(transportText.getLanguageid());
        tempText.setCreatedby(userId);
        tempText.setUpdatedby(userId);
        tempText.setTscreated(now);
        tempText.setTsupdated(now);
        tempText.create(con);
      }

      con.commit();

    } catch (SQLException sqle) {
      try {
        if (null != con) {
          con.rollback();
        }
      } catch (SQLException e) {
        // getLog().log(Level.ERROR,
        // "createData() error doing rollback: ", e);
        // TODO:return errorcode...
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
            .entity(rw).build();
      }
      return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
          .entity(rw).build();
    } finally {
      if (null != con) {
        try {
          con.close();
        } catch (SQLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          // TODO:return errorcode...
          return Response
              .status(Response.Status.INTERNAL_SERVER_ERROR)
              .entity(rw).build();
        }
        con = null;
      }
    }
    //reload languageHandler
    LanguageHandler.getInstance().reLoad();
   
    // set updated info in transportText
    // transportText.setTsUpdated(textBean.getTsupdated());

    // TODO: the first userId should be id of link, or come up with better
    // solution
    // TODO: think more about where links should be.... is it correct to
    // have only one in this case?
    rw.setLinks(getLinksForObject(userId, document, textId));
    rw.setSuccess(true);
    rw.setData(ttg);
    // TODO: think about if we are to add status to RequestWrapper, or how
    // to
    // communicate what has been done
    // now it is prepared to add status as part of awa stored in request
    // wrapper...
View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @POST
  @Consumes(CONTENT_TYPE_WIDGET_REQUEST_JSON)
  @Produces(CONTENT_TYPE_WIDGET_ANSWER_JSON)
  public Response fetch(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token, AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "ADMIN_SETTINGS_PAGE")) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }

    User user = Dispatcher.getInstance().getUser(la.getUserId());
    AjaxWidgetAnswer awa = new AjaxWidgetAnswer();
    // add default answer text, listboxtexts, guisettings, containers
    try {
      addDefaultAnswer(user, awr, awa);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    rw.setSuccess(true);
    rw.setLinks(getLinks(userId));

    rw.setData(awa);
//    String name = null;
//    String contenttype = null;
//    String freeText = null;
//    String description = null;
//    Date dateFrom = null;
View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @Path("{settingId}")
  public Response store(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token,
      @PathParam("settingId") String settingId,
      TreeMap<String, TreeMap<String, String>> guiSettings) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      rw.setLinks(unAuthorizedLinks);
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "GUISETTING_STORE")) {
      rw.setLinks(unAuthorizedLinks);
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }

    // TODO: move the actual work to some other class not in rest package..
    Collection<GuisettingBean> col = null;

    Connection con = null;
    try {
      con = DbHandler.getConnection();
      con.setAutoCommit(false);
      for (String guiId : guiSettings.keySet()) {
        col = GuisettingFinder.findByUseridGuiid(con, userId, guiId);
        for (GuisettingBean gsb : col) {
          gsb.remove(con);
        }
        TreeMap<String, String> outer = guiSettings.get(guiId);
        for (String key : outer.keySet()) {
          GuisettingBean gsb = new GuisettingBean();
          gsb.setUserid(userId);
          gsb.setCreatedby(userId);
          gsb.setGuiid(guiId);
          gsb.setGuikey(key);
          gsb.setGuivalue(outer.get(key));
          gsb.create(con);
        }
      }
      con.commit();
    } catch (SQLException sqle) {
      try {
        if (null != con) {
          con.rollback();
        }
      } catch (SQLException e) {
        // getLog().log(Level.ERROR,
        // "createData() error doing rollback: ", e);
      }
    } finally {
      if (null != con) {
        try {
          con.close();
        } catch (SQLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        con = null;
      }
    }
    //TODO: the first userId should be id of link, or come up with better solution
    //TODO: think more about where links should be.... is it correct to have only one in this case?
    rw.setLinks(rw.addAuthorizationToLinks(authorizedLinks, settingId, userId));
    rw.setSuccess(true);

    // rw.setData(la);
    return Response.status(Response.Status.OK).entity(rw).build();
  }
View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @POST
  @Consumes(CONTENT_TYPE_WIDGET_REQUEST_JSON)
  @Produces(CONTENT_TYPE_WIDGET_ANSWER_JSON)
  public Response fetch(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token, AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "FILESHARE_DOWNLOAD")) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }

    User user = Dispatcher.getInstance().getUser(la.getUserId());
    AjaxWidgetAnswer awa = new AjaxWidgetAnswer();
    // add default answer text, listboxtexts, guisettings, containers
    try {
      addDefaultAnswer(user, awr, awa);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    // TODO: the first userId should be id of link, or come up with better
    // solution
    rw.setSuccess(true);
    rw.setLinks(getLinks(userId));

    rw.setData(awa);
    String name = null;
    String contenttype = null;
    String freeText = null;
    String description = null;
    Date dateFrom = null;
    Date dateTo = null;

    try {
      Map<String, Object> filter = getFilterMap(userId, awr);

      freeText = (String) filter.get("freeText");

      if (null != filter.get("dateFrom")
          && !"".equals((String) filter.get("dateFrom"))) {
        dateFrom = Converter.stringToSqlDate((String) filter
            .get("dateFrom"));
      }
      if (null != filter.get("dateTo")
          && !"".equals((String) filter.get("dateTo"))) {
        dateTo = Converter.stringToSqlDate((String) filter
            .get("dateTo"));
      }
      Collection<RestWrapper> colRW = new ArrayList<>();
      // Collection<FileBean> col = FileFinder.findByOwner(user.getId());
      Collection<FileBean> col = FileFinder
          .searchByNameContenttypeDescriptionOwnerDateFromDateTo(
              user, 500, freeText, contenttype, description,
              user.getId(), dateFrom, dateTo);
      for (FileBean fb : col) {
        fb.setFileShareUserCol(FileshareuserFinder.findByFileid(fb
            .getId()));
        RestWrapper rwFile = new RestWrapper();
        rwFile.setLinks(getLinksForObject(userId, fb.getId().toString()));

        rwFile.setData(fb);
        colRW.add(rwFile);
      }
      awa.setJson(jsonMapper.writeValueAsString(colRW));
    } catch (Exception e) {
      return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
View Full Code Here

Examples of org.openqreg.rest.RestWrapper

  @Path("{fileId}")
  public Response store(@QueryParam("userId") String userId,
      @QueryParam("userToken") String token,
      @PathParam("fileId") Long fileId, FileShareRequest fsr) {
    // , AjaxWidgetRequest awr) {
    RestWrapper rw = new RestWrapper();
    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }

    // no access to service
    if (!Dispatcher.getInstance().checkAccess(userId, "FILESHARE_UPDATE")) {
      // rw.setLinks(unAuthorizedLinks);
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.FORBIDDEN).entity(rw)
          .build();
    }
    // TODO: make sure I am allowed to alter this file (I uploaded it)

    // TODO: move the actual work to some other class not in rest package..
    // we have access carry on...
    FileShareAnswer fsa = new FileShareAnswer();

    FileBean fileBean = fsr.getFile();
    // ObjectMapper mapper = new ObjectMapper(); // can reuse, share
    // // globally
    // Map<String, String> json = null;
    // try {
    // json = mapper.readValue(awr.getJson(),
    // // new TypeReference<Map<String, Object>>() {
    // new TypeReference<Map<String, String>>() {
    // });
    //
    // mapper.readValue(node.get("vendor").getTextValue(), Vendor.class);
    //
    // } catch (Exception e) {
    // // TODO Auto-generated catch block
    // e.printStackTrace();
    // }
    //
    // String fileJson = (String) json.get("file");
    // String fileShareUsersJson = (String) json.get("fileShareUsers");
    //
    // // FileBean fileBean = (FileBean) json.get("file");
    // FileBean fileBean = null;
    // Collection<String> fileShareUsers = null;
    // // try {
    // // fileBean = C((Map)json.get("file"),new TypeReference<FileBean>() {
    // // } );
    // // fileShareUsers =
    // mapper.readValue((String)json.get("fileShareUsers"),
    // // new TypeReference<Collection<String>>() {
    // // } );
    // // } catch (IOException e1) {
    // // // TODO Auto-generated catch block
    // // e1.printStackTrace();
    // // }

    Collection<String> fileShareUsers = fsr.getFileShareUsers();
    // Collection<String> fileShareUsers = (Collection<String>)
    // json.get("fileShareUsers");
    fsa.setFile(fileBean);

    Connection con = null;
    try {
      con = DbHandler.getConnection();
      con.setAutoCommit(false);
      fileBean.setUpdatedby(userId);
      fileBean.setTsupdated(new Timestamp(System.currentTimeMillis()));
      fileBean.store(con);

      // service groups
      Collection<FileshareuserBean> col = FileshareuserFinder
          .findByFileid(con, fileBean.getId());
      // loop exsisting FileshareuserBean update or remove based on
      // status
      for (FileshareuserBean fsuBean : col) {
        if (!fileShareUsers.contains(fsuBean.getUserid())) {
          fsuBean.remove(con);
        }
        fileShareUsers.remove(fsuBean.getUserid());
      }
      User fileUser;
      // loop remaining services and create them
      for (String uId : fileShareUsers) {
        FileshareuserBean fsuBean = new FileshareuserBean();
        fsuBean.setFileid(fileBean.getId());
        fsuBean.setUserid(uId);
        fileUser = (User) UserFinderBase.findByPrimaryKey(new UserKey(
            uId));
        if (null != fileUser) {
          // set correct label ending up on switch
          fsuBean.setUserdescription(fileUser.getFirstname() + " "
              + fileUser.getLastname());
        }
        fsuBean.create(con);
      }
      con.commit();
      fileBean.setFileShareUserCol(FileshareuserFinder
          .findByFileid(fileBean.getId()));
    } catch (SQLException sqle) {
      try {
        if (null != con) {
          con.rollback();
        }
      } catch (SQLException e) {
        // getLog().log(Level.ERROR,
        // "createData() error doing rollback: ", e);
      }
    } finally {
      if (null != con) {
        try {
          con.close();
        } catch (SQLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        con = null;
      }
    }

    rw.setLinks(getLinksForObject(userId, fileBean.getId().toString()));

    rw.setSuccess(true);

    rw.setData(fsa);
    return Response.status(Response.Status.OK).entity(rw).build();
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.