org.apache.commons.io.monitor.FileAlterationListenerAdaptor#org.apache.wicket.request.component.IRequestablePage源码实例Demo

下面列出了org.apache.commons.io.monitor.FileAlterationListenerAdaptor#org.apache.wicket.request.component.IRequestablePage 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Orienteer   文件: AbstractMountedMapper.java
/**
 * Ensure that request is for this mapper
 * @param requestHandler request handler for handle request
 * @return url if this mapper can handle this request
 */
@Override
public Url mapHandler(IRequestHandler requestHandler) {
    if (requestHandler instanceof IPageClassRequestHandler) {
        IPageClassRequestHandler handler = (IPageClassRequestHandler) requestHandler;
        PageParameters params = null;
        if (handler instanceof IPageRequestHandler) {
            IRequestablePage page = ((IPageRequestHandler)handler).getPage();
            if (page != null) {
                params = page.getPageParameters();
            }
        }

        if (params == null) {
            params = handler.getPageParameters();
        }
        return isMatch(params) ? super.mapHandler(requestHandler) : null;
    } else {
        return super.mapHandler(requestHandler);
    }
}
 
源代码2 项目: yes-cart   文件: WicketPagesMounterImpl.java
public WicketPagesMounterImpl(final IPageParametersEncoder encoder,
                              final Map<String, Map<String, Class<IRequestablePage>>> pageMapping,
                              final String loginUrl,
                              final List<String> encoderEnabledUrls) {
    this.encoder = encoder;
    this.loginUrl = loginUrl;
    this.pageMapping = pageMapping;
    this.encoderEnabledUrls = encoderEnabledUrls;
}
 
源代码3 项目: yes-cart   文件: WicketPagesMounterImpl.java
/** {@inheritDoc} */
@Override
public void mountPages(final WebApplication webApplication) {

    for (Map.Entry<String, Map<String, Class<IRequestablePage>>> pageMappingEntry : pageMapping.entrySet()) {
        final String url = pageMappingEntry.getKey();
        final Map<String, Class<IRequestablePage>> pages = pageMappingEntry.getValue();
        final ClassReference classProvider;
        if (pages.size() == 1) {
            // there is only default mapping for this url
            classProvider = ClassReference.of(pages.entrySet().iterator().next().getValue());
            LOG.info("Mounting url '{}' to page '{}'", url, classProvider.get().getCanonicalName());
        } else {
            // more than one mapping - need a theme dependent class provider
            classProvider = new ThemePageProvider(pages);
            if (LOG.isInfoEnabled()) {
                LOG.info("Mounting url '{}' to pages:", url);
                for (final Map.Entry<String, Class<IRequestablePage>> entry : pages.entrySet()) {
                    LOG.info("theme: '{}', page: '{}'", entry.getKey(), entry.getValue());
                }
            }
        }
        if (encoderEnabledUrls.contains(url)) {
            webApplication.mount(new MountedMapper(url, classProvider, encoder));
        } else {
            webApplication.mount(new MountedMapper(url, classProvider));
        }
        if (loginUrl.equals(url)) {
            loginPage = classProvider;
            LOG.info("Login url [{}], class {}", loginUrl, loginPage);
        } else if ("/".equals(url)) {
            homePage = classProvider;
            LOG.info("Home url [/], class {}", homePage);
        }
        pageByUri.put(url, classProvider);
    }
}
 
源代码4 项目: yes-cart   文件: ThemePageProvider.java
public ThemePageProvider(final Map<String, Class<IRequestablePage>> pages) {
    super(IRequestablePage.class);

    Assert.notEmpty(pages, "Must have pages mapping");
    Assert.isTrue(pages.containsKey("default"), "Must have mapping for default theme");

    for (final Map.Entry<String, Class<IRequestablePage>> entry : pages.entrySet()) {
        this.pages.put(entry.getKey(), ClassReference.of(entry.getValue()));
    }
}
 
源代码5 项目: yes-cart   文件: ThemePageProvider.java
/** {@inheritDoc} */
@Override
public Class<IRequestablePage> get() {
    List<String> themeChain = ApplicationDirector.getCurrentThemeChain();
    for (final String theme : themeChain) {
        if (this.pages.containsKey(theme)) {
            return this.pages.get(theme).get();
        }
    }
    return this.pages.get("default").get();
}
 
