Example usage for org.apache.wicket.markup.html.form SubmitLink SubmitLink

List of usage examples for org.apache.wicket.markup.html.form SubmitLink SubmitLink

Introduction

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

Prototype

public SubmitLink(String id, IModel<?> model) 

Source Link

Document

With this constructor the SubmitLink must be inside a Form.

Usage

From source file:org.geoserver.web.services.BaseServiceAdminPage.java

License:Open Source License

void init(final IModel<T> infoModel) {
    T service = infoModel.getObject();/*from   ww w  . ja v  a2 s.c  o m*/

    dialog = new GeoServerDialog("dialog");
    add(dialog);

    Form form = new Form("form", new CompoundPropertyModel(infoModel));
    add(form);

    if (service.getWorkspace() == null) {
        //create the panel that has the drop down list to switch between workspace
        form.add(new GlobalWorkspacePanel("workspace"));
    } else {
        //create just a panel with a label that signifies the workspace
        form.add(new LocalWorkspacePanel("workspace", service));
    }

    form.add(new HelpLink("workspaceHelp").setDialog(dialog));

    form.add(new Label("service.enabled",
            new StringResourceModel("service.enabled", this, null, new Object[] { getServiceName() })));
    form.add(new TextField("maintainer"));
    TextField onlineResource = new TextField("onlineResource");
    onlineResource.add(new UrlValidator());
    form.add(onlineResource);
    form.add(new CheckBox("enabled"));
    form.add(new CheckBox("citeCompliant"));
    form.add(new TextField("title"));
    form.add(new TextArea("abstract"));
    form.add(
            new KeywordsEditor("keywords", LiveCollectionModel.list(new PropertyModel(infoModel, "keywords"))));
    form.add(new TextField("fees"));
    form.add(new TextField("accessConstraints"));

    build(infoModel, form);

    //add the extension panels
    ListView extensionPanels = createExtensionPanelList("extensions", infoModel);
    extensionPanels.setReuseItems(true);
    form.add(extensionPanels);

    SubmitLink submit = new SubmitLink("submit", new StringResourceModel("save", (Component) null, null)) {
        @Override
        public void onSubmit() {
            try {
                handleSubmit((T) infoModel.getObject());
                doReturn();
            } catch (Exception e) {
                error(e);
            }
        }
    };
    form.add(submit);

    Button cancel = new Button("cancel", new StringResourceModel("cancel", (Component) null, null)) {
        public void onSubmit() {
            doReturn();
        }
    };
    form.add(cancel);
    //cancel.setDefaultFormProcessing( false );
}

From source file:org.geoserver.web.translator.view.NewTranslationPage.java

License:Open Source License

private Component createNewTranslationLink() {
    SubmitLink submitLink = new SubmitLink("createLanguage", newTranslationForm) {
        private static final long serialVersionUID = 1L;

        @Override//w  ww  .  j  av  a  2  s. c  o m
        public void onSubmit() {
            Locale locale = (Locale) newLanguageChoice.getModelObject();
            TranslationEditPage editPage = new TranslationEditPage(locale);
            setResponsePage(editPage);
        }
    };

    return submitLink;
}

From source file:org.geoserver.wps.web.WPSAccessRulePage.java

License:Open Source License

