Search in sources :

Example 1 with ValueHoverProvider

use of org.springframework.ide.vscode.boot.java.value.ValueHoverProvider in project sts4 by spring-projects.

the class BootJavaLanguageServerComponents method createHoverHandler.

protected BootJavaHoverProvider createHoverHandler(JavaProjectFinder javaProjectFinder, RunningAppProvider runningAppProvider) {
    AnnotationHierarchyAwareLookup<HoverProvider> providers = new AnnotationHierarchyAwareLookup<>();
    providers.put(org.springframework.ide.vscode.boot.java.value.Constants.SPRING_VALUE, new ValueHoverProvider());
    providers.put(Annotations.SPRING_REQUEST_MAPPING, new RequestMappingHoverProvider());
    providers.put(Annotations.SPRING_GET_MAPPING, new RequestMappingHoverProvider());
    providers.put(Annotations.SPRING_POST_MAPPING, new RequestMappingHoverProvider());
    providers.put(Annotations.SPRING_PUT_MAPPING, new RequestMappingHoverProvider());
    providers.put(Annotations.SPRING_DELETE_MAPPING, new RequestMappingHoverProvider());
    providers.put(Annotations.SPRING_PATCH_MAPPING, new RequestMappingHoverProvider());
    providers.put(Annotations.PROFILE, new ActiveProfilesProvider());
    providers.put(Annotations.AUTOWIRED, new AutowiredHoverProvider(this));
    providers.put(Annotations.COMPONENT, new ComponentInjectionsHoverProvider(this));
    providers.put(Annotations.BEAN, new BeanInjectedIntoHoverProvider(this));
    providers.put(Annotations.CONDITIONAL, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_BEAN, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_MISSING_BEAN, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_PROPERTY, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_RESOURCE, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_CLASS, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_MISSING_CLASS, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_CLOUD_PLATFORM, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_WEB_APPLICATION, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_NOT_WEB_APPLICATION, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_ENABLED_INFO_CONTRIBUTOR, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_ENABLED_RESOURCE_CHAIN, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_ENABLED_ENDPOINT, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_ENABLED_HEALTH_INDICATOR, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_EXPRESSION, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_JAVA, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_JNDI, new ConditionalsLiveHoverProvider());
    providers.put(Annotations.CONDITIONAL_ON_SINGLE_CANDIDATE, new ConditionalsLiveHoverProvider());
    return new BootJavaHoverProvider(this, javaProjectFinder, providers, runningAppProvider);
}
Also used : ConditionalsLiveHoverProvider(org.springframework.ide.vscode.boot.java.conditionals.ConditionalsLiveHoverProvider) ConditionalsLiveHoverProvider(org.springframework.ide.vscode.boot.java.conditionals.ConditionalsLiveHoverProvider) BeanInjectedIntoHoverProvider(org.springframework.ide.vscode.boot.java.livehover.BeanInjectedIntoHoverProvider) BootJavaHoverProvider(org.springframework.ide.vscode.boot.java.handlers.BootJavaHoverProvider) AutowiredHoverProvider(org.springframework.ide.vscode.boot.java.autowired.AutowiredHoverProvider) HoverProvider(org.springframework.ide.vscode.boot.java.handlers.HoverProvider) ValueHoverProvider(org.springframework.ide.vscode.boot.java.value.ValueHoverProvider) ComponentInjectionsHoverProvider(org.springframework.ide.vscode.boot.java.livehover.ComponentInjectionsHoverProvider) RequestMappingHoverProvider(org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingHoverProvider) ValueHoverProvider(org.springframework.ide.vscode.boot.java.value.ValueHoverProvider) BeanInjectedIntoHoverProvider(org.springframework.ide.vscode.boot.java.livehover.BeanInjectedIntoHoverProvider) AnnotationHierarchyAwareLookup(org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchyAwareLookup) BootJavaHoverProvider(org.springframework.ide.vscode.boot.java.handlers.BootJavaHoverProvider) ComponentInjectionsHoverProvider(org.springframework.ide.vscode.boot.java.livehover.ComponentInjectionsHoverProvider) RequestMappingHoverProvider(org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingHoverProvider) ActiveProfilesProvider(org.springframework.ide.vscode.boot.java.livehover.ActiveProfilesProvider) AutowiredHoverProvider(org.springframework.ide.vscode.boot.java.autowired.AutowiredHoverProvider)

Example 2 with ValueHoverProvider

use of org.springframework.ide.vscode.boot.java.value.ValueHoverProvider in project sts4 by spring-projects.

the class ValueHoverTest method testGetPropertyFromValue.

@Test
public void testGetPropertyFromValue() {
    ValueHoverProvider provider = new ValueHoverProvider();
    assertNull(provider.getPropertyKey("${spring}", 0));
    assertNull(provider.getPropertyKey("${spring}", 1));
    assertEquals("spring", provider.getPropertyKey("${spring}", 2));
    assertEquals("spring", provider.getPropertyKey("${spring}", 3));
    assertEquals("spring", provider.getPropertyKey("${spring}", 8));
    assertNull(provider.getPropertyKey("${spring}", 9));
    assertNull(provider.getPropertyKey("abc ${spring} and other stuff", 0));
    assertNull(provider.getPropertyKey("abc ${spring} and other stuff", 5));
    assertEquals("spring", provider.getPropertyKey("abc ${spring} and other stuff", 6));
    assertEquals("spring", provider.getPropertyKey("abc ${spring} and other stuff", 12));
    assertNull(provider.getPropertyKey("abc ${spring} and other stuff", 13));
    assertNull(provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 5));
    assertEquals("spring", provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 6));
    assertEquals("spring", provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 12));
    assertNull(provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 13));
    assertNull(provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 19));
    assertEquals("boot", provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 20));
    assertEquals("boot", provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 24));
    assertNull(provider.getPropertyKey("abc ${spring} and ${boot} other stuff", 25));
}
Also used : ValueHoverProvider(org.springframework.ide.vscode.boot.java.value.ValueHoverProvider) Test(org.junit.Test)

Aggregations

ValueHoverProvider (org.springframework.ide.vscode.boot.java.value.ValueHoverProvider)2 Test (org.junit.Test)1 AnnotationHierarchyAwareLookup (org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchyAwareLookup)1 AutowiredHoverProvider (org.springframework.ide.vscode.boot.java.autowired.AutowiredHoverProvider)1 ConditionalsLiveHoverProvider (org.springframework.ide.vscode.boot.java.conditionals.ConditionalsLiveHoverProvider)1 BootJavaHoverProvider (org.springframework.ide.vscode.boot.java.handlers.BootJavaHoverProvider)1 HoverProvider (org.springframework.ide.vscode.boot.java.handlers.HoverProvider)1 ActiveProfilesProvider (org.springframework.ide.vscode.boot.java.livehover.ActiveProfilesProvider)1 BeanInjectedIntoHoverProvider (org.springframework.ide.vscode.boot.java.livehover.BeanInjectedIntoHoverProvider)1 ComponentInjectionsHoverProvider (org.springframework.ide.vscode.boot.java.livehover.ComponentInjectionsHoverProvider)1 RequestMappingHoverProvider (org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingHoverProvider)1