Example usage for org.apache.wicket.util.lang Bytes valueOf

List of usage examples for org.apache.wicket.util.lang Bytes valueOf

Introduction

In this page you can find the example usage for org.apache.wicket.util.lang Bytes valueOf.

Prototype

public static Bytes valueOf(final String string) throws StringValueConversionException 

Source Link

Document

Converts a string to a number of bytes.

Usage

From source file:com.locke.tricks.u.U.java

License:Apache License

@SuppressWarnings("unchecked")
public U() {/*from   www  .j  a v  a 2  s .com*/

    final IColumn<Utility>[] columns = new IColumn[2];
    columns[0] = new PropertyColumn<Utility>(new Model<String>("Code"), "code", "code");
    columns[1] = new PropertyColumn<Utility>(new Model<String>("Output"), "output", "output");

    final DataTable<Utility> dataTable = new DataTable<Utility>("utilities", columns,
            this.utilitiesDataProvider, Integer.MAX_VALUE);
    dataTable.addTopToolbar(new HeadersToolbar(dataTable, new ISortStateLocator() {

        private ISortState sortState = new SingleSortState();

        public ISortState getSortState() {
            return this.sortState;
        }

        public void setSortState(final ISortState state) {
            this.sortState = state;
        }
    }));
    add(dataTable);

    this.utilities.add(new Utility("Time.now().toString()") {

        @Override
        public String getOutput() {
            return Time.now().toString();
        }
    });
    this.utilities.add(new Utility("Duration.ONE_WEEK.toString()") {

        @Override
        public String getOutput() {
            return Duration.ONE_WEEK.toString();
        }
    });
    this.utilities.add(new Utility("Duration.ONE_WEEK.add(Duration.ONE_DAY).toString()") {

        @Override
        public String getOutput() {
            return Duration.ONE_WEEK.add(Duration.ONE_DAY).toString();
        }
    });
    this.utilities.add(new Utility("Time.now().add(Duration.ONE_WEEK).toString()") {

        @Override
        public String getOutput() {
            return Time.now().add(Duration.ONE_WEEK).toString();
        }
    });
    this.utilities.add(new Utility("Bytes.valueOf(\"512K\") + Bytes.megabytes(1.3)") {

        @Override
        public String getOutput() {
            return Bytes.bytes(Bytes.valueOf("512K").bytes() + Bytes.megabytes(1.3).bytes()).toString();
        }
    });
    this.utilities.add(new Utility("Parsing \'13 + 13\' using MetaPattern") {

        @Override
        public String getOutput() {
            final IntegerGroup a = new IntegerGroup(MetaPattern.DIGITS);
            final IntegerGroup b = new IntegerGroup(MetaPattern.DIGITS);
            final MetaPattern sum = new MetaPattern(new MetaPattern[] { a, MetaPattern.OPTIONAL_WHITESPACE,
                    MetaPattern.PLUS, MetaPattern.OPTIONAL_WHITESPACE, b });
            final Matcher matcher = sum.matcher("13 + 13");
            if (matcher.matches()) {
                return Integer.toString(a.getInt(matcher) + b.getInt(matcher));
            }
            return "Failed to match.";
        }
    });
}

From source file:org.hippoecm.frontend.Main.java

License:Apache License