public WPSAccessRulePage() {
    wpsInfo = getGeoServer().getService(WPSInfo.class);
    Form form = new Form("form", new CompoundPropertyModel(wpsInfo));

    processFactories = cloneFactoryInfos(wpsInfo.getProcessGroups());
    ProcessFactoryInfoProvider provider = new ProcessFactoryInfoProvider(processFactories, getLocale());
    GeoServerRoleService roleService = getSecurityManager().getActiveRoleService();
    try {//w  w  w .ja va2s.  c  om
        for (GeoServerRole r : roleService.getRoles()) {
            availableRoles.add(r.getAuthority());
        }
    } catch (IOException e1) {
        LOGGER.log(Level.FINER, e1.getMessage(), e1);
    }

    TextField<Integer> maxComplexInputSize = new TextField<Integer>("maxComplexInputSize", Integer.class);
    maxComplexInputSize.add(new MinimumValidator<Integer>(0));
    form.add(maxComplexInputSize);

    final AutoCompleteSettings settings = new AutoCompleteSettings();
    settings.setShowCompleteListOnFocusGain(false);
    settings.setShowListOnEmptyInput(true);
    settings.setShowListOnFocusGain(true);
    settings.setMaxHeightInPx(100);

    GeoServerTablePanel<ProcessGroupInfo> processFilterEditor = new GeoServerTablePanel<ProcessGroupInfo>(
            "processFilterTable", provider) {

        @Override
        protected Component getComponentForProperty(String id, final IModel itemModel,
                Property<ProcessGroupInfo> property) {

            if (property.getName().equals("enabled")) {
                Fragment fragment = new Fragment(id, "enabledFragment", WPSAccessRulePage.this);
                CheckBox enabled = new CheckBox("enabled", property.getModel(itemModel));
                enabled.setOutputMarkupId(true);
                fragment.add(enabled);
                return fragment;
            } else if (property.getName().equals("prefix")) {
                return new Label(id, property.getModel(itemModel));
            } else if (property.getName().equals("title")) {
                return new Label(id, property.getModel(itemModel));
            } else if (property.getName().equals("summary")) {
                return new Label(id, property.getModel(itemModel));
            } else if (property.getName().equals("roles")) {
                Fragment fragment = new Fragment(id, "rolesFragment", WPSAccessRulePage.this);
                TextArea<String> roles = new TextArea<String>("roles", property.getModel(itemModel)) {
                    public org.apache.wicket.util.convert.IConverter getConverter(java.lang.Class<?> type) {
                        return new RolesConverter(availableRoles);
                    };
                };
                StringBuilder selectedRoles = new StringBuilder();
                IAutoCompleteRenderer<String> roleRenderer = new RolesRenderer(selectedRoles);
                AutoCompleteBehavior<String> b = new RolesAutoCompleteBehavior(roleRenderer, settings,
                        selectedRoles, availableRoles);
                roles.setOutputMarkupId(true);
                roles.add(b);
                fragment.add(roles);
                return fragment;
            } else if (property.getName().equals("edit")) {
                Fragment fragment = new Fragment(id, "linkFragment", WPSAccessRulePage.this);
                // we use a submit link to avoid losing the other edits in the form
                Link link = new Link("link") {
                    @Override
                    public void onClick() {
                        ProcessGroupInfo pfi = (ProcessGroupInfo) itemModel.getObject();
                        setResponsePage(new ProcessSelectionPage(WPSAccessRulePage.this, pfi));
                    }
                };
                fragment.add(link);

                return fragment;
            }

            return null;
        }
    };
    processFilterEditor.setFilterable(false);
    processFilterEditor.setPageable(false);
    processFilterEditor.setOutputMarkupId(true);
    form.add(processFilterEditor);

    form.add(new AjaxLink("processAccessModeHelp") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            dialog.showInfo(target, new StringResourceModel("processAccessModeHelp.title", getPage(), null),
                    new StringResourceModel("processAccessModeHelp.message", getPage(), null));
        }
    });
    catalogModeChoice = new RadioChoice("processAccessMode",
            new PropertyModel<CatalogMode>(wpsInfo, "catalogMode"), CATALOG_MODES, new CatalogModeRenderer());
    catalogModeChoice.setSuffix(" ");
    form.add(catalogModeChoice);

    SubmitLink submit = new SubmitLink("submit", new StringResourceModel("save", (Component) null, null)) {
        @Override
        public void onSubmit() {
            try {
                // overwrite the process factories that we did clone to achieve isolation
                List<ProcessGroupInfo> factories = wpsInfo.getProcessGroups();
                factories.clear();
                factories.addAll(processFactories);
                getGeoServer().save(wpsInfo);
                doReturn();
            } catch (Exception e) {
                error(e);
            }
        }
    };
    form.add(submit);

    Button cancel = new Button("cancel", new StringResourceModel("cancel", (Component) null, null)) {
        public void onSubmit() {
            doReturn();
        }
    };
    form.add(cancel);

    add(form);

}

From source file:org.obiba.onyx.webapp.administration.panel.DevelopersPanel.java

License:Open Source License

/**
 * /*  w w w  .  java2s  .c  om*/
 */
