use of org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject in project che by eclipse.
the class MovePresenterTest method moveWizardShouldBeShowed.
@Test
public void moveWizardShouldBeShowed() throws Exception {
List<JavaProject> javaProjects = new ArrayList<>();
JavaProject javaProject = Mockito.mock(JavaProject.class);
javaProjects.add(javaProject);
when(refactorInfo.getResources()).thenReturn(new Resource[] { file });
when(file.getParentWithMarker(eq(SourceFolderMarker.ID))).thenReturn(Optional.of(srcFolder));
when(file.getLocation()).thenReturn(Path.valueOf("/project/src/a/b/C.java"));
when(file.getName()).thenReturn("C.java");
when(file.getExtension()).thenReturn("java");
when(srcFolder.getLocation()).thenReturn(Path.valueOf("/project/src"));
when(file.getResourceType()).thenReturn(Resource.FILE);
when(file.getRelatedProject()).thenReturn(Optional.of(relatedProject));
when(relatedProject.getLocation()).thenReturn(Path.valueOf("/project"));
presenter.show(refactorInfo);
verify(sessionPromise).then(sessionOperation.capture());
sessionOperation.getValue().apply("sessionId");
verify(projectsPromise).then(projectsOperation.capture());
projectsOperation.getValue().apply(javaProjects);
verify(moveView).setTreeOfDestinations(any());
verify(moveView).show(refactorInfo);
}
use of org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject in project che by eclipse.
the class JavaNavigation method getAllProjectsAndPackages.
public List<JavaProject> getAllProjectsAndPackages(boolean includePackages) throws JavaModelException {
JavaModel javaModel = JavaModelManager.getJavaModelManager().getJavaModel();
IJavaProject[] javaProjects = javaModel.getJavaProjects();
List<JavaProject> result = new ArrayList<>();
for (IJavaProject javaProject : javaProjects) {
if (javaProject.exists()) {
JavaProject project = DtoFactory.newDto(JavaProject.class);
project.setName(javaProject.getElementName());
project.setPath(javaProject.getPath().toOSString());
project.setPackageFragmentRoots(toPackageRoots(javaProject, includePackages));
result.add(project);
}
}
return result;
}
use of org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject in project che by eclipse.
the class SearchManager method performFindUsageSearch.
private FindUsagesResponse performFindUsageSearch(IJavaElement element) throws JavaModelException, BadLocationException {
JavaSearchScopeFactory factory = JavaSearchScopeFactory.getInstance();
boolean isInsideJRE = factory.isInsideJRE(element);
JavaSearchQuery query = new JavaSearchQuery(new ElementQuerySpecification(element, IJavaSearchConstants.REFERENCES, factory.createWorkspaceScope(isInsideJRE), "workspace scope"));
NewSearchUI.runQueryInForeground(null, query);
ISearchResult result = query.getSearchResult();
JavaSearchResult javaResult = ((JavaSearchResult) result);
FindUsagesResponse response = DtoFactory.newDto(FindUsagesResponse.class);
Map<String, List<org.eclipse.che.ide.ext.java.shared.dto.search.Match>> mapMaches = new HashMap<>();
JavaElementToDtoConverter converter = new JavaElementToDtoConverter(javaResult);
for (Object o : javaResult.getElements()) {
IJavaElement javaElement = (IJavaElement) o;
IDocument document = null;
if (javaElement instanceof IMember) {
IMember member = ((IMember) javaElement);
if (member.isBinary()) {
if (member.getClassFile().getSource() != null) {
document = new Document(member.getClassFile().getSource());
}
} else {
document = getDocument(member.getCompilationUnit());
}
} else if (javaElement instanceof IPackageDeclaration) {
ICompilationUnit ancestor = (ICompilationUnit) (javaElement).getAncestor(IJavaElement.COMPILATION_UNIT);
document = getDocument(ancestor);
}
converter.addElementToProjectHierarchy(javaElement);
Match[] matches = javaResult.getMatches(o);
List<org.eclipse.che.ide.ext.java.shared.dto.search.Match> matchList = new ArrayList<>();
for (Match match : matches) {
org.eclipse.che.ide.ext.java.shared.dto.search.Match dtoMatch = DtoFactory.newDto(org.eclipse.che.ide.ext.java.shared.dto.search.Match.class);
if (document != null) {
IRegion lineInformation = document.getLineInformationOfOffset(match.getOffset());
int offsetInLine = match.getOffset() - lineInformation.getOffset();
Region matchInLine = DtoFactory.newDto(Region.class).withOffset(offsetInLine).withLength(match.getLength());
dtoMatch.setMatchInLine(matchInLine);
dtoMatch.setMatchLineNumber(document.getLineOfOffset(match.getOffset()));
dtoMatch.setMatchedLine(document.get(lineInformation.getOffset(), lineInformation.getLength()));
}
dtoMatch.setFileMatchRegion(DtoFactory.newDto(Region.class).withOffset(match.getOffset()).withLength(match.getLength()));
matchList.add(dtoMatch);
}
mapMaches.put(javaElement.getHandleIdentifier(), matchList);
}
List<JavaProject> projects = converter.getProjects();
response.setProjects(projects);
response.setMatches(mapMaches);
response.setSearchElementLabel(JavaElementLabels.getElementLabel(element, JavaElementLabels.ALL_DEFAULT));
return response;
}
use of org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject in project che by eclipse.
the class JarNavigationTest method testAllProjectsWithoutPackages.
@Test
public void testAllProjectsWithoutPackages() throws Exception {
List<JavaProject> packages = navigation.getAllProjectsAndPackages(false);
assertThat(packages).isNotNull().isNotEmpty();
JavaProject project = packages.get(0);
assertThat(project.getPackageFragmentRoots()).isNotNull().isNotEmpty();
PackageFragmentRoot fragmentRoot = project.getPackageFragmentRoots().get(0);
assertThat(fragmentRoot.getPackageFragments()).isNullOrEmpty();
}
use of org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject in project che by eclipse.
the class JarNavigationTest method testAllProjectsAndPackages.
@Test
public void testAllProjectsAndPackages() throws Exception {
List<JavaProject> packages = navigation.getAllProjectsAndPackages(true);
assertThat(packages).isNotNull().isNotEmpty();
JavaProject project = packages.get(0);
assertThat(packages.get(0).getPackageFragmentRoots()).isNotNull().isNotEmpty();
assertThat(project.getPackageFragmentRoots()).isNotNull().isNotEmpty();
PackageFragmentRoot fragmentRoot = project.getPackageFragmentRoots().get(0);
assertThat(fragmentRoot.getPackageFragments()).isNotEmpty();
}
Aggregations