3939 */
4040public class OrmLiteDaoProcessor implements DecoratingElementProcessor {
4141
42- private static final String CONNECTION_SOURCE_FIELD_NAME = "connectionSource_ " ;
42+ private static final String DATABASE_HELPER_FIELD_NAME = "helper_ " ;
4343 private TargetAnnotationHelper helper ;
4444
4545 public OrmLiteDaoProcessor (ProcessingEnvironment processingEnv ) {
@@ -61,45 +61,42 @@ public void process(Element element, JCodeModel codeModel, EBeanHolder holder) {
6161
6262 TypeMirror databaseHelperTypeMirror = helper .extractAnnotationParameter (element , "helper" );
6363
64- // connection source field
65- boolean connectionSourceInjected = holder .generatedClass .fields ().containsKey (CONNECTION_SOURCE_FIELD_NAME );
64+ // database helper field
65+ boolean databaseHelperInjected = holder .generatedClass .fields ().containsKey (DATABASE_HELPER_FIELD_NAME );
6666
6767 JBlock initBody = holder .initBody ;
6868
69- JFieldVar connectionSourceRef ;
70- if (connectionSourceInjected ) {
71- connectionSourceRef = holder .generatedClass .fields ().get (CONNECTION_SOURCE_FIELD_NAME );
69+ JFieldVar databaseHelperRef ;
70+ if (databaseHelperInjected ) {
71+ databaseHelperRef = holder .generatedClass .fields ().get (DATABASE_HELPER_FIELD_NAME );
7272 } else {
73- connectionSourceRef = holder .generatedClass .field (PRIVATE , classes . CONNECTION_SOURCE , CONNECTION_SOURCE_FIELD_NAME );
73+ databaseHelperRef = holder .generatedClass .field (PRIVATE , holder . refClass ( databaseHelperTypeMirror . toString ()), DATABASE_HELPER_FIELD_NAME );
7474
75- // get connection source
75+ // get database helper instance
7676 JExpression dbHelperClass = holder .refClass (databaseHelperTypeMirror .toString ()).dotclass ();
7777
78- initBody .assign (connectionSourceRef , //
78+ initBody .assign (databaseHelperRef , //
7979 classes .OPEN_HELPER_MANAGER //
8080 .staticInvoke ("getHelper" ) //
8181 .arg (holder .contextRef ) //
82- .arg (dbHelperClass ) //
83- .invoke ("getConnectionSource" ));
82+ .arg (dbHelperClass ));
8483 }
8584
86- // create dao from dao manager
85+ // create dao from database helper
8786 JTryBlock tryBlock = initBody ._try ();
8887
8988 JExpression modelClass = holder .refClass (modelObjectTypeMirror .toString ()).dotclass ();
9089 tryBlock .body ().assign (ref (fieldName ), //
91- classes .DAO_MANAGER //
92- .staticInvoke ("createDao" ) //
93- .arg (connectionSourceRef ) //
94- .arg (modelClass ));
90+ databaseHelperRef .invoke ("getDao" ). //
91+ arg (modelClass ));
9592
9693 JCatchBlock catchBlock = tryBlock ._catch (classes .SQL_EXCEPTION );
9794 JVar exception = catchBlock .param ("e" );
9895
9996 catchBlock .body () //
10097 .staticInvoke (classes .LOG , "e" ) //
10198 .arg (holder .generatedClass .name ()) //
102- .arg ("Could not create DAO" ) //
99+ .arg ("Could not create DAO " + fieldName ) //
103100 .arg (exception );
104101 }
105102}
0 commit comments