mbien commented on code in PR #5444:
URL: https://github.com/apache/netbeans/pull/5444#discussion_r1099601377


##########
java/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/editor/hyperlink/NamedQueryHyperlinkProvider.java:
##########
@@ -155,73 +152,69 @@ private void goToNQ(Document doc, int offset) {
 
         if (ent != null) {
             try {
-                js.runUserActionTask(new Task<CompilationController>() {
-
-                    @Override
-                    public void run(CompilationController parameter) throws 
Exception {
-                        parameter.toPhase(JavaSource.Phase.RESOLVED);
-                        AnnotationMirror foundAm = null;
-                        AnnotationValue get = null;
-                        Trees trees = parameter.getTrees();
-                        
-                        TypeElement entityElement = 
parameter.getElements().getTypeElement(entClasst);trees.getSourcePositions().getStartPosition(parameter.getCompilationUnit(),
 trees.getPath(entityElement).getLeaf());
-                        List<? extends AnnotationMirror> annotationMirrors = 
entityElement.getAnnotationMirrors();
-                        if (annotationMirrors != null) {
-                            Iterator<? extends AnnotationMirror> iterator = 
annotationMirrors.iterator();
-                            while (iterator.hasNext() && foundAm == null) {
-                                AnnotationMirror next = iterator.next();
-                                if 
(next.getAnnotationType().toString().equals("javax.persistence.NamedQueries")) 
{//NOI18N
-
-                                    Map<? extends ExecutableElement, ? extends 
AnnotationValue> maps = next.getElementValues();
-
-                                    for (AnnotationValue vl : maps.values()) {
-                                        List lst = (List) vl.getValue();
-                                        for (Object val : lst) {
-                                            if (val instanceof 
AnnotationMirror) {
-                                                AnnotationMirror am = 
(AnnotationMirror) val;
-                                                if 
("javax.persistence.NamedQuery".equals(am.getAnnotationType().toString())) 
{//NOI18N
-                                                    Map<? extends 
ExecutableElement, ? extends AnnotationValue> elementValues = 
am.getElementValues();
-                                                    for (ExecutableElement el 
: elementValues.keySet()) {
-                                                        if 
(el.getSimpleName().contentEquals("name")) { //NOI18N
-                                                            get = 
elementValues.get(el);
-                                                            if 
(get.getValue().toString().equals(nam)) {
-                                                                foundAm = am;
-                                                                break;
-                                                            }
+                js.runUserActionTask( (CompilationController parameter) -> {
+                    parameter.toPhase(JavaSource.Phase.RESOLVED);
+                    AnnotationMirror foundAm = null;
+                    AnnotationValue get = null;
+                    Trees trees = parameter.getTrees();
+                    TypeElement entityElement = 
parameter.getElements().getTypeElement(entClasst);
+                    
+                    List<? extends AnnotationMirror> annotationMirrors = 
entityElement.getAnnotationMirrors();

Review Comment:
   good find! a whole line was hiding behind that semicolon :)



##########
java/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/unit/PUDataObject.java:
##########
@@ -463,14 +446,10 @@ protected void updateDataFromModel(Object model, FileLock 
lock, boolean modify)
             if (model == null) {
                 return;
             }
-            try {
-                Writer out = new StringWriter();
+            try (Writer out = new StringWriter()) {
                 ((BaseBean) model).write(out);
-                out.close();
                 getDataCache().setData(lock, out.toString(), modify);
-            } catch (IOException e) {
-                LOG.log(Level.INFO, null, e);
-            } catch (Schema2BeansException e) {
+            } catch (IOException | Schema2BeansException e) {

Review Comment:
   this technically doesn't need an arm block since `StringWriter`'s `close()` 
is a no-op. 
   
   But it doesn't hurt I guess.
   



##########
java/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/wizard/jpacontroller/JpaControllerGenerator.java:
##########
@@ -226,488 +219,501 @@ private static FileObject generateJpaController(
                     return controllerFileObject;//don't need npe later
                 }
             }
-            controllerJavaSource.runModificationTask(new Task<WorkingCopy>() {
-            @Override
-                public void run(WorkingCopy workingCopy) throws IOException {
-                    workingCopy.toPhase(JavaSource.Phase.RESOLVED);
-
-                    ExecutableElement idGetterElement = 
idGetter.resolve(workingCopy);
-                    idGetterName[0] = 
idGetterElement.getSimpleName().toString();
-                    TypeMirror idType = idGetterElement.getReturnType();
-                    TypeElement idClass = null;
-                    if (TypeKind.DECLARED == idType.getKind()) {
-                        DeclaredType declaredType = (DeclaredType) idType;
-                        idClass = (TypeElement) declaredType.asElement();
-                        embeddable[0] = idClass != null && 
JpaControllerUtil.isEmbeddableClass(idClass);
-                        idPropertyType[0] = 
idClass.getQualifiedName().toString();
-                        if(!embeddable[0] && 
JpaControllerUtil.haveId(idClass)){//NOI18N
-                            //handle derived id, case entity/relationship 
without composite keys
-                             derived[0] =  
JpaControllerUtil.isRelationship(idGetterElement 
,JpaControllerUtil.isFieldAccess(idClass)) != JpaControllerUtil.REL_NONE;
-                             if(derived[0]){
-                                ExecutableElement derivedIdGetterElement  = 
findPrimaryKeyGetter(workingCopy, idClass);
-                                derivedIdGetterName[0] = 
derivedIdGetterElement.getSimpleName().toString();
-                                TypeMirror derivedIdType = 
derivedIdGetterElement.getReturnType();
-                                TypeElement derivedIdClass;
-                                if (TypeKind.DECLARED == idType.getKind()) {
-                                    DeclaredType derivedDeclaredType = 
(DeclaredType) derivedIdType;
-                                    derivedIdClass = (TypeElement) 
derivedDeclaredType.asElement();
-                                    derivedIdPropertyType[0] = 
derivedIdClass.getQualifiedName().toString();
-                                 }
+            controllerJavaSource.runModificationTask( (WorkingCopy 
workingCopy) -> {
+                workingCopy.toPhase(JavaSource.Phase.RESOLVED);
+                
+                ExecutableElement idGetterElement = 
idGetter.resolve(workingCopy);
+                idGetterName[0] = idGetterElement.getSimpleName().toString();
+                TypeMirror idType = idGetterElement.getReturnType();
+                TypeElement idClass = null;
+                if (null == idType.getKind()) {
+                    //instead of throwing exceptions later, just use Object
+                    idPropertyType[0] = "java.lang.Object";//NOI18N
+                } else {
+                    switch (idType.getKind()) {
+                        case DECLARED:
+                            DeclaredType declaredType = (DeclaredType) idType;
+                            idClass = (TypeElement) declaredType.asElement();
+                            embeddable[0] = idClass != null && 
JpaControllerUtil.isEmbeddableClass(idClass);
+                            idPropertyType[0] = 
idClass.getQualifiedName().toString();
+                            if(!embeddable[0] && 
JpaControllerUtil.haveId(idClass)){//NOI18N
+                                //handle derived id, case entity/relationship 
without composite keys
+                                derived[0] =  
JpaControllerUtil.isRelationship(idGetterElement 
,JpaControllerUtil.isFieldAccess(idClass)) != JpaControllerUtil.REL_NONE;
+                                if(derived[0]){
+                                    ExecutableElement derivedIdGetterElement  
= findPrimaryKeyGetter(workingCopy, idClass);
+                                    derivedIdGetterName[0] = 
derivedIdGetterElement.getSimpleName().toString();
+                                    TypeMirror derivedIdType = 
derivedIdGetterElement.getReturnType();
+                                    TypeElement derivedIdClass;
+                                    if (TypeKind.DECLARED == idType.getKind()) 
{
+                                        DeclaredType derivedDeclaredType = 
(DeclaredType) derivedIdType;
+                                        derivedIdClass = (TypeElement) 
derivedDeclaredType.asElement();
+                                        derivedIdPropertyType[0] = 
derivedIdClass.getQualifiedName().toString();
+                                    }
+                                }
                             }
-                        }
-                    } else if (TypeKind.BOOLEAN == idType.getKind()) {
-                        idPropertyType[0] = "boolean";//NOI18N
-                    } else if (TypeKind.BYTE == idType.getKind()) {
-                        idPropertyType[0] = "byte";//NOI18N
-                    } else if (TypeKind.CHAR == idType.getKind()) {
-                        idPropertyType[0] = "char";//NOI18N
-                    } else if (TypeKind.DOUBLE == idType.getKind()) {
-                        idPropertyType[0] = "double";//NOI18N
-                    } else if (TypeKind.FLOAT == idType.getKind()) {
-                        idPropertyType[0] = "float";//NOI18N
-                    } else if (TypeKind.INT == idType.getKind()) {
-                        idPropertyType[0] = "int";//NOI18N
-                    } else if (TypeKind.LONG == idType.getKind()) {
-                        idPropertyType[0] = "long";//NOI18N
-                    } else if (TypeKind.SHORT == idType.getKind()) {
-                        idPropertyType[0] = "short";//NOI18N
-                    } else {
-                        //instead of throwing exceptions later, just use Object
-                        idPropertyType[0] = "java.lang.Object";//NOI18N
+                            break;
+                        case BOOLEAN:
+                            idPropertyType[0] = "boolean";//NOI18N
+                            break;
+                        case BYTE:
+                            idPropertyType[0] = "byte";//NOI18N
+                            break;
+                        case CHAR:
+                            idPropertyType[0] = "char";//NOI18N
+                            break;
+                        case DOUBLE:
+                            idPropertyType[0] = "double";//NOI18N
+                            break;
+                        case FLOAT:
+                            idPropertyType[0] = "float";//NOI18N
+                            break;
+                        case INT:
+                            idPropertyType[0] = "int";//NOI18N
+                            break;
+                        case LONG:
+                            idPropertyType[0] = "long";//NOI18N
+                            break;
+                        case SHORT:
+                            idPropertyType[0] = "short";//NOI18N
+                            break;
+                        default:
+                            //instead of throwing exceptions later, just use 
Object
+                            idPropertyType[0] = "java.lang.Object";//NOI18N
+                            break;
                     }
+                }
+                String simpleIdPropertyType = 
JpaControllerUtil.simpleClassName(idPropertyType[0]);
+                
+                TypeElement controllerTypeElement = 
SourceUtils.getPublicTopLevelElement(workingCopy);
+                ClassTree classTree = 
workingCopy.getTrees().getTree(controllerTypeElement);
+                ClassTree modifiedClassTree = classTree;
+                
+                int privateModifier = java.lang.reflect.Modifier.PRIVATE;
+                int publicModifier = java.lang.reflect.Modifier.PUBLIC;
+                
+                CompilationUnitTree modifiedImportCut = null;
+                
+                List<String> parameterTypes = new ArrayList<>();
+                List<String> parameterNames = new ArrayList<>();
+                String body = "";   //NOI18N
+                boolean isUserTransaction = 
workingCopy.getClasspathInfo().getClassPath(ClasspathInfo.PathKind.COMPILE).findResource("javax/transaction/UserTransaction.class")!=null;
  //NOI18N
+                if (isUserTransaction && isInjection) {
+                    modifiedClassTree = 
JpaControllerUtil.TreeMakerUtils.addVariable(modifiedClassTree, workingCopy, 
"utx", "javax.transaction.UserTransaction", privateModifier, null, null);   
//NOI18N
+                    parameterTypes.add("javax.transaction.UserTransaction");   
//NOI18N
+                    parameterNames.add("utx");   //NOI18N
+                    body = "this.utx = utx;\n";   //NOI18N
                     
-                    String simpleIdPropertyType = 
JpaControllerUtil.simpleClassName(idPropertyType[0]);
-                         
-                    TypeElement controllerTypeElement = 
SourceUtils.getPublicTopLevelElement(workingCopy);
-                    ClassTree classTree = 
workingCopy.getTrees().getTree(controllerTypeElement);
-                    ClassTree modifiedClassTree = classTree;
-                    
-                    int privateModifier = java.lang.reflect.Modifier.PRIVATE;
-                    int publicModifier = java.lang.reflect.Modifier.PUBLIC;
-                    
-                    CompilationUnitTree modifiedImportCut = null;
-                    
-                    List<String> parameterTypes = new ArrayList<String>();
-                    List<String> parameterNames = new ArrayList<String>();
-                    String body = "";   //NOI18N
-                    boolean isUserTransaction = 
workingCopy.getClasspathInfo().getClassPath(ClasspathInfo.PathKind.COMPILE).findResource("javax/transaction/UserTransaction.class")!=null;
  //NOI18N
-                    if (isUserTransaction && isInjection) {
-                        modifiedClassTree = 
JpaControllerUtil.TreeMakerUtils.addVariable(modifiedClassTree, workingCopy, 
"utx", "javax.transaction.UserTransaction", privateModifier, null, null);   
//NOI18N
-                        
parameterTypes.add("javax.transaction.UserTransaction");   //NOI18N
-                        parameterNames.add("utx");   //NOI18N
-                        body = "this.utx = utx;\n";   //NOI18N
-
-                    }
-                    modifiedClassTree = 
JpaControllerUtil.TreeMakerUtils.addVariable(modifiedClassTree, workingCopy, 
"emf", "javax.persistence.EntityManagerFactory", privateModifier, null, null);  
 //NOI18N
-                    
parameterTypes.add("javax.persistence.EntityManagerFactory");   //NOI18N
-                    parameterNames.add("emf");   //NOI18N
-                    body += "this.emf = emf;";   //NOI18N
-                    MethodInfo mi = new MethodInfo("<init>", publicModifier, 
"void", null, parameterTypes.toArray(new String[parameterTypes.size()]),   
//NOI18N
-                                                    parameterNames.toArray(new 
String[parameterNames.size()]), body, null, null);
-                    modifiedClassTree = 
JpaControllerUtil.TreeMakerUtils.modifyDefaultConstructor(classTree, 
modifiedClassTree, workingCopy, mi);
-                    
-                    MethodInfo methodInfo = new MethodInfo("getEntityManager", 
publicModifier, "javax.persistence.EntityManager", null, null, null, "return 
emf.createEntityManager();", null, null);
-                    modifiedClassTree = 
JpaControllerUtil.TreeMakerUtils.addMethod(modifiedClassTree, workingCopy, 
methodInfo);
-
-                    String bodyText;
-                    StringBuilder updateRelatedInCreate = new StringBuilder();
-                    StringBuilder updateRelatedInEditPre = new StringBuilder();
-                    StringBuilder attachRelatedInEdit = new StringBuilder();
-                    StringBuilder updateRelatedInEditPost = new 
StringBuilder();
-                    StringBuilder updateRelatedInDestroy = new StringBuilder();
-                    StringBuilder initRelatedInCreate = new StringBuilder();
-                    StringBuilder illegalOrphansInCreate = new StringBuilder();
-                    StringBuilder illegalOrphansInEdit = new StringBuilder();
-                    StringBuilder illegalOrphansInDestroy = new 
StringBuilder();
-                    StringBuilder initCollectionsInCreate = new 
StringBuilder();  //useful in case user removes listbox from New.jsp
-
-                    List<ElementHandle<ExecutableElement>> allRelMethods = new 
ArrayList<ElementHandle<ExecutableElement>>(toOneRelMethods);
-                    allRelMethods.addAll(toManyRelMethods);
-                    
-                    String[] importFqs = {"javax.persistence.Query",
-                                "javax.persistence.EntityNotFoundException"    
                          
-                    };
+                }
+                modifiedClassTree = 
JpaControllerUtil.TreeMakerUtils.addVariable(modifiedClassTree, workingCopy, 
"emf", "javax.persistence.EntityManagerFactory", privateModifier, null, null);  
 //NOI18N
+                parameterTypes.add("javax.persistence.EntityManagerFactory");  
 //NOI18N
+                parameterNames.add("emf");   //NOI18N
+                body += "this.emf = emf;";   //NOI18N
+                MethodInfo mi = new MethodInfo("<init>", publicModifier, 
"void", null, parameterTypes.toArray(new String[0]),   //NOI18N
+parameterNames.toArray(new String[0]), body, null, null);

Review Comment:
   does github display this correctly and there is no indentation before 
   `parameterNames.toArray(new String[0]), body, null, null);`?



##########
java/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/editor/completion/ETCompletionContextResolver.java:
##########
@@ -105,12 +104,7 @@ private List<JPACompletionItem> 
completecreateNamedQueryparameters(JPACodeComple
         }
         if (ecs != null) {
             try {
-                entities = ecs.getEntityMappingsModel(false).runReadAction(new 
MetadataModelAction<EntityMappingsMetadata, Entity[]>() {
-                   @Override
-                    public Entity[] run(EntityMappingsMetadata metadata) 
throws Exception {
-                        return metadata.getRoot().getEntity();
-                    }
-                });
+                entities = ecs.getEntityMappingsModel(false).runReadAction( 
(EntityMappingsMetadata metadata) -> metadata.getRoot().getEntity() );

Review Comment:
   just a nitpick. Consider the one-action-per-line formatting when method 
chaining is used. Makes the lines shorter.
   ```java
   entities = ecs.getEntityMappingsModel(false)
                 .runReadAction( (EntityMappingsMetadata metadata) -> 
metadata.getRoot().getEntity() );
   ```
   there are many comparable occurrences like this one



##########
java/j2ee.persistence/src/org/netbeans/modules/j2ee/persistence/wizard/fromdb/JavaPersistenceGenerator.java:
##########
@@ -826,21 +809,15 @@ String getMemberType(EntityMember m) {
             }
 
             private boolean isCharacterType(String type) {
-                if ("java.lang.String".equals(type)) { // NOI18N
-                    // XXX also need to check for char[] and Character[]
-                    // (better to use TypeMirror)
-                    return true;
-                }
-                return false;
+                // XXX also need to check for char[] and Character[]
+                // (better to use TypeMirror)
+                return "java.lang.String".equals(type); // NOI18N
             }
 
             private boolean isDecimalType(String type) {
-                if ("java.lang.Double".equals(type) || // NOI18N
+                return "java.lang.Double".equals(type) || // NOI18N
                         "java.lang.Float".equals(type) || // NOI18N
-                        "java.math.BigDecimal".equals(type)) { // NOI18N
-                    return true;
-                }
-                return false;
+                        "java.math.BigDecimal".equals(type); // NOI18N
             }

Review Comment:
   could be a switch over string constants. Usually faster, but I don't think 
this matters here tbh.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to