Example usage for org.apache.wicket.markup.html.link Link Link

List of usage examples for org.apache.wicket.markup.html.link Link Link

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.link Link Link.

Prototype

public Link(final String id) 

Source Link

Usage

From source file:com.przemo.projectmanagementweb.pages.ProjectsPage.java

public ProjectsPage() {

    ListView<Projects> view = new ListView("plist", projectService.getAllProjects()) {

        @Override//from   w  w w .jav  a 2  s .  co m
        protected void populateItem(ListItem li) {
            Link l = new Link("link") {

                @Override
                public void onClick() {
                    setResponsePage(new ProjectPage(new CompoundPropertyModel<>(li.getModel())));
                }

            };
            l.add(new Label("name", new PropertyModel(li.getModel(), "name")));
            li.add(l);
        }

    };
    add(view);
    add(new Link("new_project_link") {

        @Override
        public void onClick() {
            setResponsePage(new ProjectPage(new CompoundPropertyModel<>(new Projects())));
        }

    });
}

From source file:com.przemo.projectmanagementweb.pages.SprintPage.java

public SprintPage(IModel<Sprint> model) {
    super(model);
    Form f = new Form("form") {
        @Override//from  w  w  w .j av  a 2  s  . c o  m
        protected void onSubmit() {
            try {
                sprintService.saveSprint(model.getObject());
                success("Sprint saved successfully.");
                //setResponsePage(SprintsListPage.class);
            } catch (Exception ex) {
                error(ex.getMessage());
            }
        }
    };
    add(new Link("newtasklink") {
        @Override
        public void onClick() {
            Task t = taskService.createNewTask();
            t.setSprint(model.getObject());
            setResponsePage(new TaskPage(new CompoundPropertyModel<>(t)));
        }
    });

    f.add(new TextField("name"));
    f.add(new TextField<>("startDate"));
    f.add(new TextField("endDate"));

    f.add(new Label("timeAvailable", sprintService.getAvailableTime(model.getObject())));
    f.add(new Label("timeElapsed", Model.of(timeLogService.getTimeLoggedForSprint(model.getObject().getId()))));
    f.add(new Label("sprintStatus.name"));
    add(f);

    Form closeSprint = new Form("closeSprintForm") {
        @Override
        protected void onSubmit() {
            try {
                sprintService.saveSprintWithStatus(model.getObject(), "Closed");
            } catch (SprintServiceSaveException ex) {
                Logger.getLogger(SprintPage.class.getName()).log(Level.SEVERE, null, ex);
                error(ex.getMessage());
            }
            setResponsePage(SprintsListPage.class);
        }
    };
    add(closeSprint);
    closeSprint.setVisible(model.getObject().getSprintStatus() == null
            || !model.getObject().getSprintStatus().getName().equals("Closed"));

    Form currentSprint = new Form("currentSprintForm") {
        @Override
        protected void onSubmit() {
            try {
                sprintService.saveSprintWithStatus(model.getObject(), "Current");
            } catch (SprintServiceSaveException ex) {
                Logger.getLogger(SprintPage.class.getName()).log(Level.SEVERE, null, ex);
                error(ex.getMessage());
            }
            setResponsePage(SprintsListPage.class);
        }

    };
    add(currentSprint);
    currentSprint.setVisible(model.getObject().getSprintStatus() == null
            || !(model.getObject().getSprintStatus().getName().equals("Current")
                    || model.getObject().getSprintStatus().getName().equals("Closed")));
    //instead of a single task panel, task panels for different sprint flows are rendered
    renderSprintFlowTaskLists(model);
}

From source file:com.przemo.projectmanagementweb.pages.SprintsListPage.java

public SprintsListPage() {
    add(new Link("newsprintlink") {
        @Override/*w w  w  . java 2  s.c o  m*/
        public void onClick() {
            setResponsePage(new SprintPage(new CompoundPropertyModel<>(new Sprint())));
        }
    });
    add(new SprintsListPanel("sprintsList", new CompoundPropertyModel<>(sprintService.retrieveAllSprints())));
}

