@Override public void run() { Errors.warning(this, LocalizationMessages.RESOURCE_MERGE_CONFLICT_LOCATORS(Resource.Builder.this, resourceBuilder, path)); } });
@Override public void run() { Errors.warning(this, LocalizationMessages.RESOURCE_MERGE_CONFLICT_LOCATORS(Resource.Builder.this, resourceBuilder, path)); } });
@Override public Void call() { for (final Object handlerInstance : resource.getHandlerInstances()) { final Class<?> handlerInstanceClass = handlerInstance.getClass(); if (!resource.getHandlerClasses().contains(handlerInstanceClass)) { createEnhancingMethods(handlerInstanceClass, handlerInstance, newMethods); } else { Errors.warning(resource, LocalizationMessages.TEMPLATE_HANDLER_ALREADY_ENHANCED(handlerInstanceClass)); } } return null; } });
private void checkResource(final Resource resource) { if (!resource.getResourceMethods().isEmpty() && resource.getResourceLocator() != null) { Errors.warning(resource, LocalizationMessages.RESOURCE_CONTAINS_RES_METHODS_AND_LOCATOR(resource, resource.getPath())); } if (resource.getPath() != null && resource.getResourceMethods().isEmpty() && resource.getChildResources().isEmpty() && resource.getResourceLocator() == null) { Errors.warning(resource, LocalizationMessages.RESOURCE_EMPTY(resource, resource.getPath())); } }
private void checkResource(final Resource resource) { if (!resource.getResourceMethods().isEmpty() && resource.getResourceLocator() != null) { Errors.warning(resource, LocalizationMessages.RESOURCE_CONTAINS_RES_METHODS_AND_LOCATOR(resource, resource.getPath())); } if (resource.getPath() != null && resource.getResourceMethods().isEmpty() && resource.getChildResources().isEmpty() && resource.getResourceLocator() == null) { Errors.warning(resource, LocalizationMessages.RESOURCE_EMPTY(resource, resource.getPath())); } }
private ClientConfig resolveConfig(final String configClassProperty, final BindingModel binding) { Class<? extends Configuration> configClass = binding.getConfigClass(); final Object _cc = serverConfig.get().getProperty(configClassProperty); if (_cc != null) { Class<?> cc; if (_cc instanceof String) { cc = AccessController.doPrivileged(ReflectionHelper.classForNamePA((String) _cc)); } else if (_cc instanceof Class) { cc = (Class<?>) _cc; } else { cc = null; // will cause a warning } if (cc != null && Configuration.class.isAssignableFrom(cc)) { configClass = cc.asSubclass(Configuration.class); } else { Errors.warning(this, LocalizationMessages.ILLEGAL_CLIENT_CONFIG_CLASS_PROPERTY_VALUE( configClassProperty, _cc, configClass.getName() )); } } final Configuration cfg = clientConfigProvider.apply(configClass); return (cfg instanceof ClientConfig) ? (ClientConfig) cfg : new ClientConfig().loadFrom(cfg); }
@Override public void run() { int counter = 0; final Annotation[] annotations = parameter.getAnnotations(); for (Annotation a : annotations) { if (PARAM_ANNOTATION_SET.contains(a.annotationType())) { if (injectionsForbidden) { Errors.fatal(source, LocalizationMessages.SINGLETON_INJECTS_PARAMETER(reportedSourceName, reportedParameterName)); break; } counter++; if (counter > 1) { Errors.warning(source, LocalizationMessages.AMBIGUOUS_PARAMETER(reportedSourceName, reportedParameterName)); break; } } } final Type paramType = parameter.getType(); if (!isConcreteType(paramType)) { Errors.warning(source, LocalizationMessages.PARAMETER_UNRESOLVABLE(reportedParameterName, paramType, reportedSourceName)); } } });
private ClientConfig resolveConfig(final String configClassProperty, final BindingModel binding) { Class<? extends Configuration> configClass = binding.getConfigClass(); final Object _cc = serverConfig.get().getProperty(configClassProperty); if (_cc != null) { Class<?> cc; if (_cc instanceof String) { cc = AccessController.doPrivileged(ReflectionHelper.classForNamePA((String) _cc)); } else if (_cc instanceof Class) { cc = (Class<?>) _cc; } else { cc = null; // will cause a warning } if (cc != null && Configuration.class.isAssignableFrom(cc)) { configClass = cc.asSubclass(Configuration.class); } else { Errors.warning(this, LocalizationMessages.ILLEGAL_CLIENT_CONFIG_CLASS_PROPERTY_VALUE( configClassProperty, _cc, configClass.getName() )); } } final Configuration cfg = clientConfigProvider.apply(configClass); return (cfg instanceof ClientConfig) ? (ClientConfig) cfg : new ClientConfig().loadFrom(cfg); }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
@Override public void run() { int counter = 0; final Annotation[] annotations = parameter.getAnnotations(); for (Annotation a : annotations) { if (PARAM_ANNOTATION_SET.contains(a.annotationType())) { if (injectionsForbidden) { Errors.fatal(source, LocalizationMessages.SINGLETON_INJECTS_PARAMETER(reportedSourceName, reportedParameterName)); break; } counter++; if (counter > 1) { Errors.warning(source, LocalizationMessages.AMBIGUOUS_PARAMETER(reportedSourceName, reportedParameterName)); break; } } } final Type paramType = parameter.getType(); if (!isConcreteType(paramType)) { Errors.warning(source, LocalizationMessages.PARAMETER_UNRESOLVABLE(reportedParameterName, paramType, reportedSourceName)); } } });
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
private void checkForNonPublicMethodIssues() { final MethodList allDeclaredMethods = new MethodList(getAllDeclaredMethods(handlerClass)); // non-public resource methods for (AnnotatedMethod m : allDeclaredMethods.withMetaAnnotation(HttpMethod.class) .withoutAnnotation(Path.class).isNotPublic()) { Errors.warning(handlerClass, LocalizationMessages.NON_PUB_RES_METHOD(m.getMethod().toGenericString())); } // non-public sub-resource methods for (AnnotatedMethod m : allDeclaredMethods.withMetaAnnotation(HttpMethod.class) .withAnnotation(Path.class).isNotPublic()) { Errors.warning(handlerClass, LocalizationMessages.NON_PUB_SUB_RES_METHOD(m.getMethod().toGenericString())); } // non-public sub-resource locators for (AnnotatedMethod m : allDeclaredMethods.withoutMetaAnnotation(HttpMethod.class) .withAnnotation(Path.class).isNotPublic()) { Errors.warning(handlerClass, LocalizationMessages.NON_PUB_SUB_RES_LOC(m.getMethod().toGenericString())); } }
private void checkForNonPublicMethodIssues() { final MethodList allDeclaredMethods = new MethodList(getAllDeclaredMethods(handlerClass)); // non-public resource methods for (AnnotatedMethod m : allDeclaredMethods.withMetaAnnotation(HttpMethod.class) .withoutAnnotation(Path.class).isNotPublic()) { Errors.warning(handlerClass, LocalizationMessages.NON_PUB_RES_METHOD(m.getMethod().toGenericString())); } // non-public sub-resource methods for (AnnotatedMethod m : allDeclaredMethods.withMetaAnnotation(HttpMethod.class) .withAnnotation(Path.class).isNotPublic()) { Errors.warning(handlerClass, LocalizationMessages.NON_PUB_SUB_RES_METHOD(m.getMethod().toGenericString())); } // non-public sub-resource locators for (AnnotatedMethod m : allDeclaredMethods.withoutMetaAnnotation(HttpMethod.class) .withAnnotation(Path.class).isNotPublic()) { Errors.warning(handlerClass, LocalizationMessages.NON_PUB_SUB_RES_LOC(m.getMethod().toGenericString())); } }
@Override public void onFailure(final ErrorInformation error) throws MultiException { final String msg; switch (error.getErrorType()) { case FAILURE_TO_REIFY: msg = LocalizationMessages.HK_2_REIFICATION_ERROR( error.getDescriptor().getImplementation(), printStackTrace(error.getAssociatedException())); break; default: msg = LocalizationMessages.HK_2_UNKNOWN_ERROR(printStackTrace(error.getAssociatedException())); break; } try { Errors.warning(error.getInjectee(), msg); } catch (IllegalStateException ex) { Errors.process(new Runnable() { @Override public void run() { Errors.warning(this, LocalizationMessages.HK_2_FAILURE_OUTSIDE_ERROR_SCOPE()); Errors.warning(error.getInjectee(), msg); } }); } }
@Override public void onFailure(final ErrorInformation error) throws MultiException { final String msg; switch (error.getErrorType()) { case FAILURE_TO_REIFY: msg = LocalizationMessages.HK_2_REIFICATION_ERROR( error.getDescriptor().getImplementation(), printStackTrace(error.getAssociatedException())); break; default: msg = LocalizationMessages.HK_2_UNKNOWN_ERROR(printStackTrace(error.getAssociatedException())); break; } try { Errors.warning(error.getInjectee(), msg); } catch (IllegalStateException ex) { Errors.process(new Runnable() { @Override public void run() { Errors.warning(this, LocalizationMessages.HK_2_FAILURE_OUTSIDE_ERROR_SCOPE()); Errors.warning(error.getInjectee(), msg); } }); } }