@Override public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EComponentHolder holder, Element element, Element param) { OrmLiteHolder ormLiteHolder = holder.getPluginHolder(new OrmLiteHolder(holder)); AbstractJClass modelClass = getJClass(ormLiteHelper.getEntityType(param).toString()); AbstractJClass idClass = getJClass(ormLiteHelper.getEntityIdType(param).toString()); IJExpression modelClassDotClass = modelClass.dotclass(); AbstractJClass daoClass = getJClass(OrmLiteClasses.DAO).narrow(modelClass, idClass); AbstractJClass daoImplClass = codeModelHelper.typeMirrorToJClass(param.asType()); TypeMirror databaseHelperTypeMirror = annotationHelper.extractAnnotationParameter(element, "helper"); JFieldVar databaseHelperRef = ormLiteHolder.getDatabaseHelperRef(databaseHelperTypeMirror); IJExpression injectExpr = databaseHelperRef.invoke("getDao").arg(modelClassDotClass); if (elementExtendsRuntimeExceptionDao(param)) { injectExpr = _new(daoImplClass).arg(cast(daoClass, injectExpr)); } JTryBlock tryBlock = targetBlock._try(); tryBlock.body().add(fieldRef.assign(injectExpr)); JCatchBlock catchBlock = tryBlock._catch(getClasses().SQL_EXCEPTION); JVar exception = catchBlock.param("e"); String fieldName = param.getSimpleName().toString(); catchBlock.body() // .staticInvoke(getClasses().LOG, "e") // .arg(logTagForClassHolder(holder))// .arg("Could not create DAO " + fieldName) // .arg(exception); }
@Override public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EBeanHolder holder, Element element, Element param) { TypeMirror elementType = param.asType(); String typeQualifiedName = elementType.toString(); IJExpression contextRef = holder.getContextRef(); if (CanonicalNameConstants.CONTEXT.equals(typeQualifiedName)) { targetBlock.add(fieldRef.assign(contextRef)); } else { AbstractJClass extendingContextClass = getEnvironment().getJClass(typeQualifiedName); JConditional cond = getInvocationBlock(holder)._if(holder.getContextRef()._instanceof(extendingContextClass)); cond._then().add(fieldRef.assign(cast(extendingContextClass, holder.getContextRef()))); JInvocation warningInvoke = getClasses().LOG.staticInvoke("w"); 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); } }
errorInvoke.arg(logTagForClassHolder(holder)); errorInvoke.arg("Error in transaction"); errorInvoke.arg(exceptionParam);
@Override public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EBeanHolder holder, Element element, Element param) { TypeMirror elementType = param.asType(); String typeQualifiedName = elementType.toString(); IJExpression contextRef = holder.getContextRef(); if (CanonicalNameConstants.CONTEXT.equals(typeQualifiedName)) { targetBlock.add(fieldRef.assign(contextRef)); } else { AbstractJClass extendingContextClass = getEnvironment().getJClass(typeQualifiedName); JConditional cond = getInvocationBlock(holder)._if(holder.getContextRef()._instanceof(extendingContextClass)); cond._then().add(fieldRef.assign(cast(extendingContextClass, holder.getContextRef()))); JInvocation warningInvoke = getClasses().LOG.staticInvoke("w"); 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); } }
errorInvoke.arg(logTagForClassHolder(holder)); errorInvoke.arg("Error in transaction"); errorInvoke.arg(exceptionParam);