public DevelopersPanel(String id) {
    super(id);

    final DumpInput dumpInput = new DumpInput();
    setDefaultModel(new CompoundPropertyModel<DumpInput>(dumpInput));

    @SuppressWarnings("rawtypes")
    Form<?> dumpForm = new Form("dumpForm");
    add(dumpForm);

    dumpForm.add(new DropDownChoice<String>("format", Arrays.asList(new String[] { "XML", "Excel" })));
    dumpForm.add(new CheckBox("values"));
    dumpForm.add(new FeedbackPanel("feedback"));

    SubmitLink dumpLink = new SubmitLink("dumpLink", dumpForm) {

        private static final long serialVersionUID = 109761762415267865L;

        @Override
        public void onSubmit() {
            try {
                File dumpFile = dump(dumpInput);
                getRequestCycle()
                        .setRequestTarget(new ResourceStreamRequestTarget(new TmpFileResourceStream(dumpFile) {
                            public String getContentType() {
                                if (dumpInput.format.equals("XML")) {
                                    return "application/zip";
                                }
                                return "application/vnd.ms-excel";
                            }
                        }, dumpFile.getName()));
            } catch (Exception e) {
                log.error("Magma dump failed.", e);
                error(e.getMessage());
            }
        }

    };
    dumpForm.add(dumpLink);

    @SuppressWarnings("rawtypes")
    AjaxLink<?> refreshStatsLink = new AjaxLink("refreshStatsLink") {

        private static final long serialVersionUID = 109761762415267865L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(DevelopersPanel.this.get("hibernateStats"));
        }

    };
    add(refreshStatsLink);

    @SuppressWarnings("rawtypes")
    AjaxLink<?> clearCacheLink = new AjaxLink("clearCacheLink") {

        private static final long serialVersionUID = 109761762415267865L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            factory.evictQueries();
            target.addComponent(DevelopersPanel.this.get("hibernateStats"));
        }

    };
    add(clearCacheLink);
    add(new HibernateStatisticsPanel("hibernateStats", new PropertyModel<Statistics>(factory, "statistics"))
            .setOutputMarkupId(true));
}

From source file:org.projectforge.plugins.marketing.AddressCampaignValueListPage.java

License:Open Source License

@SuppressWarnings("serial")
@Override/*ww w.  ja  va  2  s.c o m*/
protected void init() {
    personalAddressMap = personalAddressDao.getPersonalAddressByAddressId();
    addressCampaignValueMap = new HashMap<Integer, AddressCampaignValueDO>();
    {
        // Excel export
        final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                log.info("Exporting address list.");
                final List<AddressDO> list = getList();
                final byte[] xls = addressCampaignValueExport.export(list, personalAddressMap,
                        addressCampaignValueMap,
                        form.getSearchFilter().getAddressCampaign() != null
                                ? form.getSearchFilter().getAddressCampaign().getTitle()
                                : "");
                if (xls == null || xls.length == 0) {
                    form.addError("address.book.hasNoVCards");
                    return;
                }
                final String filename = "ProjectForge-AddressCampaignValueExport_"
                        + DateHelper.getDateAsFilenameSuffix(new Date()) + ".xls";
                DownloadUtils.setDownloadTarget(xls, filename);
            }
        };
        final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                excelExportLink, getString("address.book.export"))
                        .setTooltip(getString("address.book.export.tooltip"));
        addContentMenuEntry(excelExportButton);
    }
}

From source file:org.projectforge.web.address.AddressListPage.java

License:Open Source License