From source file:com.przemo.projectmanagementweb.pages.TaskPage.java

public TaskPage(IModel<Task> model) {
    super(model);

    Duration timeLogged = timeLogService.getTimeLoggedForTask(model.getObject().getId());
    long minutes = timeLogged.toMinutes() - timeLogged.toHours() * 60;
    Form form = new Form("form") {
        @Override/*from w w w .j  av  a  2 s . c  o m*/
        protected void onSubmit() {
            if (taskService.saveTask(model.getObject()) == 0) {
                success("Task saved.");
            } else {
                error("Task could not be saved.");
            }
        }
    };
    form.add(new TextField("title"));
    form.add(new TextArea("description"));
    form.add(new TextField("estimatedTime"));
    form.add(new Label("summaryTime", Model.of(timeLogged.toHours() + " hours, " + minutes + " minutes.")));
    form.add(new TextField("users.email"));
    form.add(new DropDownChoice("taskType", taskService.getTaskTypes(), new ChoiceRenderer<TaskType>() {
        @Override
        public Object getDisplayValue(TaskType object) {
            return object.getName();
        }

        @Override
        public String getIdValue(TaskType object, int index) {
            return String.valueOf(object.getId());
        }

    }).setEnabled(!ticketIsClosed(model.getObject())));

    List<Sprint> sprintOptions = new ArrayList<>();
    sprintOptions.add(null);
    sprintOptions.addAll(sprintService.retrieveAllSprints());
    form.add(new DropDownChoice<>("sprint", sprintOptions, new ChoiceRenderer<Sprint>() {
        @Override
        public Object getDisplayValue(Sprint object) {
            if (object == null) {
                return "No Sprint";
            }
            return object.getName();
        }

        @Override
        public String getIdValue(Sprint object, int index) {
            if (object != null) {
                return String.valueOf(object.getId());
            } else {
                return "";
            }
        }
    }).setEnabled(!ticketIsClosed(model.getObject())));
    form.add(new DropDownChoice("status", taskService.getAvailableStatuses(), new ChoiceRenderer<Status>() {
        @Override
        public Object getDisplayValue(Status object) {
            return object.getName();
        }

        @Override
        public String getIdValue(Status object, int index) {
            return String.valueOf(object.getId());
        }
    }));
    form.add(new DropDownChoice("projects", projectsService.getAllProjects(), new ChoiceRenderer<Projects>() {
        @Override
        public Object getDisplayValue(Projects object) {
            return object.getName();
        }

        @Override
        public String getIdValue(Projects object, int index) {
            return String.valueOf(object.getId());
        }
    }).setEnabled(!ticketIsClosed(model.getObject())));

    RepeatingView view = new RepeatingView("taskCommentses");
    commentsService.getCommentsForTask(model.getObject().getId()).stream().forEach((tc) -> {
        view.add(new CommentsItemControl(view.newChildId(), new CompoundPropertyModel<>(tc)));
    });
    add(view);

    RepeatingView timeView = new RepeatingView("timelog_entry");
    timeLogService.getTimeLogs(model.getObject().getId()).stream().forEach((tl -> timeView
            .add(new TimeLogViewControl(timeView.newChildId(), new CompoundPropertyModel<>(tl)))));
    add(timeView);

    add(new Link("newentrylink") {
        @Override
        public void onClick() {
            setResponsePage(new TimeLogEntryPage(new CompoundPropertyModel<>(new TimeLog()),
                    model.getObject().getId()));
        }

    });

    add(new Link("newcommentslink") {
        @Override
        public void onClick() {
            TaskComments tc = new TaskComments();
            tc.setTask(model.getObject().getId());
            tc.setUsers(getCurrentUser());
            tc.setDate(new Date());
            setResponsePage(new CommentEditPage(new CompoundPropertyModel<>(tc)));
        }
    });

    add(form);
    add(new Label("id",
            Model.of(model.getObject().getId() > 0 ? "Task No. " + model.getObject().getId() : "")));
    //Form should be disabled if closed
    if (ticketIsClosed(model.getObject())) {
        disableTaskForm(form, model);
    }
}

