private void checkcontainer(IFeatureProject featureProject, IResource resource) { sourceFolder = featureProject.getSourceFolder(); if (resource.getParent().equals(sourceFolder)) { // TODO: ??? container = sourceFolder.getFolder(comboFeature.getText()); } else if (featureProject.getComposer().refines()) { buttonRefines.setSelection(isRefinement()); } }
/** * Checks whether the File is in the SourceFolder * * @param folder * @return Feature from the SourceFolder */ private String getFeature(IFolder folder) { IContainer parent = folder.getParent(); if (parent.equals(project.getSourceFolder())) { return folder.getName(); } if (parent instanceof IFolder) { return getFeature((IFolder) parent); } return null; }
/** Fills the class combo with class names of the same package at other features. */ private void initComboClassName() { String c = comboClass.getText(); Object obj = selection.getFirstElement(); if (obj instanceof IFile) { String fileExtension = ((IFile) obj).getFileExtension(); if (composer.extensions().contains(fileExtension)) { String fileName = ((IFile) obj).getName(); c = fileName.substring(0, fileName.lastIndexOf('.')); } } comboClass.removeAll(); LinkedList<String> inclusions = new LinkedList<String>(); LinkedList<String> exclusions = new LinkedList<String>(); if (featureProject.getComposer().hasFeatureFolder()) { try { for (IResource res : featureProject.getSourceFolder().members()) { if (res instanceof IFolder) { IFolder folder = (IFolder) res; if (folder.getName().equals(comboFeature.getText())) { exclusions = getClasses(folder); } else { for (String className : getClasses(folder)) { boolean added = false; if (!inclusions.contains(className)) { int i = 0; for (String name : inclusions) { if (className.compareToIgnoreCase(name) < 0) { inclusions.add(i, className); added = true; break; } i++; } if (!added) { inclusions.add(className); } } } } } } } catch (CoreException e) { UIPlugin.getDefault().logError(e); } } for (String className : inclusions) { if (!exclusions.contains(className)) { comboClass.add(className); } } comboClass.setText(c); }