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

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

Introduction

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

Prototype

public PopupSettings(String windowName, final int displayFlags) 

Source Link

Document

Construct.

Usage

From source file:com.lili.WicketExampleHeader.java

License:Apache License

/**
 * Construct./*from  w w  w  .  j a v a  2s.com*/
 * 
 * @param id
 *            id of the component
 * @param exampleTitle
 *            title of the example
 * @param page
 *            The example page
 */
public WicketExampleHeader(String id, String exampleTitle, WebPage page) {
    super(id);

    //      add(new DebugBar("debug"));
    //      add(new Label("exampleTitle", exampleTitle));
    //      BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources",
    //         SourcesPage.class, SourcesPage.generatePageParameters(page));
    //      BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources",
    //         null,null);
    //      add(link);

    PopupSettings settings = new PopupSettings("sources", PopupSettings.RESIZABLE);
    settings.setWidth(800);
    settings.setHeight(600);
    //      link.setPopupSettings(settings);
}

From source file:com.mastfrog.acteur.wicket.borrowed.WicketExampleHeader.java

License:Apache License

/**
 * Construct./*  w ww. j  a  v  a 2  s  . c  o m*/
 * 
 * @param id
 *            id of the component
 * @param exampleTitle
 *            title of the example
 * @param page
 *            The example page
 */
public WicketExampleHeader(String id, String exampleTitle, WebPage page) {
    super(id);

    //      add(new DebugBar("debug"));
    add(new Label("exampleTitle", exampleTitle));
    BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources", SourcesPage.class,
            SourcesPage.generatePageParameters(page));
    add(link);

    PopupSettings settings = new PopupSettings("sources", PopupSettings.RESIZABLE);
    settings.setWidth(800);
    settings.setHeight(600);
    link.setPopupSettings(settings);
}

From source file:com.norconex.jefmon.instance.action.ActionsCell.java

License:Apache License

@SuppressWarnings("nls")
public ActionsCell(final String id, final JobStatusTreeNode job, final List<IJobAction> actions) {
    super(id);// ww w .  ja  v a 2  s .com

    add(new ListView<IJobAction>("actions", actions) {
        private static final long serialVersionUID = 3635147316426384496L;

        @Override
        protected void populateItem(ListItem<IJobAction> item) {
            final IJobAction action = item.getModelObject();
            if (action.isVisible(job)) {
                String icon = action.getFontIcon();
                final String pageName = action.getName().getObject() + " - " + job.getJobId();
                Link<String> link = new Link<String>("actionLink") {
                    private static final long serialVersionUID = 3488334322744811811L;

                    @Override
                    public void onClick() {
                        Component comp = action.execute(job, ActionPage.COMPONENT_ID);
                        if (comp != null) {
                            setResponsePage(new ActionPage(comp, Model.of(pageName)));
                        }
                    }
                };
                PopupSettings popup = new PopupSettings(pageName, PopupSettings.RESIZABLE);
                popup.setWidth(800);
                link.setPopupSettings(popup);
                link.add(new Label("actionIcon").add(new CssClass(icon)));
                link.add(new BootstrapTooltip(action.getName()));
                item.add(link);
            } else {

                WebMarkupContainer empty = new WebMarkupContainer("actionLink");
                empty.add(new Label("actionIcon"));
                empty.setVisible(false);
                item.add(empty);
            }
        }
    });
}

From source file:de.tudarmstadt.ukp.csniper.webapp.support.wicket.ThresholdLink.java

License:Apache License

public ThresholdLink(String aId, int aWidth, int aHeight) {
    super(aId);/*from w  w w  .  ja  v a 2 s  .com*/

    PopupSettings ps = new PopupSettings(aId, PopupSettings.SCROLLBARS + PopupSettings.LOCATION_BAR);
    ps.setWidth(aWidth);
    ps.setHeight(aHeight);
    setPopupSettings(ps);

    setBody(new Model<String>(
            "<img src=\"images/questionmark.png\" alt=\"Explanation\" style=\"vertical-align:bottom\" />"));
    setEscapeModelStrings(false);
}