From source file:com.przemo.projectmanagementweb.pages.TasksPage.java

public TasksPage() {
    add(new Link("newtasklink") {
        @Override//  w  w w  .ja v a 2 s.  c om
        public void onClick() {
            setResponsePage(new TaskPage(new CompoundPropertyModel<>(taskService.createNewTask())));
        }

    });
    add(new TasksListPanel("tasksList", new CompoundPropertyModel<>(taskService.getAllTasks())));
}

From source file:com.przemo.projectmanagementweb.pages.UserActivationPage.java

public UserActivationPage(final String code) {
    super();/*from  ww w .  jav a 2  s. co  m*/
    add(new Link("loginLink") {
        @Override
        public void onClick() {
            setResponsePage(LoginPage.class);
        }
    });
    if (userManagementService.activateUser(code)) {
        add(new Label("activation", Model.of("Activation successful. Go to Login Page.")));
    } else {
        add(new Label("activation",
                Model.of("Activation could not be finalised. Your code may have expired.")));
    }

}

From source file:com.rex.crm.TemplatePage.java

License:Apache License

/**
 * Constructor/*from   w w  w  .j a va2s . co m*/
 */
public TemplatePage() {

    final int roleId = ((SignIn2Session) getSession()).getRoleId();
    add(new Label("title", new PropertyModel<String>(this, "pageTitle")));
    UserInfo user = DAOImpl.getUserInfoById(Integer.parseInt(((SignIn2Session) getSession()).getUserId()));

    //TODO get function work with real id
    List<String> menulist = DAOImpl.getMenuByRole(roleId);

    //populate menu items. TODO componentize it. pass arg: menuList
    ArrayList<MenuItem> menu = Lists.newArrayList();
    for (String key : menulist) {
        menu.add(pageMenuMap.get(key));
    }

    //@SuppressWarnings("unchecked")
    ListView lv = new ListView("menu", menu) {
        @Override
        protected void populateItem(ListItem item) {
            MenuItem menuitem = (MenuItem) item.getModelObject();
            BookmarkablePageLink link = new BookmarkablePageLink("link", menuitem.getDestination());
            link.add(new Label("caption", menuitem.getCaption()).setEscapeModelStrings(false));
            item.add(link);
            item.add(new AttributeAppender("id", Model.of(menuitem.getId())));
            // item.add(new SimpleAttributeModifier("class", "my-css-class"));

        }
    };
    add(lv);

    add(new Link("signout_link") {

        @Override
        public void onClick() {
            SignIn2Session session = (SignIn2Session) getSession();
            LogInOut loginout = new LogInOut();
            loginout.setLoginName(session.getUser());
            loginout.setLogints(System.currentTimeMillis());
            loginout.setSessionId(session.getId());
            CRMUtility.printStat(CRMUtility.STAT_LOG_IN_OUT, loginout, LogInOut.class);
            session.invalidate();
            this.setResponsePage(SignIn.class);
        }

    });

    BookmarkablePageLink user_settings_link = new BookmarkablePageLink("user_settings_link",
            UserDeatialInfo.class);
    add(user_settings_link);
    user_settings_link.add(new Label("loginName", user.getName()));

    WebMarkupContainer admin_menu = new WebMarkupContainer("admin_menu");
    add(admin_menu);
    BookmarkablePageLink adminTreePage = new BookmarkablePageLink("adminTreePage", AdminTreePage.class);
    admin_menu.add(adminTreePage);

    //        BookmarkablePageLink positionTreePage = new BookmarkablePageLink("positionTreePage",PositionTreePage.class );
    //        admin_menu.add(positionTreePage);

    BookmarkablePageLink productTreePage = new BookmarkablePageLink("productTreePage", ProductTreePage.class);
    admin_menu.add(productTreePage);

    BookmarkablePageLink positionPage = new BookmarkablePageLink("positionPage", PositionPage.class);
    admin_menu.add(positionPage);

    //        BookmarkablePageLink reportPage = new BookmarkablePageLink("reportPage",ReportPage.class );
    //        admin_menu.add(reportPage);

    //        BookmarkablePageLink downloadPage = new BookmarkablePageLink("downloadPage",DownloadPage.class );
    //        admin_menu.add(downloadPage);

    BookmarkablePageLink userPage = new BookmarkablePageLink("userPage", UserPage.class);
    admin_menu.add(userPage);

    BookmarkablePageLink userPositionPage = new BookmarkablePageLink("userPositionPage",
            UserPositionPage.class);
    admin_menu.add(userPositionPage);

    //        BookmarkablePageLink productPage = new BookmarkablePageLink("productPage",ProductPage.class );
    //        admin_menu.add(productPage);

    BookmarkablePageLink dataImportPage = new BookmarkablePageLink("dataImportPage", DataImportPage.class);
    admin_menu.add(dataImportPage);
    BookmarkablePageLink alertPage = new BookmarkablePageLink("alertPage", AlertPage.class);
    admin_menu.add(alertPage);

    BookmarkablePageLink areaPage = new BookmarkablePageLink("areaPage", AreaPage.class);
    admin_menu.add(areaPage);
    //        
    //        BookmarkablePageLink applicationPage = new BookmarkablePageLink("applicationPage",AreaPage.class );
    //        admin_menu.add(applicationPage);
    //        
    //        BookmarkablePageLink flowPage = new BookmarkablePageLink("flowPage",AreaPage.class );
    //        admin_menu.add(flowPage);
    //        
    //        BookmarkablePageLink jurisdictionPage = new BookmarkablePageLink("jurisdictionPage",AreaPage.class );
    //        admin_menu.add(jurisdictionPage);
    //        
    //        BookmarkablePageLink contentPage = new BookmarkablePageLink("contentPage",AreaPage.class );
    //        admin_menu.add(contentPage);
    //        
    //        BookmarkablePageLink integrationPage = new BookmarkablePageLink("integrationPage",AreaPage.class );
    //        admin_menu.add(integrationPage);

    BookmarkablePageLink importLogPage = new BookmarkablePageLink("importLog", ImportLogPage.class);
    admin_menu.add(importLogPage);

    //        BookmarkablePageLink merge_data = new BookmarkablePageLink("merge_data",MergePage.class );
    //        admin_menu.add(merge_data);

    admin_menu.setVisible(false);
    if (roleId == 1)
        admin_menu.setVisible(true);

    //end of populate menu items

    AbstractAjaxBehavior ajaxBehaviour = new AbstractAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        public void onRequest() {
            RequestCycle requestCycle = RequestCycle.get();
            readRequestData(requestCycle);
        }

        private void readRequestData(final RequestCycle requestCycle) {
            WebRequest wr = (WebRequest) requestCycle.getRequest();

            HttpServletRequest hsr = (HttpServletRequest) wr.getContainerRequest();
            String response = "{}";
            try {
                BufferedReader br = hsr.getReader();

                String jsonString = br.readLine();
                if ((jsonString == null) || jsonString.isEmpty()) {
                    logger.debug(" no json found");
                } else {
                    logger.debug(" json  is :" + jsonString);
                }
                FunctionClass method = new Gson().fromJson(jsonString, FunctionClass.class);

                FunctionInvoker invoker = new FunctionInvoker(DataProvider.class);
                System.out.println(" method:" + method);
                response = (String) invoker.invoke(method.getF(), method.getP());
                System.out.println("response:" + response);

                br.close();
            } catch (Exception e) {
                e.printStackTrace();
            }

            requestCycle
                    .replaceAllRequestHandlers(new TextRequestHandler("application/json", "UTF-8", response));

        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);

            final String posId = ((SignIn2Session) getSession()).getPositionId();
            String callbackUrl = getCallbackUrl().toString();

            Map<String, Object> map = new HashMap<>();
            map.put("userInfo", DataProvider.getCRMUserInfoById(new String[] { posId }));
            map.put("ajaxURL", callbackUrl);
            //map.put("allUsers", DataProvider.getAllCRMUsers(new String[0]));
            //map.put("allAccounts", DataProvider.getAllAccounts(new String[0]));
            map.put("context_name", getRootContext());

            PackageTextTemplate ptt = new PackageTextTemplate(getClass(), "template.js");
            //System.out.println(ptt.asString(map));
            response.render(JavaScriptHeaderItem.forScript(ptt.asString(map), null));
            try {
                ptt.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    };
    add(ajaxBehaviour);

}