@SuppressWarnings("serial")
@Override// www  . j a v a2s .  c om
protected void init() {
    personalAddressMap = personalAddressDao.getPersonalAddressByAddressId();
    final List<IColumn<AddressDO, String>> columns = createColumns(this, true);
    dataTable = createDataTable(columns, "name", SortOrder.ASCENDING);
    form.add(dataTable);

    if (messagingSupported == true) {
        final ContentMenuEntryPanel menuEntry = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                new Link<Object>("link") {
                    @Override
                    public void onClick() {
                        setResponsePage(SendSmsPage.class, new PageParameters());
                    };
                }, getString("address.tooltip.writeSMS"));
        addContentMenuEntry(menuEntry);
    }
    if (WebConfiguration.isDevelopmentMode() == true) {
        // final Import vcards
        final BookmarkablePageLink<AddressImportPage> importVCardsLink = new BookmarkablePageLink<AddressImportPage>(
                ContentMenuEntryPanel.LINK_ID, AddressImportPage.class);

        final ContentMenuEntryPanel importVCardsButton = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                importVCardsLink, getString("address.book.vCardImport"))
                        .setTooltip(getString("address.book.vCardImport.tooltip"));
        addContentMenuEntry(importVCardsButton);
    }
    final ContentMenuEntryPanel exportMenu = new ContentMenuEntryPanel(getNewContentMenuChildId(),
            getString("export"));
    addContentMenuEntry(exportMenu);
    {
        // Export vcards
        final SubmitLink exportVCardsLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                log.info("Exporting personal address book.");
                final List<PersonalAddressDO> list = addressDao.getFavoriteVCards();
                if (CollectionUtils.isEmpty(list) == true) {
                    form.addError("address.book.hasNoVCards");
                    return;
                }
                final String filename = "ProjectForge-PersonalAddressBook_"
                        + DateHelper.getDateAsFilenameSuffix(new Date()) + ".vcf";
                final StringWriter writer = new StringWriter();
                addressDao.exportFavoriteVCards(writer, list);
                DownloadUtils.setUTF8CharacterEncoding(getResponse());
                DownloadUtils.setDownloadTarget(writer.toString().getBytes(), filename);
            }
        };
        final ContentMenuEntryPanel exportVCardsButton = new ContentMenuEntryPanel(
                exportMenu.newSubMenuChildId(), exportVCardsLink, getString("address.book.vCardExport"))
                        .setTooltip(getString("address.book.vCardExport.tooltip.title"),
                                getString("address.book.vCardExport.tooltip.content"));
        exportMenu.addSubMenuEntry(exportVCardsButton);
    }
    {
        // Excel export
        final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                log.info("Exporting address list.");
                final List<AddressDO> list = getList();
                final byte[] xls = addressExport.export(list, personalAddressMap);
                if (xls == null || xls.length == 0) {
                    form.addError("address.book.hasNoVCards");
                    return;
                }
                final String filename = "ProjectForge-AddressExport_"
                        + DateHelper.getDateAsFilenameSuffix(new Date()) + ".xls";
                DownloadUtils.setDownloadTarget(xls, filename);
            }
        };
        final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(
                exportMenu.newSubMenuChildId(), excelExportLink, getString("address.book.export"))
                        .setTooltip(getString("address.book.export"), getString("address.book.export.tooltip"));
        exportMenu.addSubMenuEntry(excelExportButton);
    }
    {
        // Phone list export
        final SubmitLink exportPhoneListLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                log.info("Exporting phone list");
                final List<PersonalAddressDO> list = addressDao.getFavoritePhoneEntries();
                if (CollectionUtils.isEmpty(list) == true) {
                    form.addError("address.book.hasNoPhoneNumbers");
                    return;
                }
                final String filename = "ProjectForge-PersonalPhoneList_"
                        + DateHelper.getDateAsFilenameSuffix(new Date()) + ".txt";
                final StringWriter writer = new StringWriter();
                addressDao.exportFavoritePhoneList(writer, list);
                DownloadUtils.setUTF8CharacterEncoding(getResponse());
                DownloadUtils.setDownloadTarget(writer.toString().getBytes(), filename);
            }
        };
        final ContentMenuEntryPanel exportPhoneListButton = new ContentMenuEntryPanel(
                exportMenu.newSubMenuChildId(), exportPhoneListLink,
                getString("address.book.exportFavoritePhoneList")).setTooltip(
                        getString("address.book.exportFavoritePhoneList.tooltip.title"),
                        getString("address.book.exportFavoritePhoneList.tooltip.content"));
        exportMenu.addSubMenuEntry(exportPhoneListButton);
    }
    {
        final ContentMenuEntryPanel extendedMenu = contentMenuBarPanel.ensureAndAddExtendetMenuEntry();
        // Apple script export
        final SubmitLink appleScriptLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                byte[] content = null;
                final String file = APPLE_SCRIPT_DIR + APPLE_SCRIPT_FOR_ADDRESS_BOOK;
                try {
                    final ClassLoader cLoader = this.getClass().getClassLoader();
                    final InputStream is = cLoader.getResourceAsStream(file);
                    if (is == null) {
                        log.error("Could not find script in resource path: '" + file + "'.");
                    }
                    content = IOUtils.toByteArray(is);
                } catch (final IOException ex) {
                    log.error("Could not load script '" + file + "'." + ex.getMessage(), ex);
                    throw new RuntimeException(ex);
                }
                DownloadUtils.setDownloadTarget(content, APPLE_SCRIPT_FOR_ADDRESS_BOOK);
            }
        };
        final ContentMenuEntryPanel appleScriptButton = new ContentMenuEntryPanel(
                extendedMenu.newSubMenuChildId(), appleScriptLink,
                getString("address.book.export.appleScript4Notes")).setTooltip(
                        getString("address.book.export.appleScript4Notes"),
                        getString("address.book.export.appleScript4Notes.tooltip"));
        extendedMenu.addSubMenuEntry(appleScriptButton);
    }
}