From source file:de.twenty11.skysail.client.osgimonitor.wicket.pages.bundles.WicketExampleHeader.java

License:Apache License

/**
 * Construct./*w w w  . j  a  v  a  2s .c o  m*/
 * 
 * @param id
 *            id of the component
 * @param exampleTitle
 *            title of the example
 * @param page
 *            The example page
 */
public WicketExampleHeader(String id, String exampleTitle, WebPage page) {
    super(id);

    //add(new DebugBar("debug"));
    add(new Label("exampleTitle", exampleTitle));
    //      BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("sources",
    //         SourcesPage.class, SourcesPage.generatePageParameters(page));
    //add(link);

    PopupSettings settings = new PopupSettings("sources", PopupSettings.RESIZABLE);
    settings.setWidth(800);
    settings.setHeight(600);
    //link.setPopupSettings(settings);
}

From source file:jp.go.nict.langrid.management.web.view.page.user.component.link.ExternalHomePageLink.java

License:Open Source License

/**
 * //from   ww  w .  j  a  v a 2 s.c o  m
 * 
 */
public ExternalHomePageLink(String componentId, String url, String uniqueId) {
    super(componentId, url);
    PopupSettings settings = new PopupSettings(PageMap.forName(componentId.concat(uniqueId)),
            PopupSettings.SCROLLBARS | PopupSettings.RESIZABLE | PopupSettings.MENU_BAR
                    | PopupSettings.LOCATION_BAR | PopupSettings.STATUS_BAR | PopupSettings.TOOL_BAR);
    settings.setHeight(HEIGHT);
    settings.setWidth(WIDTH);
    setPopupSettings(settings);
    add(createLabel(componentId, url).add(new AttributeAppender("title", new Model<String>(url), " ")));
}

From source file:jp.go.nict.langrid.management.web.view.page.user.component.link.ExternalHomePageLink.java

License:Open Source License

/**
 * /*from  w w w  .  j a v  a2  s  .  c o m*/
 * 
 */
public ExternalHomePageLink(String componentId, String url, String uniqueId, int limit) {
    super(componentId, url);
    PopupSettings settings = new PopupSettings(PageMap.forName(componentId.concat(uniqueId)),
            PopupSettings.SCROLLBARS | PopupSettings.RESIZABLE | PopupSettings.MENU_BAR
                    | PopupSettings.LOCATION_BAR | PopupSettings.STATUS_BAR | PopupSettings.TOOL_BAR);
    settings.setHeight(HEIGHT);
    settings.setWidth(WIDTH);
    setPopupSettings(settings);
    if (url == null || url.equals("")) {
        url = "-";
    }
    add(createLabel(componentId, StringUtil.shortenString(url, limit))
            .add(new AttributeAppender("title", new Model<String>(url), " ")));
    setEnabled(!(url == null || url.equals("") || url.equals("-")));
}

From source file:org.dcm4chee.web.war.folder.StudyListPage.java

License:LGPL

