public static boolean isUseStaticMarshallers() { if (isForceStaticMarshallers()) return true; if (EnvUtil.isDevMode() && !EnvUtil.isJUnitTest()) return false; if (System.getProperty(USE_STATIC_MARSHALLERS) != null) { return Boolean.getBoolean(USE_STATIC_MARSHALLERS); } final Map<String, String> frameworkProperties = EnvUtil.getEnvironmentConfig().getFrameworkProperties(); if (frameworkProperties.containsKey(USE_STATIC_MARSHALLERS)) { return "true".equals(frameworkProperties.get(USE_STATIC_MARSHALLERS)); } else { return !EnvUtil.isDevMode(); } }
public static boolean isUseStaticMarshallers() { if (isForceStaticMarshallers()) return true; if (EnvUtil.isDevMode() && !EnvUtil.isJUnitTest()) return false; if (System.getProperty(USE_STATIC_MARSHALLERS) != null) { return Boolean.getBoolean(USE_STATIC_MARSHALLERS); } final Map<String, String> frameworkProperties = EnvUtil.getEnvironmentConfig().getFrameworkProperties(); if (frameworkProperties.containsKey(USE_STATIC_MARSHALLERS)) { return "true".equals(frameworkProperties.get(USE_STATIC_MARSHALLERS)); } else { return !EnvUtil.isDevMode(); } }
@SuppressWarnings("unchecked") public static Class<? extends MarshallerFactory> getGeneratedMarshallerFactoryForServer() { final String packageName = MarshallersGenerator.SERVER_MARSHALLER_PACKAGE_NAME; final String simpleClassName = MarshallersGenerator.SERVER_MARSHALLER_CLASS_NAME; final String fullyQualifiedClassName = packageName + "." + simpleClassName; final Optional<Class<?>> generatedMarshaller = ClassChangeUtil.loadClassIfPresent(packageName, simpleClassName); if (generatedMarshaller.isPresent()) { return (Class<? extends MarshallerFactory>) generatedMarshaller.get(); } else if (!MarshallingGenUtil.isForceStaticMarshallers()) { return null; } else { log.info("couldn't find {} class, attempting to generate ...", fullyQualifiedClassName); final String classStr = MarshallerGeneratorFactory.getFor(null, MarshallerOutputTarget.Java) .generate(packageName, simpleClassName); return (Class<? extends MarshallerFactory>) ClassChangeUtil.compileAndLoadFromSource(packageName, simpleClassName, classStr); } } }
@SuppressWarnings("unchecked") public static Class<? extends MarshallerFactory> getGeneratedMarshallerFactoryForServer() { final String packageName = MarshallersGenerator.SERVER_MARSHALLER_PACKAGE_NAME; final String simpleClassName = MarshallersGenerator.SERVER_MARSHALLER_CLASS_NAME; final String fullyQualifiedClassName = packageName + "." + simpleClassName; final Optional<Class<?>> generatedMarshaller = ClassChangeUtil.loadClassIfPresent(packageName, simpleClassName); if (generatedMarshaller.isPresent()) { return (Class<? extends MarshallerFactory>) generatedMarshaller.get(); } else if (!MarshallingGenUtil.isForceStaticMarshallers()) { return null; } else { log.info("couldn't find {} class, attempting to generate ...", fullyQualifiedClassName); final String classStr = MarshallerGeneratorFactory.getFor(null, MarshallerOutputTarget.Java) .generate(packageName, simpleClassName); return (Class<? extends MarshallerFactory>) ClassChangeUtil.compileAndLoadFromSource(packageName, simpleClassName, classStr); } } }