Package org.geomajas.widget.searchandfilter.search.dto

Examples of org.geomajas.widget.searchandfilter.search.dto.SearchFavourite


      if (sf.getId() == null) {
        sf.setId(idCounter);
        idCounter++;
      } else {
        // do some cleanup if needed
        SearchFavourite persisted = getSearchFavourite(sf.getId());
        if (persisted != null && sf.isShared() != persisted.isShared()) {
          deleteSearchFavourite(persisted);
        }
      }

      if (sf.isShared()) {
View Full Code Here


    }

    @Override
    protected Canvas getExpansionComponent(final ListGridRecord record) {
      final FavouriteListRecord flr = (FavouriteListRecord) record;
      final SearchFavourite fav = flr.getFavourite();
      VLayout layout = new VLayout(5);
      layout.setWidth100();
      layout.setPadding(5);
      VLayout group = new VLayout(5);
      group.setBackgroundColor("white");
      group.setPadding(5);
      group.setIsGroup(true);
      group.setWidth100();
      group.setGroupTitle(messages.favouritesControllerAddGroupTitle());

      final DynamicForm form = new DynamicForm();
      final TextItem nameItem = new TextItem();
      nameItem.setWidth(190);
      nameItem.setTitle(messages.favouritesControllerAddName());
      nameItem.setTooltip(messages.favouritesControllerAddNameTooltip());
      nameItem.setRequired(true);
      final CheckboxItem sharedItem = new CheckboxItem();
      sharedItem.setTitle(messages.favouritesControllerAddShared());
      sharedItem.setTooltip(messages.favouritesControllerAddSharedTooltip());
      final TextItem lastEditItem = new TextItem();
      lastEditItem.setWidth(190);
      lastEditItem.setDisabled(true);
      lastEditItem.setTitle(messages.searchFavouritesListWidgetLastChangeBy());
      final DateItem lastEditDateItem = new DateItem();
      lastEditDateItem.setDisabled(true);
      lastEditDateItem.setUseTextField(true);
      lastEditDateItem.setTitle(messages.searchFavouritesListWidgetLastChange());
      form.setFields(nameItem, sharedItem, lastEditItem, lastEditDateItem);

      HLayout buttonlayout = new HLayout(10);
      buttonlayout.setHeight(20);
      buttonlayout.setWidth100();
      HLayout frmButtonlayout = new HLayout(10);
      frmButtonlayout.setHeight(20);
      frmButtonlayout.setWidth100();

      final IButton saveButton = new IButton(messages.searchFavouritesListWidgetSave());
      saveButton.setIcon(BTN_SAVE_IMG);
      saveButton.setAutoFit(true);
      saveButton.setShowDisabledIcon(false);
      saveButton.setDisabled(true);
      saveButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
          SearchFavourite oldFav = flr.getFavourite();
          SearchFavourite newFav = (SearchFavourite) oldFav.clone();
          newFav.setName(nameItem.getValueAsString());
          newFav.setShared(sharedItem.getValueAsBoolean());
          flr.setFavourite(newFav);
          SearchWidgetRegistry.getFavouritesController().onChangeRequested(
              new FavouriteEvent(oldFav, newFav, SearchFavouritesListPanel.this));
        }
      });

      final IButton cancelButton = new IButton(messages.searchFavouritesListWidgetCancel());
      cancelButton.setIcon(BTN_CANCEL_IMG);
      cancelButton.setAutoFit(true);
      cancelButton.setDisabled(true);
      cancelButton.setShowDisabledIcon(false);
      cancelButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
          FavouritesListGrid.this.collapseRecord(record);
          FavouritesListGrid.this.expandRecord(record);
        }
      });

      form.addItemChangedHandler(new ItemChangedHandler() {
        public void onItemChanged(ItemChangedEvent event) {
          if (saveButton.isDisabled()) {
            saveButton.setDisabled(false);
            cancelButton.setDisabled(false);
          }
        }
      });

      IButton editCritButton = new IButton(messages.searchFavouritesListWidgetEditFilter());
      editCritButton.setIcon(BTN_EDIT_IMG);
      editCritButton.setAutoFit(true);
      editCritButton.setShowDisabledIcon(false);
      editCritButton.setTooltip(messages.searchFavouritesListWidgetEditFilterTooltip());
      editCritButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
          SearchWidget sw = null;
          if (AttributeSearchPanel.canHandle(fav.getCriterion())) {
            sw = SearchWidgetRegistry.getSearchWidgetInstance(AttributeSearchCreator.IDENTIFIER);
          }
          if (sw == null && CombinedSearchPanel.canHandle(fav.getCriterion())) {
            sw = SearchWidgetRegistry.getSearchWidgetInstance(CombinedSearchCreator.IDENTIFIER);
          }
          if (sw == null) {
            SC.say(messages.searchFavouritesListWidgetSearchWindowNotFound());
            return;
          }

          sw.showForSave(new SaveRequestHandler() {
            public void onSaveRequested(SaveRequestEvent event) {
              SearchFavourite oldFav = flr.getFavourite();
              SearchFavourite newFav = (SearchFavourite) oldFav.clone();
              newFav.setCriterion(event.getCriterion());
              flr.setFavourite(newFav);
              SearchWidgetRegistry.getFavouritesController().onChangeRequested(
                  new FavouriteEvent(oldFav, newFav, SearchFavouritesListPanel.this));
            }
          });