private void addActions(final BaseForm form) {

    final ConfirmationWindow<SelectedEntities> confirmDelete = new ConfirmationWindow<SelectedEntities>(
            "confirmDelete") {

        private static final long serialVersionUID = 1L;

        private transient ContentEditDelegate delegate;

        private ContentEditDelegate getDelegate() {
            if (delegate == null) {
                delegate = ContentEditDelegate.getInstance();
            }/* www  . java  2  s .c o m*/
            return delegate;
        }

        @Override
        public void onOk(AjaxRequestTarget target) {
            target.addComponent(form);
        }

        @Override
        public void close(AjaxRequestTarget target) {
            target.addComponent(form);
            super.close(target);
        }

        @Override
        public void onConfirmation(AjaxRequestTarget target, final SelectedEntities selected) {

            if (selected.hasTooOld()) {
                for (StudyModel st : selected.getStudiesTooOld())
                    logSecurityAlert(st, true, StudyListPage.tooOldAuditMessageText);
            }
            this.setStatus(new StringResourceModel("folder.message.delete.running", StudyListPage.this, null));

            try {
                getDelegate().moveToTrash(selected);
                if (WebCfgDelegate.getInstance().showDoneDialogAfterAction())
                    setStatus(new StringResourceModel("folder.message.deleteDone", StudyListPage.this, null));
                if (selected.hasPatients()) {
                    viewport.getPatients().clear();
                    query(target);
                } else
                    selected.refreshView(true);
                if (!WebCfgDelegate.getInstance().showDoneDialogAfterAction())
                    close(target);
            } catch (RuntimeMBeanException e) {
                log.error("moveToTrash failed: ", e);
                if (e.getCause() instanceof EJBException)
                    if (WebCfgDelegate.getInstance().getTrustPatientIdWithoutIssuer())
                        this.setStatus(new StringResourceModel("folder.message.deleteFailed.alreadyExists",
                                StudyListPage.this, null));
                    else
                        this.setStatus(new StringResourceModel("folder.message.deleteFailed.notAllowed",
                                StudyListPage.this, null));
            } catch (Throwable t) {
                log.error("moveToTrash failed: ", t);
                setStatus(new StringResourceModel("folder.message.deleteFailed", StudyListPage.this, null));
            }
            target.addComponent(getMessageWindowPanel().getMsgLabel());
            target.addComponent(getMessageWindowPanel().getOkBtn());
        }

        @Override
        public void onDecline(AjaxRequestTarget target, SelectedEntities selected) {
            if (selected.getPpss().size() != 0) {
                if (ContentEditDelegate.getInstance().deletePps(selected)) {
                    if (WebCfgDelegate.getInstance().showDoneDialogAfterAction())
                        this.setStatus(
                                new StringResourceModel("folder.message.deleteDone", StudyListPage.this, null));
                    selected.refreshView(true);
                } else
                    this.setStatus(
                            new StringResourceModel("folder.message.deleteFailed", StudyListPage.this, null));
            }
        }
    };
    form.add(confirmDelete);

    AjaxFallbackButton newPatBtn = new AjaxFallbackButton("newPatBtn", form) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, Form<?> form) {
            final PatientModel newPatModel = getNewPatientModel();
            newPatientPanel = new SimpleEditDicomObjectPanel("content", modalWindow, newPatModel,
                    new ResourceModel("folder.newPatient.text").wrapOnAssignment(this).getObject(),
                    new int[][] { { Tag.PatientName }, { Tag.PatientID }, { Tag.IssuerOfPatientID },
                            { Tag.PatientBirthDate }, { Tag.PatientSex } },
                    true, new IModel<Boolean>() {
                        private static final long serialVersionUID = 1L;

                        public void detach() {
                        }

                        public void setObject(Boolean arg0) {
                        }

                        public Boolean getObject() {
                            return WebCfgDelegate.getInstance().useFamilyAndGivenNameQueryFields();
                        }
                    }) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onSubmit() {
                    newPatModel.update(getDicomObject());
                    viewport.getPatients().add(0, newPatModel);
                }
            };
            newPatientPanel.addChoices(Tag.PatientSex, new String[] { "M", "F", "O", "U" });
            if (!StudyPermissionHelper.get().isEditNewPatientID()) {
                newPatientPanel.setNotEditable(Arrays.asList(Tag.PatientID, Tag.IssuerOfPatientID));
            }
            newPatientPanel
                    .setRequiredTags(Arrays.asList(Tag.PatientName, Tag.PatientID, Tag.IssuerOfPatientID));
            modalWindow.setContent(newPatientPanel);
            modalWindow.setTitle("");
            modalWindow.show(target);
        }
    };
    newPatBtn.add(new Image("newPatImg", ImageManager.IMAGE_USER_ADD)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    newPatBtn.add(new Label("newPatText", new ResourceModel("folder.newPatBtn.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle"))));
    form.add(newPatBtn);
    newPatBtn.add(new SecurityBehavior(getModuleName() + ":newPatientButton"));

    AjaxButton deleteBtn = new AjaxButton("deleteBtn") {

        private static final long serialVersionUID = 1L;

        private void checkWarnings(SelectedEntities selected, MultiResourceModel remarkModel) {
            if (selected.hasPatients()) {
                int studiesCount = 0;
                String patientListing = "";
                Iterator<PatientModel> i = selected.getPatients().iterator();
                while (i.hasNext()) {
                    PatientModel patientModel = i.next();
                    studiesCount += dao.countStudiesOfPatient(patientModel.getPk(), null);
                    patientListing += ((patientModel.getId() != null ? patientModel.getId() : " ") + " / "
                            + (patientModel.getIssuer() != null ? patientModel.getIssuer() : " ") + " / "
                            + (patientModel.getName() != null ? patientModel.getName() : " "));
                    if (i.hasNext())
                        patientListing += ", <br /> ";
                }
                remarkModel.addModel(new StringResourceModel("folder.message.warnPatientDelete", this, null,
                        new Object[] { studiesCount, patientListing }));
                confirmDelete.setInitialWidth(500).setInitialHeight(280 + (20 * selected.getPatients().size()));
            }
            if (ContentEditDelegate.getInstance().sendsRejectionNotes())
                remarkModel.addModel(new StringResourceModel("folder.message.warnDelete", this, null));
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            confirmDelete.initContent(500, 280);

            MultiResourceModel remarkModel = new MultiResourceModel();
            confirmDelete.setRemark(remarkModel);

            boolean hasIgnored = selected.update(studyPermissionHelper.isUseStudyPermissions(),
                    viewport.getPatients(), StudyPermission.DELETE_ACTION);
            selected.deselectChildsOfSelectedEntities();
            checkNotRestoreable(selected, remarkModel);
            selected.computeTooOld();
            if ((hasIgnored || selected.hasDicomSelection() || selected.hasPPS()) && selected.hasTooOld()) {
                if (StudyPermissionHelper.get().ignoreEditTimeLimit()) {
                    checkWarnings(selected, remarkModel);
                    if (hasIgnored) {
                        confirmDelete.initContent(confirmDelete.getInitialWidth(),
                                confirmDelete.getInitialHeight() + 50);
                        remarkModel.addModel(
                                new StringResourceModel("folder.message.deleteNotAllowed", this, null));
                    }
                    if (selected.hasPPS()) {
                        confirmDelete.confirmWithCancel(target,
                                new StringResourceModel("folder.message.tooOld.confirmPpsDelete", this, null,
                                        new Object[] { selected }),
                                selected);
                    } else if (selected.hasDicomSelection()) {
                        confirmDelete.initContent(confirmDelete.getInitialWidth(),
                                confirmDelete.getInitialHeight() + 50);
                        confirmDelete.confirm(target, new StringResourceModel("folder.message.tooOld.delete",
                                this, null, new Object[] { selected }), selected);
                    } else {
                        msgWin.setInfoMessage(getString("folder.message.deleteNotAllowed"));
                        msgWin.setColor("#FF0000");
                        msgWin.show(target);
                    }
                } else {
                    msgWin.setInfoMessage(getString("folder.message.tooOld.delete.denied"));
                    msgWin.setColor("#FF0000");
                    msgWin.show(target);
                }
                return;
            }

            checkWarnings(selected, remarkModel);

            if (selected.hasPatients())
                confirmDelete.setImage(ImageManager.IMAGE_COMMON_WARN);

            if (hasIgnored) {
                confirmDelete.initContent(confirmDelete.getInitialWidth(),
                        confirmDelete.getInitialHeight() + 50);
                remarkModel.addModel(new StringResourceModel("folder.message.deleteNotAllowed", this, null));
            }
            if (selected.hasPPS()) {
                confirmDelete.confirmWithCancel(target, new StringResourceModel(
                        "folder.message.confirmPpsDelete", this, null, new Object[] { selected }), selected);
            } else if (selected.hasDicomSelection()) {
                confirmDelete.confirm(target, new StringResourceModel("folder.message.confirmDelete", this,
                        null, new Object[] { selected }), selected);
            } else {
                if (hasIgnored) {
                    msgWin.setInfoMessage(getString("folder.message.deleteNotAllowed"));
                    msgWin.setColor("#FF0000");
                } else {
                    msgWin.setInfoMessage(getString("folder.message.noSelection"));
                    msgWin.setColor("");
                }
                msgWin.show(target);
            }
        }
    };
    deleteBtn.add(new Image("deleteImg", ImageManager.IMAGE_FOLDER_DELETE)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    deleteBtn.add(new Label("deleteText", new ResourceModel("folder.deleteBtn.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle"))));
    form.add(deleteBtn);
    deleteBtn.add(new SecurityBehavior(getModuleName() + ":deleteButton"));

    AjaxFallbackButton moveBtn = new AjaxFallbackButton("moveBtn", form) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, Form<?> form) {
            selected.update(false, viewport.getPatients(), StudyPermission.UPDATE_ACTION, true);
            log.debug("Selected Entities:{}", selected);

            if (selected.hasDicomSelection()) {
                modalWindow.setPageCreator(new ModalWindow.PageCreator() {

                    private static final long serialVersionUID = 1L;

                    @Override
                    public Page createPage() {
                        return new MoveEntitiesPage(modalWindow, selected, viewport.getPatients());
                    }
                });

                int[] winSize = WebCfgDelegate.getInstance().getWindowSize("move");
                modalWindow.setInitialWidth(winSize[0]).setInitialHeight(winSize[1]);
                modalWindow.setTitle("");
                modalWindow.show(target);
            } else
                msgWin.show(target, getString("folder.message.noSelection"));
        }
    };
    moveBtn.add(new Image("moveImg", ImageManager.IMAGE_FOLDER_MOVE)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    moveBtn.add(new Label("moveText", new ResourceModel("folder.moveBtn.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle"))));
    form.add(moveBtn);
    moveBtn.add(new SecurityBehavior(getModuleName() + ":moveButton"));

    PopupLink exportBtn = new PopupLink("exportBtn", "exportPage") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            this.setResponsePage(new ExportPage(viewport.getPatients()));
        }
    };
    int[] winSize = WebCfgDelegate.getInstance().getWindowSize("export");
    exportBtn.setPopupWidth(winSize[0]);
    exportBtn.setPopupHeight(winSize[1]);
    exportBtn.add(new Image("exportImg", ImageManager.IMAGE_FOLDER_EXPORT)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    exportBtn.add(new Label("exportText", new ResourceModel("folder.exportBtn.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle"))));
    form.add(exportBtn);
    exportBtn.add(new SecurityBehavior(getModuleName() + ":exportButton"));

    int index = -1;
    if (webviewerLinkProviders != null) {
        for (int i = 0; i < webviewerLinkProviders.length; i++) {
            if (webviewerLinkProviders[i].supportViewingAllSelection()) {
                index = i;
                break;
            }
        }
    }
    final WebviewerLinkProvider viewer = index >= 0 ? webviewerLinkProviders[index] : null;

    Link<Object> viewBtn = new Link<Object>("viewBtn") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            if (viewer != null) {
                try {
                    selected.update(false, viewport.getPatients(), StudyPermission.UPDATE_ACTION, true);
                    selected.deselectChildsOfSelectedEntities();
                    selected.update(false, viewport.getPatients(), StudyPermission.UPDATE_ACTION, true);

                    ExportDicomModel model = new ExportDicomModel(selected);

                    HttpServletRequest request = ((WebRequestCycle) RequestCycle.get()).getWebRequest()
                            .getHttpServletRequest();
                    HttpServletResponse response = ((WebResponse) getRequestCycle().getResponse())
                            .getHttpServletResponse();
                    String result = viewer.viewAllSelection(model.getPatients(), request, response);
                    if (!viewer.notWebPageLinkTarget()) {
                        ViewerPage page = new ViewerPage();
                        page.add(new Label("viewer", new Model<String>(result)).setEscapeModelStrings(false));
                        this.setResponsePage(page);
                    }
                } catch (Exception e) {
                    log.error("Cannot view all the selection!", e);
                    if (viewer.notWebPageLinkTarget()) {
                        setResponsePage(getPage());
                    }
                }
            }
        }

        @Override
        public boolean isVisible() {
            return viewer != null;
        }
    };
    if (viewer != null && !viewer.notWebPageLinkTarget()) {
        ((Link) viewBtn).setPopupSettings(new PopupSettings(PageMap.forName("viewBtnPage"),
                PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS));
    }

    viewBtn.add(new Image("viewImg", ImageManager.IMAGE_FOLDER_VIEWER)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    viewBtn.add(new Label("viewText", new ResourceModel("folder.viewBtn.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle"))));
    form.add(viewBtn);
    viewBtn.add(new SecurityBehavior(getModuleName() + ":viewButton"));

    confirmLinkMpps = new ConfirmationWindow<PPSModel>("confirmLink") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, final PPSModel ppsModel) {
            logSecurityAlert(ppsModel, true, StudyListPage.tooOldAuditMessageText);
        }
    };
    confirmLinkMpps.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {

        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            if (confirmLinkMpps.getState() == ConfirmationWindow.CONFIRMED) {
                setMppsLinkWindow().show(target, confirmLinkMpps.getUserObject(), form);
            }
        }
    });
    form.add(confirmLinkMpps.setInitialHeight(150).setInitialWidth(410));

    confirmLinkMppsStudy = new ConfirmationWindow<StudyModel>("confirmLinkStudy") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, final StudyModel studyModel) {
            logSecurityAlert(studyModel, true, StudyListPage.tooOldAuditMessageText);
        }
    };
    confirmLinkMppsStudy.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {

        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            if (confirmLinkMppsStudy.getState() == ConfirmationWindow.CONFIRMED) {
                setMppsLinkWindow().show(target, confirmLinkMppsStudy.getUserObject(), form);
            }
        }
    });

    form.add(confirmLinkMppsStudy.setInitialHeight(150).setInitialWidth(410));

    confirmUnlinkMpps = new ConfirmationWindow<PPSModel>("confirmUnlink") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onOk(AjaxRequestTarget target) {
            target.addComponent(form);
        }

        @Override
        public void close(AjaxRequestTarget target) {
            target.addComponent(form);
            super.close(target);
        }

        @Override
        public void onConfirmation(AjaxRequestTarget target, final PPSModel ppsModel) {
            logSecurityAlert(ppsModel, true, StudyListPage.tooOldAuditMessageText);

            this.setStatus(new StringResourceModel("folder.message.unlink.running", StudyListPage.this, null));
            getMessageWindowPanel().getOkBtn().setVisible(false);

            try {
                if (ContentEditDelegate.getInstance().unlink(ppsModel)) {
                    setStatus(new StringResourceModel("folder.message.unlinkDone", StudyListPage.this, null));
                    ppsModel.getStudy().expand();
                    ppsModel.getStudy().refresh();
                } else
                    setStatus(new StringResourceModel("folder.message.unlinkFailed", StudyListPage.this, null));
            } catch (Throwable t) {
                log.error("Unlink of MPPS failed:" + ppsModel, t);
            }
            target.addComponent(getMessageWindowPanel().getMsgLabel());
            target.addComponent(getMessageWindowPanel().getOkBtn());
        }
    };
    form.add(confirmUnlinkMpps.setInitialHeight(150));

    confirmUnlinkMppsStudy = new ConfirmationWindow<StudyModel>("confirmUnlinkStudy") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onOk(AjaxRequestTarget target) {
            target.addComponent(form);
        }

        @Override
        public void close(AjaxRequestTarget target) {
            target.addComponent(form);
            super.close(target);
        }

        @Override
        public void onConfirmation(AjaxRequestTarget target, final StudyModel studyModel) {
            logSecurityAlert(studyModel, true, StudyListPage.tooOldAuditMessageText);

            this.setStatus(new StringResourceModel("folder.message.unlink.running", StudyListPage.this, null));
            getMessageWindowPanel().getOkBtn().setVisible(false);

            try {
                int failed = ContentEditDelegate.getInstance().unlink(studyModel);
                if (failed == 0) {
                    setStatus(new StringResourceModel("folder.message.unlinkDone", StudyListPage.this, null));
                } else
                    setStatus(new StringResourceModel("folder.message.unlinkFailed", StudyListPage.this, null));
            } catch (Throwable t) {
                log.error("Unlink of MPPS failed:" + studyModel, t);
            }
            target.addComponent(getMessageWindowPanel().getMsgLabel());
            target.addComponent(getMessageWindowPanel().getOkBtn());
        }
    };
    form.add(confirmUnlinkMppsStudy.setInitialHeight(150));

    confirmEmulateMpps = new ConfirmationWindow<PPSModel>("confirmEmulate") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onOk(AjaxRequestTarget target) {
            target.addComponent(form);
        }

        @Override
        public void close(AjaxRequestTarget target) {
            target.addComponent(form);
            super.close(target);
        }

        @Override
        public void onConfirmation(AjaxRequestTarget target, final PPSModel ppsModel) {
            log.info("Emulate MPPS for Study:" + ppsModel.getStudy().getStudyInstanceUID());
            int success = -1;
            try {
                if (ppsModel.hasForeignPpsInfo()) {
                    ContentEditDelegate.getInstance().removeForeignPpsInfo(ppsModel.getStudy().getPk());
                }
                success = MppsEmulateDelegate.getInstance().emulateMpps(ppsModel.getStudy().getPk());
            } catch (Throwable t) {
                log.error("Emulate MPPS failed!", t);
            }
            setStatus(new StringResourceModel(
                    success < 0 ? "folder.message.emulateFailed" : "folder.message.emulateDone",
                    StudyListPage.this, null, new Object[] { new Integer(success) }));
            if (success > 0) {
                StudyModel st = ppsModel.getStudy();
                st.collapse();
                st.expand();
            }
        }
    };
    confirmEmulateMpps.setInitialHeight(150);
    form.add(confirmEmulateMpps);
}