@Override
protected void init() {
    super.init();

    addRequestCycleListeners();//from   w w w .ja  va2s  .  com

    registerSessionListeners();

    getPageSettings().setVersionPagesByDefault(false);
    //        getPageSettings().setAutomaticMultiWindowSupport(false);

    //        getSessionSettings().setPageMapEvictionStrategy(new LeastRecentlyAccessedEvictionStrategy(1));

    getApplicationSettings().setPageExpiredErrorPage(PageExpiredErrorPage.class);
    try {
        String cfgParam = getConfigurationParameter(MAXUPLOAD_PARAM, null);
        if (cfgParam != null && cfgParam.trim().length() > 0) {
            getApplicationSettings().setDefaultMaximumUploadSize(Bytes.valueOf(cfgParam));
        }
    } catch (StringValueConversionException ex) {
        log.warn("Unable to parse number as specified by " + MAXUPLOAD_PARAM, ex);
    }
    final IClassResolver originalResolver = getApplicationSettings().getClassResolver();
    getApplicationSettings().setClassResolver(new IClassResolver() {

        @Override
        public Class resolveClass(String name) throws ClassNotFoundException {
            if (Session.exists()) {
                UserSession session = UserSession.get();
                ClassLoader loader = session.getClassLoader();
                if (loader != null) {
                    return session.getClassLoader().loadClass(name);
                }
            }
            return originalResolver.resolveClass(name);
        }

        @Override
        public Iterator<URL> getResources(String name) {
            List<URL> resources = new LinkedList<>();
            for (Iterator<URL> iter = originalResolver.getResources(name); iter.hasNext();) {
                resources.add(iter.next());
            }
            if (Session.exists()) {
                UserSession session = UserSession.get();
                ClassLoader loader = session.getClassLoader();
                if (loader != null) {
                    try {
                        for (Enumeration<URL> resourceEnum = session.getClassLoader()
                                .getResources(name); resourceEnum.hasMoreElements();) {
                            resources.add(resourceEnum.nextElement());
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            return resources.iterator();
        }

        @Override
        public ClassLoader getClassLoader() {
            return Main.class.getClassLoader();
        }
    });

    final IResourceSettings resourceSettings = getResourceSettings();

    // replace current loaders with own list, starting with component-specific
    List<IStringResourceLoader> loaders = resourceSettings.getStringResourceLoaders();
    loaders.add(new ClassFromKeyStringResourceLoader());
    loaders.add(new IStringResourceLoader() {

        @Override
        public String loadStringResource(final Class<?> clazz, final String key, final Locale locale,
                final String style, final String variation) {
            return null;
        }

        @Override
        public String loadStringResource(final Component component, String key, final Locale locale,
                final String style, final String variation) {
            if (key.contains(",")) {
                key = key.substring(0, key.lastIndexOf(','));
                return resourceSettings.getLocalizer().getStringIgnoreSettings(key, component, null, locale,
                        style, variation);
            }
            return null;
        }
    });

    if (RuntimeConfigurationType.DEVELOPMENT.equals(getConfigurationType())) {
        resourceSettings.setCachingStrategy(new NoOpResourceCachingStrategy());
    } else {
        resourceSettings.setCachingStrategy(
                new FilenameWithVersionResourceCachingStrategy(new LastModifiedResourceVersion()));
    }

    mount(new MountMapper("binaries", new IMountedRequestMapper() {

        @Override
        public IRequestHandler mapRequest(final Request request, final MountParameters mountParams) {
            String path = Strings.join("/", request.getUrl().getSegments());
            try {
                javax.jcr.Session subSession = UserSession.get().getJcrSession();
                Node node = ((HippoWorkspace) subSession.getWorkspace()).getHierarchyResolver()
                        .getNode(subSession.getRootNode(), path);
                // YUCK: no exception!
                if (node == null) {
                    log.info("no binary found at " + path);
                } else {
                    if (node.isNodeType(HippoNodeType.NT_DOCUMENT)) {
                        node = (Node) JcrHelper.getPrimaryItem(node);
                    }
                    return new JcrResourceRequestHandler(node);
                }
            } catch (PathNotFoundException e) {
                log.info("binary not found " + e.getMessage());
            } catch (javax.jcr.LoginException ex) {
                log.warn(ex.getMessage());
            } catch (RepositoryException ex) {
                log.error(ex.getMessage());
            }
            return null;
        }

        @Override
        public int getCompatibilityScore(final Request request) {
            return 1;
        }

        @Override
        public Mount mapHandler(final IRequestHandler requestHandler) {
            return null;
        }
    }));

    String applicationName = getPluginApplicationName();

    if (PLUGIN_APPLICATION_VALUE_CMS.equals(applicationName)) {

        // the following is only applicable and needed for the CMS application, not the Console

        /*
         * HST SAML kind of authentication handler needed for Template Composer integration
         *
         */
        cmsContextService = (CmsInternalCmsContextService) HippoServiceRegistry
                .getService(CmsContextService.class);
        if (cmsContextService == null) {
            cmsContextServiceImpl = new CmsContextServiceImpl();
            cmsContextService = cmsContextServiceImpl;
            HippoServiceRegistry.registerService(cmsContextServiceImpl,
                    new Class[] { CmsContextService.class, CmsInternalCmsContextService.class });
        }
        mount(new MountMapper("auth", new IMountedRequestMapper() {

            @Override
            public IRequestHandler mapRequest(final Request request, final MountParameters mountParams) {

                IRequestHandler requestTarget = new RenderPageRequestHandler(
                        new PageProvider(getHomePage(), null), RedirectPolicy.AUTO_REDIRECT);

                IRequestParameters requestParameters = request.getRequestParameters();
                final List<StringValue> cmsCSIDParams = requestParameters.getParameterValues("cmsCSID");
                final List<StringValue> destinationPathParams = requestParameters
                        .getParameterValues("destinationPath");
                final String destinationPath = destinationPathParams != null && !destinationPathParams.isEmpty()
                        ? destinationPathParams.get(0).toString()
                        : null;

                PluginUserSession userSession = (PluginUserSession) Session.get();
                final UserCredentials userCredentials = userSession.getUserCredentials();

                HttpSession httpSession = ((ServletWebRequest) request).getContainerRequest().getSession();
                final CmsSessionContext cmsSessionContext = CmsSessionContext.getContext(httpSession);

                if (destinationPath != null && destinationPath.startsWith("/")
                        && (cmsSessionContext != null || userCredentials != null)) {

                    requestTarget = new IRequestHandler() {

                        @Override
                        public void respond(IRequestCycle requestCycle) {
                            String destinationUrl = RequestUtils.getFarthestUrlPrefix(request)
                                    + destinationPath;
                            WebResponse response = (WebResponse) RequestCycle.get().getResponse();
                            String cmsCSID = cmsCSIDParams == null ? null
                                    : cmsCSIDParams.get(0) == null ? null : cmsCSIDParams.get(0).toString();
                            if (!cmsContextService.getId().equals(cmsCSID)) {
                                // redirect to destinationURL and include marker that it is a retry. This way
                                // the destination can choose to not redirect for SSO handshake again if it still does not
                                // have a key
                                if (destinationUrl.contains("?")) {
                                    response.sendRedirect(destinationUrl + "&retry");
                                } else {
                                    response.sendRedirect(destinationUrl + "?retry");
                                }
                                return;
                            }
                            String cmsSessionContextId = cmsSessionContext != null ? cmsSessionContext.getId()
                                    : null;
                            if (cmsSessionContextId == null) {
                                CmsSessionContext newCmsSessionContext = cmsContextService.create(httpSession);
                                CmsSessionUtil.populateCmsSessionContext(cmsContextService,
                                        newCmsSessionContext, userSession);
                                cmsSessionContextId = newCmsSessionContext.getId();

                            }
                            if (destinationUrl.contains("?")) {
                                response.sendRedirect(destinationUrl + "&cmsCSID=" + cmsContextService.getId()
                                        + "&cmsSCID=" + cmsSessionContextId);
                            } else {
                                response.sendRedirect(destinationUrl + "?cmsCSID=" + cmsContextService.getId()
                                        + "&cmsSCID=" + cmsSessionContextId);
                            }
                        }

                        @Override
                        public void detach(IRequestCycle requestCycle) {
                            //Nothing to detach.
                        }
                    };
                }
                return requestTarget;
            }

            @Override
            public int getCompatibilityScore(final Request request) {
                return 0;
            }

            @Override
            public Mount mapHandler(final IRequestHandler requestHandler) {
                return null;
            }
        }));
    }

    // caching resource stream locator implementation that allows the class argument to be null.
    final IResourceStreamLocator resourceStreamLocator = resourceSettings.getResourceStreamLocator();
    resourceSettings.setResourceStreamLocator(new IResourceStreamLocator() {
        @Override
        public IResourceStream locate(Class<?> clazz, final String path) {
            if (clazz == null) {
                clazz = CACHING_RESOURCE_STREAM_LOCATOR_CLASS;
            }
            return resourceStreamLocator.locate(clazz, path);
        }

        @Override
        public IResourceStream locate(Class<?> clazz, final String path, final String style,
                final String variation, final Locale locale, final String extension, final boolean strict) {
            if (clazz == null) {
                clazz = CACHING_RESOURCE_STREAM_LOCATOR_CLASS;
            }
            return resourceStreamLocator.locate(clazz, path, style, variation, locale, extension, strict);
        }

        @Override
        public IResourceNameIterator newResourceNameIterator(final String path, final Locale locale,
                final String style, final String variation, final String extension, final boolean strict) {
            return resourceStreamLocator.newResourceNameIterator(path, locale, style, variation, extension,
                    strict);
        }
    });

    if (RuntimeConfigurationType.DEVELOPMENT.equals(getConfigurationType())) {
        // disable cache
        resourceSettings.getLocalizer().setEnableCache(false);

        final long timeout = NumberUtils.toLong(
                getConfigurationParameter(DEVELOPMENT_REQUEST_TIMEOUT_PARAM, null),
                DEFAULT_DEVELOPMENT_REQUEST_TIMEOUT_MS);

        if (timeout > 0L) {
            log.info("Setting wicket request timeout to {} ms.", timeout);
            getRequestCycleSettings().setTimeout(Duration.milliseconds(timeout));
        }

        // render comments with component class names
        getDebugSettings().setOutputMarkupContainerClassName(true);

        // do not render Wicket-specific markup since it can break CSS
        getMarkupSettings().setStripWicketTags(true);
    } else {
        // don't serialize pages for performance
        setPageManagerProvider(new DefaultPageManagerProvider(this) {

            @Override
            protected IPageStore newPageStore(final IDataStore dataStore) {
                return new AmnesicPageStore();
            }
        });

        // don't throw on missing resource
        resourceSettings.setThrowExceptionOnMissingResource(false);

        // don't show exception page
        getExceptionSettings().setUnexpectedExceptionDisplay(IExceptionSettings.SHOW_NO_EXCEPTION_PAGE);

        final long timeout = NumberUtils
                .toLong(getConfigurationParameter(DEPLOYMENT_REQUEST_TIMEOUT_PARAM, null));

        if (timeout > 0L) {
            log.info("Setting wicket request timeout to {} ms.", timeout);
            getRequestCycleSettings().setTimeout(Duration.milliseconds(timeout));
        }
    }

    String outputWicketpaths = obtainOutputWicketPathsParameter();

    if (outputWicketpaths != null && "true".equalsIgnoreCase(outputWicketpaths)) {
        getDebugSettings().setOutputComponentPath(true);
    }

    final IContextProvider<AjaxRequestTarget, Page> ajaxRequestTargetProvider = getAjaxRequestTargetProvider();
    setAjaxRequestTargetProvider(context -> new PluginRequestTarget(ajaxRequestTargetProvider.get(context)));

    setPageRendererProvider(new IPageRendererProvider() {

        @Override
        public PageRenderer get(final RenderPageRequestHandler context) {
            return new WebPageRenderer(context) {

                @Override
                protected BufferedWebResponse renderPage(final Url targetUrl, final RequestCycle requestCycle) {
                    IRequestHandler scheduled = requestCycle.getRequestHandlerScheduledAfterCurrent();
                    if (scheduled == null) {
                        IRequestablePage page = getPage();
                        if (page instanceof Home) {
                            Home home = (Home) page;
                            home.processEvents();
                            home.render(null);
                        }
                    }
                    return super.renderPage(targetUrl, requestCycle);
                }
            };
        }
    });

    // don't allow public access to any package resource (empty whitelist) by default
    resourceSettings.setPackageResourceGuard(new WhitelistedClassesResourceGuard());

    if (log.isInfoEnabled()) {
        log.info("Hippo CMS application " + applicationName + " has started");
    }
}

From source file:org.hippoecm.frontend.plugins.standards.diff.DefaultHtmlDiffService.java

License:Apache License

@Override
public String diff(final String originalValue, final String currentValue) {
    Bytes maxDiffSize = Bytes.valueOf(params.getString(MAX_DIFF_SIZE, DEFAULT_MAX_DIFF_SIZE));
    final int maxLenSize = Math.max(originalValue.length(), currentValue.length());

    try {// w  w  w  .  j  av  a  2 s. c  o m
        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
        if (maxLenSize <= maxDiffSize.bytes()) {
            DiffHelper.diffHtml(originalValue, currentValue, new StreamResult(baos), Session.get().getLocale());
            return baos.toString("UTF-8");
        } else {
            log.warn("Unable to diff a large content of size {} KB, which is exceeds the limitation {} KB ",
                    Bytes.bytes(maxLenSize).kilobytes(), maxDiffSize.kilobytes());
        }
    } catch (TransformerConfigurationException e) {
        log.error(e.getMessage(), e);
    } catch (SAXException e) {
        log.info(e.getMessage(), e);
    } catch (IOException e) {
        log.error(e.getMessage());
    }
    return null;
}

From source file:org.hippoecm.frontend.plugins.yui.upload.validation.DefaultUploadValidationService.java

License:Apache License

private void validateMaxFileSize(final FileUpload upload) {
    Bytes fileSize = Bytes.bytes(upload.getSize());

    final Bytes maxFileSize = Bytes.valueOf(values.getString(MAX_FILE_SIZE, getDefaultMaxFileSize()));
    if (maxFileSize.compareTo(fileSize) == -1) {
        addViolation("file.validation.size", upload.getClientFileName(), fileSize.toString(),
                maxFileSize.toString());

        if (log.isDebugEnabled()) {
            log.debug("File '{}' has size {} which is too big. The maximum size allowed is {}",
                    upload.getClientFileName(), fileSize.toString(), maxFileSize.toString());
        }/*w ww.ja v  a  2  s  . c  o  m*/
    }
}

From source file:org.hippoecm.frontend.plugins.yui.upload.validation.DefaultUploadValidationService.java

License:Apache License

@Override
public Bytes getMaxFileSize() {
    return Bytes.valueOf(values.getString(MAX_FILE_SIZE, getDefaultMaxFileSize()));
}

From source file:org.onehippo.forge.externalresource.frontend.plugins.gallery.VideoGalleryWorkflowPlugin.java

License:Apache License

private Dialog createUploadDialog() {
    List<String> galleryTypes = null;
    try {/*from   ww  w . j  a va2  s .c o  m*/
        WorkflowManager manager = ((UserSession) Session.get()).getWorkflowManager();
        WorkflowDescriptorModel workflowDescriptorModel = (WorkflowDescriptorModel) VideoGalleryWorkflowPlugin.this
                .getDefaultModel();
        GalleryWorkflow workflow = (GalleryWorkflow) manager.getWorkflow(workflowDescriptorModel.getObject());
        if (workflow == null) {
            VideoGalleryWorkflowPlugin.log.error("No gallery workflow accessible");
        } else {
            galleryTypes = workflow.getGalleryTypes();
        }
    } catch (RemoteException | RepositoryException ex) {
        VideoGalleryWorkflowPlugin.log.error(ex.getMessage(), ex);
    }

    Component typeComponent;
    if (galleryTypes != null && galleryTypes.size() > 1) {
        type = galleryTypes.get(0);
        typeComponent = new DropDownChoice("type", new PropertyModel(this, "type"), galleryTypes,
                new TypeChoiceRenderer(this)).setNullValid(false).setRequired(true);
    } else if (galleryTypes != null && galleryTypes.size() == 1) {
        type = galleryTypes.get(0);
        typeComponent = new Label("type", type).setVisible(false);
    } else {
        type = null;
        typeComponent = new Label("type", "default").setVisible(false);
    }

    UploadDialog dialog = new UploadDialog(getPluginContext(), getPluginConfig());
    if (getPluginConfig().containsKey("maxSize")) {
        dialog.setMaxSize(Bytes.valueOf(getPluginConfig().getString("maxSize")));
    }
    dialog.add(typeComponent);
    return dialog;
}