View Full Code Here

        throw new GeomajasSecurityException(ExceptionCode.CREDENTIALS_MISSING_OR_INVALID, "Need username.");
      }
    }

    try {
      SearchFavourite sf = searchFavouritesService.getSearchFavourite(request.getSearchFavouriteId());
      if (sf == null) {
        response.setSuccess(false);
        response.getErrorMessages().add("No SearchFavourite found with id: " + request.getSearchFavouriteId());
      } else {
        if (anonymous && !user.equals(sf.getCreator())) {
          response.setSuccess(false);
          response.getErrorMessages().add("User Anonymous can only delete his own favourites.");
        } else {
          searchFavouritesService.deleteSearchFavourite(sf);
          response.setSuccess(true);
View Full Code Here

  @Autowired
  private SecurityContext securityContext;

  public void execute(final SaveSearchFavouriteRequest request, final SaveSearchFavouriteResponse response)
      throws Exception {
    SearchFavourite sf = request.getSearchFavourite();
    if (null == sf) {
      throw new GeomajasException(ExceptionCode.PARAMETER_MISSING, "SearchFavourite");
    }
    if (null == sf.getCriterion()) {
      throw new GeomajasException(ExceptionCode.PARAMETER_MISSING, "Criterion missing.");
    }

    String user = securityContext.getUserName();
    boolean anonymous = false;
    if (user == null || "".equals(user)) {
      if (settings != null && settings.isAllowAnonymous() && settings.isAnonymousCanEdit()) {
        user = "anonymous";
        anonymous = true;
      } else {
        throw new GeomajasSecurityException(ExceptionCode.CREDENTIALS_MISSING_OR_INVALID, "Need username.");
      }
    }

    try {
      // -- new --
      if (sf.getId() == null) {
        sf.setCreator(user);
        sf.setLastChange(new Date());
        sf.setLastChangeBy(user);

        // -- existing
      } else {
        SearchFavourite persisted = searchFavouritesService.getSearchFavourite(sf.getId());
        if (persisted == null) {
          response.getErrorMessages().add("Id is set but not found??");
          return;
        } else {
          if (anonymous && !user.equals(sf.getCreator())) {
            response.getErrorMessages().add("User Anonymous can only delete his own favourites.");
          } else {
            // not trusting client one.
            sf.setCreator(persisted.getCreator());
            sf.setLastChange(new Date());
            sf.setLastChangeBy(user);
          }
        }
      }
View Full Code Here

  private final Set<FavouriteChangeHandler> favouriteHandlers = new HashSet<FavouriteChangeHandler>();

  // ----------------------------------------------------------

  public void onAddRequested(final FavouriteEvent event) {
    final SearchFavourite fav = event.getNewFavourite();
    final Window addWindow = new DockableWindow();
    addWindow.setTitle(messages.favouritesControllerAddTitle());
    addWindow.setWidth(310);
    addWindow.setHeight(145);
    addWindow.setAutoCenter(true);
    addWindow.setShowMinimizeButton(false);
    addWindow.setIsModal(true);
    addWindow.setKeepInParentRect(true);
    //addWindow.setShowModalMask(true);

    VLayout mainLayout = new VLayout(10);
    mainLayout.setMargin(10);

    // ----------------------------------------------------------

    final DynamicForm form = new DynamicForm();
    form.setGroupTitle(messages.favouritesControllerAddGroupTitle());
    form.setIsGroup(true);
    final TextItem nameItem = new TextItem();
    nameItem.setWidth(190);
    nameItem.setTitle(messages.favouritesControllerAddName());
    nameItem.setTooltip(messages.favouritesControllerAddNameTooltip());
    nameItem.setRequired(true);
    final CheckboxItem sharedItem = new CheckboxItem();
    sharedItem.setTitle(messages.favouritesControllerAddShared());
    sharedItem.setTooltip(messages.favouritesControllerAddSharedTooltip());
    form.setFields(nameItem, sharedItem);

    // ----------------------------------------------------------

    HLayout buttonLayout = new HLayout(10);
    buttonLayout.setHeight(20);
    buttonLayout.setWidth100();
    IButton addBtn = new IButton(messages.favouritesControllerAddAdd());
    addBtn.setIcon(BTN_ADD_IMG);
    addBtn.setAutoFit(true);
    addBtn.addClickHandler(new ClickHandler() {
      public void onClick(ClickEvent event) {
        if (form.validate()) {
          addWindow.hide();
          fav.setName(nameItem.getValueAsString());
          fav.setShared(sharedItem.getValueAsBoolean());
          FavouritesCommService.saveSearchFavourite(fav, new DataCallback<SearchFavourite>() {
            public void execute(SearchFavourite result) {
              fireAddEvent(new FavouriteEvent(null, result, FavouritesController.this));
              addWindow.destroy();
            }
View Full Code Here

    }
  }

  private void onAddToFavourites() {
    if (searchPanel.validate()) {
      SearchFavourite fav = new SearchFavourite();
      fav.setCriterion(searchPanel.getFeatureSearchCriterion());
      for (FavouriteRequestHandler handler : favouriteHandlers) {
        handler.onAddRequested(new FavouriteEvent(null, fav, this));
      }
    }
  }
View Full Code Here

TOP

Related Classes of org.geomajas.widget.searchandfilter.search.dto.SearchFavourite

Copyright © 2018 www.massapicom. 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.