44import { workspace } from "vscode" ;
55import { instrumentOperationStep } from "vscode-extension-telemetry-wrapper" ;
66import { serviceManager } from "../model" ;
7- import { JavaVersion , MatadataType } from "../model/Metadata" ;
7+ import { JavaVersion , MetadataType } from "../model/Metadata" ;
88import { IPickMetadata , IProjectMetadata , IStep } from "./HandlerInterfaces" ;
99import { SpecifyDependenciesStep } from "./SpecifyDependenciesStep" ;
1010import { createPickBox } from "./utils" ;
@@ -30,17 +30,27 @@ export class SpecifyJavaVersionStep implements IStep {
3030
3131 private async specifyJavaVersion ( projectMetadata : IProjectMetadata ) : Promise < boolean > {
3232 const javaVersion : string = projectMetadata . defaults . javaVersion || workspace . getConfiguration ( "spring.initializr" ) . get < string > ( "defaultJavaVersion" ) ;
33+
3334 if ( javaVersion ) {
3435 projectMetadata . javaVersion = javaVersion ;
3536 return true ;
3637 }
38+
39+ const items = await serviceManager . getItems ( projectMetadata . serviceUrl , MetadataType . JAVAVERSION ) ;
40+
41+ if ( projectMetadata . enableSmartDefaults === true ) {
42+ projectMetadata . javaVersion = items . find ( x => x . default === true ) ?. value ?. id ;
43+ return true ;
44+ }
45+
3746 const pickMetaData : IPickMetadata < JavaVersion > = {
3847 metadata : projectMetadata ,
3948 title : "Spring Initializr: Specify Java version" ,
4049 pickStep : SpecifyJavaVersionStep . getInstance ( ) ,
4150 placeholder : "Specify Java version." ,
42- items : serviceManager . getItems ( projectMetadata . serviceUrl , MatadataType . JAVAVERSION ) ,
51+ items : items
4352 } ;
53+
4454 return await createPickBox ( pickMetaData ) ;
4555 }
4656}
0 commit comments