From source file:org.projectforge.web.fibu.EmployeeSalaryListPage.java

License:Open Source License

@Override
protected void init() {
    final List<IColumn<EmployeeSalaryDO, String>> columns = createColumns(this, true);
    dataTable = createDataTable(columns, "employee.user.lastname", SortOrder.ASCENDING);
    form.add(dataTable);//from   w  w w . j  a  va  2s.  co m
    {
        // Excel export
        @SuppressWarnings("serial")
        final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                if (form.getSearchFilter().getMonth() < 0 || form.getSearchFilter().getMonth() > 11) {
                    form.addError("fibu.employee.salary.error.monthNotGiven");
                    return;
                }
                exportExcel();
            }
        };
        final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                excelExportLink, getString("exportAsXls"))
                        .setTooltip(getString("fibu.employee.salary.exportXls.tooltip"));
        addContentMenuEntry(excelExportButton);
    }
}

From source file:org.projectforge.web.fibu.Kost1ListPage.java

License:Open Source License

@SuppressWarnings("serial")
@Override/*w ww . ja va2 s  .  c  o m*/
protected void init() {
    dataTable = createDataTable(createColumns(this, true), "formattedNumber", SortOrder.ASCENDING);
    form.add(dataTable);
    {
        // Excel export
        final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
            @Override
            public void onSubmit() {
                exportExcel();
            }
        };
        final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                excelExportLink, getString("exportAsXls")).setTooltip(getString("tooltip.export.excel"));
        addContentMenuEntry(excelExportButton);
    }
}

From source file:org.projectforge.web.fibu.MonthlyEmployeeReportPage.java

License:Open Source License

@SuppressWarnings("serial")
public MonthlyEmployeeReportPage(final PageParameters parameters) {
    super(parameters);
    final boolean costConfigured = Configuration.getInstance().isCostConfigured();
    form = new MonthlyEmployeeReportForm(this);
    if (form.filter == null) {
        form.filter = (MonthlyEmployeeReportFilter) getUserPrefEntry(MonthlyEmployeeReportFilter.class,
                USER_PREF_KEY_FILTER);/* w w  w .  ja  va  2 s  .  c  om*/
    }
    if (form.filter == null) {
        form.filter = new MonthlyEmployeeReportFilter();
        putUserPrefEntry(USER_PREF_KEY_FILTER, form.filter, true);
    }
    if (form.filter.getUser() == null) {
        form.filter.setUser(getUser());
    }
    body.add(form);
    form.init();
    {
        final ContentMenuEntryPanel exportAsPdf = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                new SubmitLink("link", form) {
                    @Override
                    public void onSubmit() {
                        exportAsPdf();
                    };
                }, getString("exportAsPdf"));
        addContentMenuEntry(exportAsPdf);
    }
    gridBuilder = form.newGridBuilder(body, "fields");
    final GridSize gridSize = costConfigured == true ? GridSize.COL33 : GridSize.COL50;
    gridBuilder.newSplitPanel(gridSize);
    {
        final FieldsetPanel fs = gridBuilder.newFieldset(getString("timesheet.user")).supressLabelForWarning();
        fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
            /**
             * @see org.apache.wicket.model.Model#getObject()
             */
            @Override
            public String getObject() {
                final PFUserDO user = form.filter.getUser();
                return user != null ? user.getFullname() : "";
            }
        }));
    }
    if (costConfigured == true) {
        gridBuilder.newSplitPanel(gridSize);
        final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kost1")).supressLabelForWarning();
        fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
            /**
             * @see org.apache.wicket.model.Model#getObject()
             */
            @Override
            public String getObject() {
                if (report == null) {
                    return "";
                }
                final Kost1DO kost1 = kost1Dao.internalGetById(report.getKost1Id());
                return kost1 != null ? KostFormatter.format(kost1) : "";
            }
        }));
    }
    gridBuilder.newSplitPanel(gridSize);
    {
        final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.common.workingDays"))
                .supressLabelForWarning();
        fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
            @Override
            public String getObject() {
                return report != null ? String.valueOf(report.getNumberOfWorkingDays()) : "";
            };
        }));
    }
    gridBuilder.newGridPanel();
    {
        final FieldsetPanel fs = new FieldsetPanel(gridBuilder.getPanel(), getString("fibu.common.workingDays"),
                getString("fibu.monthlyEmployeeReport.withoutTimesheets")) {
            /**
             * @see org.apache.wicket.Component#isVisible()
             */
            @Override
            public boolean isVisible() {
                return report != null && StringUtils.isNotBlank(report.getFormattedUnbookedDays());
            }
        }.supressLabelForWarning();
        fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
            /**
             * @see org.apache.wicket.model.Model#getObject()
             */
            @Override
            public String getObject() {
                return report.getFormattedUnbookedDays();
            }
        }, TextStyle.RED));
    }
}