源代码6 项目: Orienteer   文件: AbstractODocumentAliasMapper.java
public AbstractODocumentAliasMapper(String mountPath,
                                    Class<? extends IRequestablePage> pageClass,
                                    OQueryModel<ODocument> queryModel,
                                    String parameter,
                                    IPageParametersEncoder pageParametersEncoder) {
    super(mountPath, pageClass, pageParametersEncoder);
    this.queryModel = queryModel;
    this.parameter = parameter;
    this.mountPath = mountPath;
}
 
源代码7 项目: Orienteer   文件: AbstractODocumentAliasMapper.java
public AbstractODocumentAliasMapper(String mountPath, Supplier<Class<? extends IRequestablePage>> pageProvider,
                                    OQueryModel<ODocument> queryModel, String parameter, IPageParametersEncoder encoder) {
    super(mountPath, pageProvider, encoder);
    this.queryModel = queryModel;
    this.parameter = parameter;
    this.mountPath = mountPath;
}
 
源代码8 项目: Orienteer   文件: OrienteerWebApplication.java
private void mountOrUnmountPackage(String packageName, ClassLoader classLoader, boolean mount) {
	ClassPath classPath;
	try {
		classPath = ClassPath.from(classLoader);
	} catch (IOException e) {
		throw new WicketRuntimeException("Can't scan classpath", e);
	}
	
	for(ClassInfo classInfo : classPath.getTopLevelClassesRecursive(packageName)) {
		Class<?> clazz = classInfo.load();
		MountPath mountPath = clazz.getAnnotation(MountPath.class);
		if(mountPath!=null) {
			if(IRequestablePage.class.isAssignableFrom(clazz)) { 
				Class<? extends IRequestablePage> pageClass = (Class<? extends IRequestablePage>) clazz;
				forEachOnMountPath(mountPath, path -> {
									if(mount) {
										if ("/".equals(path)) {
											mount(new HomePageMapper(pageClass));
										}
										mount(new MountedMapper(path, pageClass));
									} else {
										unmount(path);
									}
								});
			} else if(IResource.class.isAssignableFrom(clazz)) {
				if(mount) {
					String resourceKey = clazz.getName();
					getSharedResources().add(resourceKey, (IResource) getServiceInstance(clazz));
					SharedResourceReference reference = new SharedResourceReference(resourceKey);
					forEachOnMountPath(mountPath, path -> mountResource(path, reference));
				} else {
					forEachOnMountPath(mountPath, this::unmount);
				}
			} else {
				throw new WicketRuntimeException("@"+MountPath.class.getSimpleName()+" should be only on pages or resources");
			}
		}
	}
}
 
源代码9 项目: onedev   文件: WebSocketRequestHandler.java
@Override
public Class<? extends IRequestablePage> getPageClass()
{
	return page.getPageClass();
}
 
源代码10 项目: onedev   文件: OnePageMapper.java
public OnePageMapper(String mountPath, Class<? extends IRequestablePage> pageClass) {
	super(mountPath, pageClass);
}
 
源代码11 项目: yes-cart   文件: WicketPagesMounterImpl.java
/** {@inheritDoc} */
@Override
public ClassReference<IRequestablePage> getHomePageProvider() {
    return homePage;
}
 
源代码12 项目: yes-cart   文件: WicketPagesMounterImpl.java
/** {@inheritDoc} */
@Override
public ClassReference<IRequestablePage> getLoginPageProvider() {
    return loginPage;
}
 
源代码13 项目: yes-cart   文件: WicketPagesMounterImpl.java
/** {@inheritDoc} */
@Override
public ClassReference<IRequestablePage> getPageProviderByUri(final String uri) {
    return pageByUri.get(uri);
}
 
