diff --git a/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java b/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java --- a/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java +++ b/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java @@ -52,6 +52,7 @@ import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; +import javax.lang.model.SourceVersion; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.netbeans.api.java.queries.SourceLevelQuery; @@ -379,15 +380,33 @@ return true; } - static boolean isValidTypeIdentifier(String ident) { - if (ident == null || "".equals(ident) || !Utilities.isJavaIdentifier( ident ) ) { - return false; - } - else { - return true; - } + static String getTypeFromFQN(String name) { + int lastIndexOf = name.lastIndexOf('.'); + final boolean isFQN = (lastIndexOf > 0 && lastIndexOf< name.length()); + if (isFQN) { + return name.substring(lastIndexOf + 1); + } + return null; + } + static String getPackageFromFQN(String name) { + int lastIndexOf = name.lastIndexOf('.'); + final boolean isFQN = (lastIndexOf > 0 && lastIndexOf < name.length()); + if (isFQN) { + return name.substring(0, lastIndexOf); + } + return null; } + static boolean isValidTypeIdentifier(String ident) { + final boolean javaIdentifier = Utilities.isJavaIdentifier( ident ); + final boolean javaIdenfifierWithinFQN=isValidTypeIdentifierWithinFQN(ident); + return ident != null && !"".equals(ident) && (javaIdentifier || javaIdenfifierWithinFQN); + } + + static boolean isValidTypeIdentifierWithinFQN(String ident) { + String type = getTypeFromFQN(ident); + return type != null && Utilities.isJavaIdentifier(type); + } // helper methods copied from project/ui/ProjectUtilities /** Checks if the given file name can be created in the target folder. * diff --git a/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form b/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form --- a/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form +++ b/java.project/src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form @@ -1,4 +1,4 @@ - +