Collection<Class> coldClasses = new HashSet<>(); for (Name<?> name : factory.getWarehouse().listNames()) { Optional<?> c = factory.queryByName(name).findOneAsComponent(); if (c.isPresent()) {
Collection<Class> coldClasses = new HashSet<>(); for (Name<?> name : factory.getWarehouse().listNames()) { Optional<?> c = factory.queryByName(name).findOneAsComponent(); if (c.isPresent()) {
public HttpTestClient authenticatedAs(String principal) { Factory factory = Factory.newInstance(); RestxSessionCookieDescriptor restxSessionCookieDescriptor = factory.getComponent(RestxSessionCookieDescriptor.class); Signer signer = factory.queryByClass(Signer.class).findOneAsComponent().get(); ImmutableMap.Builder<String, String> cookiesBuilder = ImmutableMap.<String, String>builder().putAll(cookies); String uuid = factory.getComponent(UUIDGenerator.class).doGenerate(); String expires = DateTime.now().plusHours(1).toString(); String sessionContent = String.format( "{\"_expires\":\"%s\",\"principal\":\"%s\",\"sessionKey\":\"%s\"}", expires, principal, uuid); cookiesBuilder.put(restxSessionCookieDescriptor.getCookieName(), sessionContent); cookiesBuilder.put(restxSessionCookieDescriptor.getCookieSignatureName(), signer.sign(sessionContent)); return new HttpTestClient(baseUrl, principal, cookiesBuilder.build()); }
private <T> boolean checkActive(Name<T> name) { if (name.getClazz() == String.class && name.getName().startsWith("restx.activation::")) { // can't deactivate activation keys themselves return true; } // check 'cache' for perf reasons - core Factory being immutable the 'cache' never needs to be invalidated if (deactivatedComponents.contains(name)) { return false; } if (activatedComponents.contains(name)) { return true; } // actual check Class<?> aClass = name.getClazz(); while (aClass != null) { if ("false".equals(queryByName(Name.of(String.class, activationKey(aClass, name.getName()))) .findOneAsComponent().or("true"))) { deactivatedComponents.add(name); return false; } aClass = aClass.getSuperclass(); } activatedComponents.add(name); return true; }
/** * Builds a component by class. * * This is a shortcut for queryByClass(cls).mandatory().findOneAsComponent().get() * * Therefore it raises an exception if no component of this class is found or if several one match. * * @param componentClass * @param <T> * @return */ public <T> T getComponent(Class<T> componentClass) { return checkPresent(queryByClass(componentClass).mandatory().findOneAsComponent(), "component of class %s not found", componentClass); }
/** * Builds a component by name. * * This is a shortcut for queryByName(name).mandatory().findOneAsComponent().get() * * Therefore it raises an exception if no component of this name is found. * * @param componentName * @param <T> * @return */ public <T> T getComponent(Name<T> componentName) { return checkPresent(queryByName(componentName).mandatory().findOneAsComponent(), "component of name %s not found", componentName); }
@Override public KeyDeserializer keyDeserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> keyDeserClass) { return (KeyDeserializer) factory.queryByClass(keyDeserClass).optional().findOneAsComponent().orNull(); }
@Override public JsonDeserializer<?> deserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> deserClass) { return (JsonDeserializer<?>) factory.queryByClass(deserClass).optional().findOneAsComponent().orNull(); }
public HttpTestClient authenticatedAs(String principal) { Factory factory = Factory.newInstance(); RestxSessionCookieDescriptor restxSessionCookieDescriptor = factory.getComponent(RestxSessionCookieDescriptor.class); Signer signer = factory.queryByClass(Signer.class).findOneAsComponent().get(); ImmutableMap.Builder<String, String> cookiesBuilder = ImmutableMap.<String, String>builder().putAll(cookies); String uuid = factory.getComponent(UUIDGenerator.class).doGenerate(); String expires = DateTime.now().plusHours(1).toString(); String sessionContent = String.format( "{\"_expires\":\"%s\",\"principal\":\"%s\",\"sessionKey\":\"%s\"}", expires, principal, uuid); cookiesBuilder.put(restxSessionCookieDescriptor.getCookieName(), sessionContent); cookiesBuilder.put(restxSessionCookieDescriptor.getCookieSignatureName(), signer.sign(sessionContent)); return new HttpTestClient(baseUrl, principal, cookiesBuilder.build()); }
@Override public JsonSerializer<?> serializerInstance(SerializationConfig config, Annotated annotated, Class<?> serClass) { return (JsonSerializer<?>) factory.queryByClass(serClass).optional().findOneAsComponent().orNull(); }
@Override public JsonSerializer<?> serializerInstance(SerializationConfig config, Annotated annotated, Class<?> serClass) { return (JsonSerializer<?>) factory.queryByClass(serClass).optional().findOneAsComponent().orNull(); }
@Override public KeyDeserializer keyDeserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> keyDeserClass) { return (KeyDeserializer) factory.queryByClass(keyDeserClass).optional().findOneAsComponent().orNull(); }
@Override public TypeResolverBuilder<?> typeResolverBuilderInstance(MapperConfig<?> config, Annotated annotated, Class<?> builderClass) { return (TypeResolverBuilder<?>) factory.queryByClass(builderClass).optional().findOneAsComponent().orNull(); }
@Override public TypeResolverBuilder<?> typeResolverBuilderInstance(MapperConfig<?> config, Annotated annotated, Class<?> builderClass) { return (TypeResolverBuilder<?>) factory.queryByClass(builderClass).optional().findOneAsComponent().orNull(); }
@Override public JsonDeserializer<?> deserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> deserClass) { return (JsonDeserializer<?>) factory.queryByClass(deserClass).optional().findOneAsComponent().orNull(); }
@Override public TypeIdResolver typeIdResolverInstance(MapperConfig<?> config, Annotated annotated, Class<?> resolverClass) { return (TypeIdResolver) factory.queryByClass(resolverClass).optional().findOneAsComponent().orNull(); } });
@Override public TypeIdResolver typeIdResolverInstance(MapperConfig<?> config, Annotated annotated, Class<?> resolverClass) { return (TypeIdResolver) factory.queryByClass(resolverClass).optional().findOneAsComponent().orNull(); } });