源代码14 项目: yes-cart   文件: ThemePageProviderTest.java
@Test
public void testGet() throws Exception {

    final ThemeService themeServiceDefault = mockery.mock(ThemeService.class, "themeServiceDefault");
    final ThemeService themeServiceTheme1 = mockery.mock(ThemeService.class, "themeServiceTheme1");
    final ThemeService themeServiceTheme2 = mockery.mock(ThemeService.class, "themeServiceTheme2");

    final ThemePageProvider page = new ThemePageProvider(new HashMap() {{
        put("default", IRequestablePage.class);
        put("theme1", IRequestablePageTheme1.class);
        put("theme2", IRequestablePageTheme2.class);
    }});


    final Shop shopDefault = mockery.mock(Shop.class, "default");
    final Shop shopTheme1 = mockery.mock(Shop.class, "theme1,default");
    final Shop shopTheme2 = mockery.mock(Shop.class, "theme2,theme1,default");


    mockery.checking(new Expectations() {{
        allowing(shopDefault).getShopId();
        will(returnValue(1L));
        allowing(themeServiceDefault).getThemeChainByShopId(1L, null);
        will(returnValue(Arrays.asList("default")));

        allowing(shopTheme1).getShopId();
        will(returnValue(2L));
        allowing(themeServiceTheme1).getThemeChainByShopId(2L, null);
        will(returnValue(Arrays.asList("theme1","default")));

        allowing(shopTheme2).getShopId();
        will(returnValue(3L));
        allowing(themeServiceTheme2).getThemeChainByShopId(3L, null);
        will(returnValue(Arrays.asList("theme2","theme1","default")));
    }});

    new ApplicationDirector();

    ApplicationDirector.setCurrentThemeChain(Arrays.asList("default"));
    ApplicationDirector.setCurrentShop(shopDefault);
    assertSame(IRequestablePage.class, page.get());
    ApplicationDirector.clear();

    ApplicationDirector.setCurrentThemeChain(Arrays.asList("theme1","default"));
    ApplicationDirector.setCurrentShop(shopTheme1);
    assertSame(IRequestablePageTheme1.class, page.get());
    ApplicationDirector.clear();

    ApplicationDirector.setCurrentThemeChain(Arrays.asList("theme2","theme1","default"));
    ApplicationDirector.setCurrentShop(shopTheme2);
    assertSame(IRequestablePageTheme2.class, page.get());
    ApplicationDirector.clear();

}
 
源代码15 项目: openmeetings   文件: Application.java
public NoVersionMapper(final Class<? extends IRequestablePage> pageClass) {
	this("/", pageClass);
}
 
源代码16 项目: openmeetings   文件: Application.java
public NoVersionMapper(String mountPath, final Class<? extends IRequestablePage> pageClass) {
	super(mountPath, pageClass, new PageParametersEncoder());
}
 
源代码17 项目: pm-wicket-utils   文件: AbstractComponentTest.java
@Override
public Class<? extends IRequestablePage> getPageClass() {
	return inner.getPageClass();
}
 
源代码18 项目: syncope   文件: SyncopeUIRequestCycleListener.java
@Override
public IRequestHandler onException(final RequestCycle cycle, final Exception e) {
    LOG.error("Exception found", e);

    PageParameters errorParameters = new PageParameters();

    IRequestablePage errorPage;
    if (instanceOf(e, UnauthorizedInstantiationException.class) != null) {
        errorParameters.add("errorMessage", BaseSession.Error.AUTHORIZATION.fallback());
        errorPage = getErrorPage(errorParameters);
    } else if (instanceOf(e, AccessControlException.class) != null) {
        if (StringUtils.containsIgnoreCase(instanceOf(e, AccessControlException.class).getMessage(), "expired")) {
            errorParameters.add("errorMessage", BaseSession.Error.SESSION_EXPIRED.fallback());
        } else {
            errorParameters.add("errorMessage", BaseSession.Error.AUTHORIZATION.fallback());
        }
        errorPage = getErrorPage(errorParameters);
    } else if (instanceOf(e, PageExpiredException.class) != null || !isSignedIn()) {
        errorParameters.add("errorMessage", BaseSession.Error.SESSION_EXPIRED.fallback());
        errorPage = getErrorPage(errorParameters);
    } else if (instanceOf(e, BadRequestException.class) != null
            || instanceOf(e, WebServiceException.class) != null
            || instanceOf(e, SyncopeClientException.class) != null) {

        errorParameters.add("errorMessage", BaseSession.Error.REST.fallback());
        errorPage = getErrorPage(errorParameters);
    } else {
        Throwable cause = instanceOf(e, ForbiddenException.class);
        if (cause == null) {
            // redirect to default Wicket error page
            errorPage = new ExceptionErrorPage(e, null);
        } else {
            errorParameters.add("errorMessage", cause.getMessage());
            errorPage = getErrorPage(errorParameters);
        }
    }

    if (errorPage instanceof BaseLogin) {
        try {
            invalidateSession();
        } catch (Throwable t) {
            // ignore
            LOG.debug("Unexpected error while forcing logout after error", t);
        }
    }

    return new RenderPageRequestHandler(new PageProvider(errorPage));
}
 
源代码19 项目: Orienteer   文件: AbstractMountedMapper.java
public AbstractMountedMapper(String mountPath, Class<? extends IRequestablePage> pageClass) {
    super(mountPath, pageClass);
}
 