From source file:org.dcm4chee.web.war.folder.webviewer.Webviewer.java

License:LGPL

@SuppressWarnings("serial")
public static AbstractLink getLink(final AbstractDicomModel model, final WebviewerLinkProvider[] providers,
        final StudyPermissionHelper studyPermissionHelper, TooltipBehaviour tooltip, ModalWindow modalWindow,
        final WebviewerLinkClickedCallback callback) {
    final WebviewerLinkProvider[] p = { null };
    AbstractLink link = null;//from   w ww .java  2s  .c o  m
    if (providers != null)
        for (int i = 0; i < providers.length; i++) {
            if (isLevelSupported(model, providers[i])) {
                if (p[0] == null) {
                    p[0] = providers[i];
                } else {
                    link = getWebviewerSelectionPageLink(model, providers, modalWindow, callback);
                    break;
                }
            }
        }
    if (p[0] == null) {
        link = new ExternalLink(WEBVIEW_ID, "http://dummy");
        link.setVisible(false);
    } else {
        if (link == null) {
            if (p[0].hasOwnWindow()) {
                String url = getUrlForModel(model, p[0]);
                link = new ExternalLink(WEBVIEW_ID, url);
                ((ExternalLink) link).setPopupSettings(getPopupSettingsForDirectGET(url));
            } else if (p[0].supportViewingAllSelection()) {
                link = new Link<Object>(WEBVIEW_ID) {

                    private static final long serialVersionUID = 1L;

                    @Override
                    public void onClick() {
                        try {
                            ExportDicomModel dicomModel = new ExportDicomModel(model);

                            RequestCycle.get().setRequestTarget(EmptyRequestTarget.getInstance());

                            HttpServletRequest request = ((WebRequestCycle) RequestCycle.get()).getWebRequest()
                                    .getHttpServletRequest();
                            HttpServletResponse response = ((WebResponse) getRequestCycle().getResponse())
                                    .getHttpServletResponse();
                            String result = p[0].viewAllSelection(dicomModel.getPatients(), request, response);
                            if (!p[0].notWebPageLinkTarget()) {
                                ViewerPage page = new ViewerPage();
                                page.add(new Label("viewer", new Model<String>(result))
                                        .setEscapeModelStrings(false));
                                this.setResponsePage(page);
                            }
                        } catch (Exception e) {
                            log.error("Cannot view the selection!", e);
                            if (p[0].notWebPageLinkTarget()) {
                                setResponsePage(getPage());
                            }
                        }
                    }
                };

                WebClientInfo clientInfo = (WebClientInfo) WebRequestCycle.get().getClientInfo();
                String browser = clientInfo.getUserAgent();

                if (!p[0].notWebPageLinkTarget() || (browser != null && browser.contains("Firefox"))) {
                    ((Link) link).setPopupSettings(new PopupSettings(PageMap.forName("webviewPage"),
                            PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS));
                }
            } else {
                link = new Link<Object>(WEBVIEW_ID) {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void onClick() {
                        setResponsePage(new WebviewerRedirectPage(model, p[0]));
                    }
                };
                ((Link) link).setPopupSettings(new PopupSettings(PageMap.forName("webviewPage"),
                        PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS));
            }
            if (callback != null) {
                link.add(new AjaxEventBehavior("onclick") {
                    @Override
                    public void onEvent(AjaxRequestTarget target) {
                        callback.linkClicked(target);
                    }

                    // just for the case, if the link is rendered as a <button> element
                    @Override
                    protected void onComponentTag(ComponentTag tag) {
                        String current = tag.getAttribute("onclick");

                        super.onComponentTag(tag);

                        if (current != null) {
                            tag.put("onclick",
                                    new StringBuilder(tag.getAttribute("onclick")).append(";").append(current));
                        }
                    }
                });
            }
        }
        if (model instanceof PatientModel) {
            link.setVisible(studyPermissionHelper.checkPermission(model.getDicomModelsOfNextLevel(),
                    StudyPermission.READ_ACTION, false));
        } else {
            link.setVisible(studyPermissionHelper.checkPermission(model, StudyPermission.READ_ACTION));
        }
    }
    Image image = new Image("webviewImg", ImageManager.IMAGE_FOLDER_VIEWER);
    image.add(new ImageSizeBehaviour("vertical-align: middle;"));
    if (tooltip != null)
        image.add(tooltip);
    link.add(image);
    return link;
}

