diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/LogHelper.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/LogHelper.java new file mode 100644 index 0000000000..78cbb40c81 --- /dev/null +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/LogHelper.java @@ -0,0 +1,54 @@ +/** + * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed To in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package org.androidannotations.helper; + +import org.androidannotations.holder.GeneratedClassHolder; + +public final class LogHelper { + + private static final int MAX_TAG_LEN = 23; + + private LogHelper() { + } + + /** + * Log tag length needs to be limited to 23. + * + * @see + * Log.isLoggable() JavaDoc + */ + public static String trimLogTag(String tag) { + if (tag == null) { + return ""; + } else if (tag.length() > MAX_TAG_LEN) { + return tag.substring(0, MAX_TAG_LEN); + } else { + return tag; + } + } + + /** + * Log tag length needs to be limited to 23. + * + * @see + * Log.isLoggable() JavaDoc + */ + public static String logTagForClassHolder(GeneratedClassHolder holder) { + return trimLogTag(holder.getGeneratedClass().name()); + } +} diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/RootContextHandler.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/RootContextHandler.java index e4449cecc9..66fcbbe3dc 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/RootContextHandler.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/RootContextHandler.java @@ -17,6 +17,7 @@ import static com.helger.jcodemodel.JExpr.cast; import static com.helger.jcodemodel.JExpr.lit; +import static org.androidannotations.helper.LogHelper.logTagForClassHolder; import javax.lang.model.element.Element; import javax.lang.model.type.TypeMirror; @@ -82,7 +83,7 @@ public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EBeanHo cond._then().add(fieldRef.assign(cast(extendingContextClass, holder.getContextRef()))); JInvocation warningInvoke = getClasses().LOG.staticInvoke("w"); - warningInvoke.arg(holder.getGeneratedClass().name()); + warningInvoke.arg(logTagForClassHolder(holder)); warningInvoke.arg(lit("Due to Context class ").plus(holder.getContextRef().invoke("getClass").invoke("getSimpleName")) .plus(lit(", the @RootContext " + extendingContextClass.name() + " won't be populated"))); cond._else().add(warningInvoke); diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TraceHandler.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TraceHandler.java index 440acd8dfe..7d580f5f05 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TraceHandler.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TraceHandler.java @@ -20,6 +20,7 @@ import static org.androidannotations.helper.AndroidConstants.LOG_INFO; import static org.androidannotations.helper.AndroidConstants.LOG_VERBOSE; import static org.androidannotations.helper.AndroidConstants.LOG_WARN; +import static org.androidannotations.helper.LogHelper.trimLogTag; import java.util.ArrayList; import java.util.Arrays; @@ -83,7 +84,7 @@ public void process(Element element, EComponentHolder holder) throws Exception { JBlock methodBody = method.body(); JInvocation isLoggableInvocation = getClasses().LOG.staticInvoke("isLoggable"); - isLoggableInvocation.arg(JExpr.lit(tag)).arg(logLevelFromInt(level, getClasses().LOG)); + isLoggableInvocation.arg(tag).arg(logLevelFromInt(level, getClasses().LOG)); JConditional ifStatement = methodBody._if(isLoggableInvocation); @@ -243,9 +244,6 @@ private String extractTag(Element element) { if (Trace.DEFAULT_TAG.equals(tag)) { tag = element.getEnclosingElement().getSimpleName().toString(); } - if (tag.length() > 23) { - tag = tag.substring(0, 23); - } - return tag; + return trimLogTag(tag); } } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TransactionalHandler.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TransactionalHandler.java index 494ad5b040..bfcf774e43 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TransactionalHandler.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/core/handler/TransactionalHandler.java @@ -15,6 +15,8 @@ */ package org.androidannotations.internal.core.handler; +import static org.androidannotations.helper.LogHelper.logTagForClassHolder; + import javax.lang.model.element.Element; import javax.lang.model.element.ExecutableElement; @@ -102,7 +104,7 @@ public void process(Element element, EComponentHolder holder) { JInvocation errorInvoke = catchBody.staticInvoke(getClasses().LOG, "e"); - errorInvoke.arg(holder.getGeneratedClass().name()); + errorInvoke.arg(logTagForClassHolder(holder)); errorInvoke.arg("Error in transaction"); errorInvoke.arg(exceptionParam); diff --git a/AndroidAnnotations/androidannotations-ormlite/ormlite/src/main/java/org/androidannotations/ormlite/handler/OrmLiteDaoHandler.java b/AndroidAnnotations/androidannotations-ormlite/ormlite/src/main/java/org/androidannotations/ormlite/handler/OrmLiteDaoHandler.java index 3b3eed5bc1..d5c92cdaa9 100644 --- a/AndroidAnnotations/androidannotations-ormlite/ormlite/src/main/java/org/androidannotations/ormlite/handler/OrmLiteDaoHandler.java +++ b/AndroidAnnotations/androidannotations-ormlite/ormlite/src/main/java/org/androidannotations/ormlite/handler/OrmLiteDaoHandler.java @@ -17,6 +17,7 @@ import static com.helger.jcodemodel.JExpr._new; import static com.helger.jcodemodel.JExpr.cast; +import static org.androidannotations.helper.LogHelper.logTagForClassHolder; import javax.lang.model.element.Element; import javax.lang.model.type.TypeMirror; @@ -108,7 +109,7 @@ public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, ECompon String fieldName = param.getSimpleName().toString(); catchBlock.body() // .staticInvoke(getClasses().LOG, "e") // - .arg(holder.getGeneratedClass().name()) // + .arg(logTagForClassHolder(holder))// .arg("Could not create DAO " + fieldName) // .arg(exception); }