From source file:com.romeikat.datamessie.core.base.ui.page.AbstractAuthenticatedPage.java

License:Open Source License

private void initialize() {
    // Active project
    final IModel<ProjectDto> activeProjectModel = new LoadableDetachableModel<ProjectDto>() {

        private static final long serialVersionUID = 1L;

        @Override/*from w  ww  .j  a  va  2  s .c om*/
        protected ProjectDto load() {
            // Determine requested project id
            final StringValue projectParameter = getRequest().getRequestParameters()
                    .getParameterValue("project");
            // Load respective project
            ProjectDto activeProject;
            if (projectParameter.isNull()) {
                activeProject = getDefaultProject();
            } else {
                final Long userId = DataMessieSession.get().getUserId();
                activeProject = projectDao.getAsDto(sessionFactory.getCurrentSession(),
                        projectParameter.toLong(), userId);
                if (activeProject == null) {
                    activeProject = getDefaultProject();
                }
            }
            // Ensure project parameter
            if (activeProject != null) {
                getPageParameters().set("project", activeProject.getId());
                DataMessieSession.get().getDocumentsFilterSettings().setProjectId(activeProject.getId());
            }
            // Done
            return activeProject;
        }
    };

    aciveProjectDropDownChoice = new ProjectSelector("activeProjectSelector", activeProjectModel) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSelectionChanged(final ProjectDto newSelection) {
            if (newSelection == null) {
                return;
            }

            final PageParameters projectPageParameters = new PageParameters();
            final Long selectedProjectId = newSelection.getId();
            projectPageParameters.set("project", selectedProjectId);
            final Class<? extends Page> responsePage = AbstractAuthenticatedPage.this.getNavigationLinkClass();
            final PageParameters pageParameters = getDefaultPageParameters(projectPageParameters);
            AbstractAuthenticatedPage.this.setResponsePage(responsePage, pageParameters);
        }

        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }
    };
    add(aciveProjectDropDownChoice);

    // Navigation links
    final List<NavigationLink<? extends Page>> navigationLinks = getDataMessieApplication()
            .getNavigationLinks();
    final ListView<NavigationLink<? extends Page>> navigationLinksListView = new ListView<NavigationLink<? extends Page>>(
            "navigationLinks", navigationLinks) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<NavigationLink<? extends Page>> item) {
            // Link
            final NavigationLink<? extends Page> navigationLink = item.getModelObject();
            final PageParameters projectPageParameters = createProjectPageParameters();
            final BookmarkablePageLink<? extends Page> bookmarkablePageLink = createBookmarkablePageLink(
                    "navigationLink", navigationLink, projectPageParameters);
            final Label bookmarkablePageLinkLabel = new Label("navigationLinkLabel", navigationLink.getLabel());
            // Active link
            if (AbstractAuthenticatedPage.this.getNavigationLinkClass() == navigationLink.getPageClass()) {
                markLinkSelected(bookmarkablePageLink);
            }
            // Done
            bookmarkablePageLink.add(bookmarkablePageLinkLabel);
            item.add(bookmarkablePageLink);
        }
    };
    add(navigationLinksListView);

    // Sign out link
    signOutLink = new Link<SignInPage>("signOutLink") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            AuthenticatedWebSession.get().invalidate();
            setResponsePage(getApplication().getHomePage());
        }
    };
    add(signOutLink);

    // Side panels
    final List<SidePanel> sidePanels = getDataMessieApplication().getSidePanels();
    final ListView<SidePanel> sidePanelsListView = new ListView<SidePanel>("sidePanels", sidePanels) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<SidePanel> item) {
            // Link
            final SidePanel sidePanel = item.getModelObject();
            final Panel panel = sidePanel.getPanel();
            item.add(panel);
        }
    };
    add(sidePanelsListView);

    // Task executions container
    final WebMarkupContainer taskExecutionsContainer = new WebMarkupContainer("taskExecutionsContainer");
    taskExecutionsContainer.setOutputMarkupId(true);
    taskExecutionsContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(selfUpdatingInterval)));
    add(taskExecutionsContainer);
    // Task executions
    taskExecutionsPanel = new AjaxLazyLoadPanel("taskExecutionsPanel") {
        private static final long serialVersionUID = 1L;

        @Override
        public Component getLazyLoadComponent(final String id) {
            final TaskExecutionsPanel taskExecutionsPanel = new TaskExecutionsPanel(id);
            return taskExecutionsPanel;
        }

    };
    taskExecutionsContainer.add(taskExecutionsPanel);
}

