X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fjava%2FLoggingModule.java;h=552c93f6464f0e61e8baea3fe1e6ceec6db29f7e;hp=dadc13aa7ee3e926a894d7cfbbe846c69d82c7b9;hb=58598dd648b043f1eab088d3231b395bc6783ebd;hpb=66a5745bfefb159ce9d959bc29cbf148614e6fae diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/java/LoggingModule.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/java/LoggingModule.java index dadc13aa7..552c93f64 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/java/LoggingModule.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/java/LoggingModule.java @@ -4,6 +4,7 @@ import org.cojen.classfile.TypeDesc; import org.osgi.service.component.annotations.Component; import org.simantics.scl.compiler.commands.CommandSession; import org.simantics.scl.compiler.common.names.Name; +import org.simantics.scl.compiler.compilation.CompilationContext; import org.simantics.scl.compiler.constants.JavaMethod; import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext; import org.simantics.scl.compiler.elaboration.expressions.EApply; @@ -63,12 +64,7 @@ public class LoggingModule extends ConcreteModule { value.setMacroRule(new MacroRule() { @Override public Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply) { - ConcreteModule module = context.getCompilationContext().module; - String identifier; - if (module != null) - identifier = module.getName().replaceAll("/", "."); - else - identifier = CommandSession.class.getName(); + String identifier = resolveModuleIdentifier(context.getCompilationContext()); apply.set(new ELiteral(javaMethod), new Expression[] { new EExternalConstant(LoggerFactory.getLogger(identifier), Logger) }); @@ -84,12 +80,7 @@ public class LoggingModule extends ConcreteModule { value.setMacroRule(new MacroRule() { @Override public Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply) { - ConcreteModule module = context.getCompilationContext().module; - String identifier; - if (module != null) - identifier = module.getName().replaceAll("/", "."); - else - identifier = CommandSession.class.getName(); + String identifier = resolveModuleIdentifier(context.getCompilationContext()); apply.set(new ELiteral(javaMethod), new Expression[] { new EExternalConstant(LoggerFactory.getLogger(identifier), Logger), apply.parameters[0] @@ -106,12 +97,7 @@ public class LoggingModule extends ConcreteModule { value.setMacroRule(new MacroRule() { @Override public Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply) { - ConcreteModule module = context.getCompilationContext().module; - String identifier; - if (module != null) - identifier = module.getName().replaceAll("/", "."); - else - identifier = CommandSession.class.getName(); + String identifier = resolveModuleIdentifier(context.getCompilationContext()); apply.set(new ELiteral(javaMethod), new Expression[] { new EExternalConstant(LoggerFactory.getLogger(identifier), Logger), apply.parameters[0], @@ -129,12 +115,7 @@ public class LoggingModule extends ConcreteModule { value.setMacroRule(new MacroRule() { @Override public Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply) { - ConcreteModule module = context.getCompilationContext().module; - String identifier; - if (module != null) - identifier = module.getName().replaceAll("/", "."); - else - identifier = CommandSession.class.getName(); + String identifier = resolveModuleIdentifier(context.getCompilationContext()); apply.set(new ELiteral(javaMethod), new Expression[] { new EExternalConstant(LoggerFactory.getLogger(identifier), Logger), apply.parameters[0], @@ -152,12 +133,7 @@ public class LoggingModule extends ConcreteModule { value.setMacroRule(new MacroRule() { @Override public Expression apply(SimplificationContext context, Type[] typeParameters, EApply apply) { - ConcreteModule module = context.getCompilationContext().module; - String identifier; - if (module != null) - identifier = module.getName().replaceAll("/", "."); - else - identifier = CommandSession.class.getName(); + String identifier = resolveModuleIdentifier(context.getCompilationContext()); apply.set(new ELiteral(javaMethod), new Expression[] { new EExternalConstant(LoggerFactory.getLogger(identifier), Logger), apply.parameters[0], @@ -181,4 +157,19 @@ public class LoggingModule extends ConcreteModule { private static String capitalizeFirstCharacter(String input) { return input.substring(0, 1).toUpperCase() + input.substring(1); } + + private static String resolveModuleIdentifier(CompilationContext context) { + ConcreteModule module = context.module; + String identifier; + if (module != null) { + String moduleName = module.getName(); + if (moduleName.startsWith("http://")) { + moduleName = moduleName.substring("http://".length()); + } + identifier = moduleName.replaceAll("/", "."); + } else { + identifier = CommandSession.class.getName(); + } + return identifier; + } }