From source file:org.dcm4chee.web.war.folder.webviewer.Webviewer.java

License:LGPL

private static AbstractLink getWebviewerSelectionPageLink(final AbstractDicomModel model,
        final WebviewerLinkProvider[] providers, final ModalWindow modalWindow,
        final WebviewerLinkClickedCallback callback) {
    log.debug("Use SelectionLINK for model:{}", model);
    if (modalWindow == null) {
        Link<Object> link = new Link<Object>(WEBVIEW_ID) {
            private static final long serialVersionUID = 1L;

            @Override//from   w w  w. j av  a2 s. co m
            public void onClick() {
                setResponsePage(new WebviewerSelectionPage(model, providers, null, callback));
            }
        };
        link.setPopupSettings(new PopupSettings(PageMap.forName("webviewPage"),
                PopupSettings.RESIZABLE | PopupSettings.SCROLLBARS));
        return link;
    } else {
        int[] winSize = WebCfgDelegate.getInstance().getWindowSize("webviewer");
        return new ModalWindowLink(WEBVIEW_ID, modalWindow, winSize[0], winSize[1]) {

            private static final long serialVersionUID = 1L;

            @Override
            public void onClick(AjaxRequestTarget target) {

                modalWindow.setPageCreator(new ModalWindow.PageCreator() {

                    private static final long serialVersionUID = 1L;

                    @Override
                    public Page createPage() {
                        return new WebviewerSelectionPage(model, providers, modalWindow, callback);
                    }
                });
                modalWindow.setTitle("");
                modalWindow.show(target);
            }

        };
    }
}