From source file:com.romeikat.datamessie.core.view.ui.page.SourcesPage.java

License:Open Source License

private void initialize() {
    // Sources overview
    sourcesOverviewPanel = new AjaxLazyLoadPanel("sourcesOverviewPanel") {
        private static final long serialVersionUID = 1L;

        @Override//from   w w  w  .ja  va  2s .c  o m
        public Component getLazyLoadComponent(final String id) {
            return new SourcesOverviewPanel(id, DataMessieSession.get().getDocumentsFilterSettingsModel());
        }

        @Override
        public void onConfigure() {
            super.onConfigure();
            setVisible(getActiveProject() != null);
        }
    };
    sourcesOverviewPanel.setOutputMarkupId(true);
    add(sourcesOverviewPanel);

    // Link to add a new source, if no sources have been added yet
    addSourceLink = new Link<Void>("addSource") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            final DocumentsFilterSettings dfs = DataMessieSession.get().getDocumentsFilterSettings();
            final Long projectId = dfs.getProjectId();

            // Create
            final HibernateSessionProvider sessionProvider = new HibernateSessionProvider(sessionFactory);
            final Long userId = DataMessieSession.get().getUserId();
            final SourceDto newSource = sourceService.createSource(sessionProvider.getStatelessSession(),
                    userId, projectId);

            // Open
            final PageParameters sourcePageParameters = createProjectPageParameters();
            sourcePageParameters.set("id", newSource.getId());
            setResponsePage(SourcePage.class, sourcePageParameters);
        }
    };
    addSourceLink.setOutputMarkupId(true);
    add(addSourceLink);
}

From source file:com.rurvoice.layout.example.border.TemplateBorder.java

License:Apache License

/**
 * Constructor/*from w  w w. ja va 2  s. co  m*/
 * 
 * @param id
 */
public TemplateBorder(String id) {
    super(id);
    addToBorder(currentBanner = new Banner1("ad"));
    addToBorder(new Link("changeAdLink") {
        /**
         * @see org.apache.wicket.markup.html.link.Link#onClick()
         */
        @Override
        public void onClick() {
            if (currentBanner.getClass() == Banner1.class) {
                TemplateBorder.this.replaceInBorder(currentBanner = new Banner2("ad"));
            } else {
                TemplateBorder.this.replaceInBorder(currentBanner = new Banner1("ad"));
            }
        }
    });
    addToBorder(new BookmarkablePageLink<>("page1Link", Page1.class));
    addToBorder(new BookmarkablePageLink<>("page2Link", Page2.class));
}