From source file:org.projectforge.web.teamcal.event.TeamEventEditPage.java

License:Open Source License

/**
 * @see org.projectforge.web.wicket.AbstractEditPage#init(org.projectforge.core.AbstractBaseDO)
 *//*from  w  w w.jav  a2s  .  c  o m*/
@Override
protected void init(final TeamEventDO data) {
    super.init(data);
    if (isNew() == false) {
        @SuppressWarnings("serial")
        final ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                new Link<Void>(ContentMenuEntryPanel.LINK_ID) {
                    @Override
                    public void onClick() {
                        final TimesheetDO timesheet = new TimesheetDO();
                        timesheet.setStartDate(getData().getStartDate())//
                                .setStopTime(getData().getEndDate()) //
                                .setLocation(getData().getLocation());
                        final StringBuffer buf = new StringBuffer();
                        buf.append(getData().getSubject());
                        final String note = getData().getNote();
                        if (StringUtils.isNotBlank(note) == true) {
                            buf.append("\n").append(note);
                        }
                        timesheet.setDescription(buf.toString());
                        timesheetDao.setUser(timesheet, getUserId());
                        final TimesheetEditPage timesheetEditPage = new TimesheetEditPage(timesheet);
                        timesheetEditPage.setReturnToPage(getReturnToPage());
                        setResponsePage(timesheetEditPage);
                    }

                ;
                }, getString("plugins.teamcal.event.convert2Timesheet"));
        addContentMenuEntry(menu);
    }
    if (isNew() == true) {
        @SuppressWarnings("serial")
        final ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
                    @Override
                    public void onSubmit() {
                        final TeamEventDO event = getData();
                        final TimesheetDO timesheet = new TimesheetDO();
                        if (event != null) {
                            timesheet.setStartDate(event.getStartDate());
                            timesheet.setStopTime(event.getEndDate());
                        }
                        if (returnToPage == null) {
                            returnToPage = new TeamCalCalendarPage(new PageParameters());
                        }
                        setResponsePage(new TimesheetEditPage(timesheet).setReturnToPage(returnToPage));
                    }

                ;
                }.setDefaultFormProcessing(false), getString("plugins.teamcal.switchToTimesheetButton"));
        addContentMenuEntry(menu);
    } else {
        @SuppressWarnings("serial")
        final ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(),
                new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) {
                    @Override
                    public void onSubmit() {
                        final TeamEventDO event = getData();
                        log.info("Export ics for: " + event.getSubject());
                        ByteArrayOutputStream baos = icsGenerator.getIcsFile(event);
                        if (baos != null) {
                            DownloadUtils.setDownloadTarget(baos.toByteArray(),
                                    event.getSubject().replace(" ", "") + ".ics");
                        }
                    }

                ;
                }.setDefaultFormProcessing(false), getString("plugins.teamcal.exportIcsButton"));
        addContentMenuEntry(menu);
    }
}