源代码20 项目: Orienteer   文件: AbstractMountedMapper.java
public AbstractMountedMapper(String mountPath, Supplier<Class<? extends IRequestablePage>> pageClassProvider) {
    super(mountPath, pageClassProvider);
}
 
源代码21 项目: Orienteer   文件: AbstractMountedMapper.java
public AbstractMountedMapper(String mountPath, Class<? extends IRequestablePage> pageClass, IPageParametersEncoder pageParametersEncoder) {
    super(mountPath, pageClass, pageParametersEncoder);
}
 
源代码22 项目: Orienteer   文件: AbstractMountedMapper.java
public AbstractMountedMapper(String mountPath, Supplier<Class<? extends IRequestablePage>> pageClassProvider, IPageParametersEncoder pageParametersEncoder) {
    super(mountPath, pageClassProvider, pageParametersEncoder);
}
 
源代码23 项目: Orienteer   文件: PagesMountedMapper.java
private static Class<? extends IRequestablePage> getPageClass(ODocument page) {
	Boolean embedded = page.field(PagesModule.OPROPERTY_EMBEDDED);
	return embedded == null || embedded ? EmbeddedWebPage.class : FullWebPage.class;
}
 
public PageParameterAwareMountedMapper(String mountPath, Class< ? extends IRequestablePage> pageClass)
{
  super(mountPath, pageClass);
}
 
@Override
protected IRequestHandler processHybrid(PageInfo pageInfo, Class< ? extends IRequestablePage> pageClass, PageParameters pageParameters,
    Integer renderCount)
{
  IRequestHandler handler = null;
  try {
    handler = super.processHybrid(pageInfo, pageClass, pageParameters, renderCount);
  } catch (PageExpiredException e) {
    // in case of pageExpiredException at this point, we just redirect to previous bookmarkable resource
    return processBookmarkable(pageClass, pageParameters);
  }
  if (handler != null && handler instanceof RenderPageRequestHandler) {
    // in the current implementation (wicket 1.5.6) super.processHybrid
    // returns a RenderPageRequestHandler
    RenderPageRequestHandler renderPageHandler = (RenderPageRequestHandler) handler;
    if (renderPageHandler.getPageProvider() instanceof PageProvider) {
      PageProvider provider = (PageProvider) renderPageHandler.getPageProvider();
      // This check is necessary to prevent a RestartResponseAtInterceptPageException at the wrong time in request cycle
      if (provider.hasPageInstance()) {
        // get page classes
        Class< ? extends IRequestablePage> oldPageClass = renderPageHandler.getPageClass();
        Class< ? extends IRequestablePage> newPageClass = renderPageHandler.getPageProvider().getPageClass();

        // get page parameters
        PageParameters newPageParameters = renderPageHandler.getPageParameters();
        PageParameters oldPageParameters = renderPageHandler.getPageProvider().getPageInstance().getPageParameters();

        if (oldPageClass != null && oldPageClass.equals(newPageClass) == false) {
          return processBookmarkable(newPageClass, newPageParameters);
        }

        // if we recognize a change between the page parameter of the loaded
        // page and the page parameter of the current request, we redirect
        // to a fresh bookmarkable instance of that page.
        if (!PageParameters.equals(oldPageParameters, newPageParameters)) {
          return processBookmarkable(newPageClass, newPageParameters);
        }
      }
    }
  }
  return handler;
}
 
源代码26 项目: nextreports-server   文件: NoVersionMountMapper.java
public NoVersionMountMapper(final Class<? extends IRequestablePage> pageClass) {
    this("/", pageClass);
}
 
源代码27 项目: nextreports-server   文件: NoVersionMountMapper.java
public NoVersionMountMapper(String mountPath, final Class<? extends IRequestablePage> pageClass) {
    super(mountPath, pageClass, new PageParametersEncoder());
}
 
源代码28 项目: yes-cart   文件: WicketPagesMounter.java
/**
 * @return page provider that returns theme specific home page.
 */
ClassReference<IRequestablePage> getHomePageProvider();
 
源代码29 项目: yes-cart   文件: WicketPagesMounter.java
/**
 * @return page provider that returns theme specific login page.
 */
ClassReference<IRequestablePage> getLoginPageProvider();
 
源代码30 项目: yes-cart   文件: WicketPagesMounter.java
/**
 * Get page class by URI
 *
 * @param uri mounted URI
 *
 * @return page provider that returns theme specific login page.
 */
ClassReference<IRequestablePage> getPageProviderByUri(String uri);