List of usage examples for org.eclipse.jdt.core.search SearchEngine createWorkspaceScope
public static IJavaSearchScope createWorkspaceScope()
From source file:com.android.ide.eclipse.auidt.internal.wizards.templates.NewTemplatePage.java
License:Open Source License
private String chooseActivity() { try {// w ww .j a va2 s . co m // Compute a search scope: We need to merge all the subclasses // android.app.Fragment and android.support.v4.app.Fragment IJavaSearchScope scope = SearchEngine.createWorkspaceScope(); IProject project = mValues.project; IJavaProject javaProject = BaseProjectHelper.getJavaProject(project); IType activityType = null; if (javaProject != null) { activityType = javaProject.findType(CLASS_ACTIVITY); } if (activityType == null) { IJavaProject[] projects = BaseProjectHelper.getAndroidProjects(null); for (IJavaProject p : projects) { activityType = p.findType(CLASS_ACTIVITY); if (activityType != null) { break; } } } if (activityType != null) { NullProgressMonitor monitor = new NullProgressMonitor(); ITypeHierarchy hierarchy = activityType.newTypeHierarchy(monitor); IType[] classes = hierarchy.getAllSubtypes(activityType); scope = SearchEngine.createJavaSearchScope(classes, IJavaSearchScope.SOURCES); } Shell parent = AdtPlugin.getDisplay().getActiveShell(); final SelectionDialog dialog = JavaUI.createTypeDialog(parent, new ProgressMonitorDialog(parent), scope, IJavaElementSearchConstants.CONSIDER_CLASSES, false, // Use ? as a default filter to fill dialog with matches "?", //$NON-NLS-1$ new TypeSelectionExtension() { @Override public ITypeInfoFilterExtension getFilterExtension() { return new ITypeInfoFilterExtension() { @Override public boolean select(ITypeInfoRequestor typeInfoRequestor) { int modifiers = typeInfoRequestor.getModifiers(); if (!Flags.isPublic(modifiers) || Flags.isInterface(modifiers) || Flags.isEnum(modifiers)) { return false; } return true; } }; } }); dialog.setTitle("Choose Activity Class"); dialog.setMessage("Select an Activity class (? = any character, * = any string):"); if (dialog.open() == IDialogConstants.CANCEL_ID) { return null; } Object[] types = dialog.getResult(); if (types != null && types.length > 0) { return ((IType) types[0]).getFullyQualifiedName(); } } catch (JavaModelException e) { AdtPlugin.log(e, null); } catch (CoreException e) { AdtPlugin.log(e, null); } return null; }
From source file:com.android.ide.eclipse.pdt.internal.SourceRevealer.java
License:Apache License
@Override public boolean revealMethod(String fqmn, String fileName, int lineNumber, String perspective) { SearchEngine se = new SearchEngine(); SearchPattern searchPattern = SearchPattern.createPattern(fqmn, IJavaSearchConstants.METHOD, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE); MethodSearchRequestor requestor = new MethodSearchRequestor(perspective); try {// w ww . java2s . co m se.search(searchPattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, SearchEngine.createWorkspaceScope(), requestor, new NullProgressMonitor()); } catch (CoreException e) { return false; } return requestor.didMatch(); }
From source file:com.android.ide.eclipse.traceview.editors.TraceviewEditor.java
License:Apache License
public void handleMethod(MethodData method) { // it's a bit complicated to convert the signature we have with what the // search engine require, so we'll search by name only and test the signature // when we get the result(s). String methodName = method.getMethodName(); String className = method.getClassName().replaceAll("/", "."); //$NON-NLS-1$ //$NON-NLS-21$ String fqmn = className + "." + methodName; //$NON-NLS-1$ try {// w w w . j a va2s. co m SearchEngine se = new SearchEngine(); se.search( SearchPattern.createPattern(fqmn, IJavaSearchConstants.METHOD, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE), new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, SearchEngine.createWorkspaceScope(), new TraceSearchRequestor(method), new NullProgressMonitor()); } catch (CoreException e) { } }
From source file:com.contrastsecurity.ide.eclipse.ui.internal.model.EventsTab.java
License:Open Source License
private static Set<IType> findTypeInWorkspace(String typeName) throws CoreException { int dot = typeName.lastIndexOf('.'); char[][] qualifications; String simpleName;/*from w w w . j a v a 2 s. c om*/ if (dot != -1) { qualifications = new char[][] { typeName.substring(0, dot).toCharArray() }; simpleName = typeName.substring(dot + 1); } else { qualifications = null; simpleName = typeName; } char[][] typeNames = new char[][] { simpleName.toCharArray() }; ContrastTypeNameMatchRequestor contrastTypeNameMatchRequestor = new ContrastTypeNameMatchRequestor(); new SearchEngine().searchAllTypeNames(qualifications, typeNames, SearchEngine.createWorkspaceScope(), contrastTypeNameMatchRequestor, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null); return contrastTypeNameMatchRequestor.getTypeNameMatches(); }
From source file:com.drgarbage.bytecodevisualizer.compare.OpenClassFileAction.java
License:Apache License
/** * Opens a dialog with a list of classes from the current workspace. * The selected class is returned as a java element. * @return the java element or <code>null</null> * @see IJavaElement/*from w ww . j a va 2s. c om*/ */ private IJavaElement selectJavaElement() { Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); FilteredItemsSelectionDialog dialog = new OpenTypeSelectionDialog(shell, false, new ProgressMonitorDialog(shell), SearchEngine.createWorkspaceScope(), IJavaSearchConstants.TYPE); dialog.setTitle(ClassFileMergeViewer.CLASS_FILE_MERGEVIEWER_TITLE); dialog.setMessage(BytecodeVisualizerMessages.Message_file_to_compare); int resultCode = dialog.open(); if (resultCode != IDialogConstants.OK_ID) { return null; } Object[] result = dialog.getResult(); if (result != null) { if (result.length != 0) { IJavaElement je = (IJavaElement) result[0]; return je; } } return null; }
From source file:com.github.ajaxsys.jdtx.utils.JDTUtils.java
License:Open Source License
/** * Find the IMethod in the workspace corresponding to a method signature. * * This doesn't work for elements declared in inner classes. It's possible * this is a 3.2 bug fixed in 3.3//from w w w . jav a 2s. c om * * @return null if not found */ @Deprecated public static IMethod findJavaMethodInWorkspaceBrokenForInnerClasses(String methodSig) { // dammit ... this doesn't work for inner classes. System.err.println("Search for " + methodSig); SearchPattern p = SearchPattern.createPattern(methodSig, IJavaSearchConstants.METHOD, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH); IJavaSearchScope scope = SearchEngine.createWorkspaceScope(); SearchEngine engine = new SearchEngine(); final Collection<IJavaElement> kludge = new ArrayList<IJavaElement>(); SearchRequestor requestor = new SearchRequestor() { @Override public void acceptSearchMatch(SearchMatch match) throws CoreException { kludge.add((IJavaElement) match.getElement()); } }; try { engine.search(p, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null); } catch (CoreException e) { e.printStackTrace(); } if (kludge.size() == 1) { return (IMethod) kludge.iterator().next(); } else { System.err.println("RETURNED " + kludge.size() + " " + kludge); return null; } }
From source file:com.google.gwt.eclipse.core.search.JavaQueryParticipantTest.java
License:Open Source License
public void testScope() throws CoreException { IJavaElement element = getType2().getMethod("getNumber", NO_PARAMS); QuerySpecification query;/*from w ww. j av a 2 s .c o m*/ IJavaSearchScope scope; // Scope: workspace scope = SearchEngine.createWorkspaceScope(); query = new ElementQuerySpecification(element, IJavaSearchConstants.REFERENCES, scope, ""); assertSearchMatch(createWindowsTestMatch(1039, 9), query); // Scope: project scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { getTestProject() }); query = new ElementQuerySpecification(element, IJavaSearchConstants.REFERENCES, scope, ""); assertSearchMatch(createWindowsTestMatch(1039, 9), query); // Scope: Compilation unit (the one containing the reference) scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { class1.getCompilationUnit() }); query = new ElementQuerySpecification(element, IJavaSearchConstants.REFERENCES, scope, ""); assertSearchMatch(createWindowsTestMatch(1039, 9), query); // Scope: Compilation unit (the one without any reference) scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { class2.getCompilationUnit() }); query = new ElementQuerySpecification(element, IJavaSearchConstants.REFERENCES, scope, ""); assertSearchMatches(NO_MATCHES, query); }
From source file:com.hudson.hibernatesynchronizer.properties.HibernateProperties.java
License:Apache License
private void addGeneral(Composite parent) { Composite subComp = new Composite(parent, SWT.NULL); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2;// w w w . j a va2 s.com subComp.setLayoutData(gd); generationEnabled = new BooleanFieldEditor(Constants.PROP_GENERATION_ENABLED, "I would like to have the synchronization performed automatically.", subComp); generationEnabled.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { checkScreen(); } }); generationEnabled.setPreferenceStore(getLocalPreferenceStore()); generationEnabled.load(); Label label = new Label(subComp, SWT.NULL); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IJavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); List sourceRoots = new ArrayList(); try { String value = Plugin.getProperty(getElement(), Constants.PROP_SOURCE_LOCATION); IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { try { if (null != roots[i].getCorrespondingResource() && roots[i].getJavaProject().equals(javaProject) && !roots[i].isArchive()) { sourceRoots.add(roots[i].getPath().toOSString()); } } catch (JavaModelException jme) { } } if (sourceRoots.size() > 1) { Label pathLabel = new Label(parent, SWT.NONE); pathLabel.setText("Source Location"); sourceLocation = new Combo(parent, SWT.READ_ONLY); int selection = 0; for (int i = 0; i < sourceRoots.size(); i++) { sourceLocation.add(sourceRoots.get(i).toString()); if (null != value && value.equals(sourceRoots.get(i).toString())) { selection = i; } } sourceLocation.select(selection); } } catch (Exception e) { } TabFolder folder = new TabFolder(parent, SWT.NONE); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 2; gd.grabExcessHorizontalSpace = true; folder.setLayoutData(gd); TabItem item = new TabItem(folder, SWT.NONE); item.setText("Value Objects"); Composite composite = new Composite(folder, SWT.NULL); GridLayout gl = new GridLayout(1, false); composite.setLayout(gl); gd = new GridData(); gd.grabExcessHorizontalSpace = true; composite.setLayoutData(gd); item.setControl(composite); Composite tComp = new Composite(composite, SWT.NONE); boEnabled = new BooleanFieldEditor(Constants.PROP_GENERATION_VALUE_OBJECT_ENABLED, "I would like to have value objects created for me.", tComp); boEnabled.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { checkScreen(); } }); boEnabled.setPreferenceStore(getLocalPreferenceStore()); boEnabled.load(); // Path text field baseGroup = new Group(composite, SWT.NULL); baseGroup.setText("Base Package Location"); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 1; baseGroup.setLayout(gridLayout); baseGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); String[][] params = new String[3][2]; params[0][0] = Constants.PROP_VALUE_RELATIVE; params[0][1] = Constants.PROP_VALUE_RELATIVE; params[1][0] = Constants.PROP_VALUE_ABSOLUTE; params[1][1] = Constants.PROP_VALUE_ABSOLUTE; params[2][0] = "Same Package"; params[2][1] = Constants.PROP_VALUE_SAME; basePackageStyle = new RadioGroupFieldEditor(Constants.PROP_BASE_VO_PACKAGE_STYLE, "", 3, params, baseGroup); basePackageStyle.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { basePackageStyleSelection = event.getNewValue().toString(); checkScreen(); } }); basePackageStyle.setPreferenceStore(getLocalPreferenceStore()); basePackageStyle.load(); Composite bgc1 = new Composite(baseGroup, SWT.NONE); gridLayout = new GridLayout(); gridLayout.numColumns = 3; bgc1.setLayout(gridLayout); bgc1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL)); basePackageHelp = new Label(bgc1, SWT.NULL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 3; basePackageHelp.setLayoutData(gd); basePackageNameLbl = new Label(bgc1, SWT.NULL); basePackageNameLbl.setText("Package:"); basePackageText = new Text(bgc1, SWT.SINGLE | SWT.BORDER); basePackageText.setSize(50, 12); gd = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL); gd.widthHint = 230; basePackageText.setLayoutData(gd); String basePackageString = Plugin.getProperty(getElement(), Constants.PROP_BASE_VO_PACKAGE_NAME); if (null != basePackageString) basePackageText.setText(basePackageString); else basePackageText.setText(Constants.DEFAULT_BASE_VO_PACKAGE); basePackageSelectionButton = new Button(bgc1, SWT.NATIVE); basePackageSelectionButton.setText("Browse"); basePackageSelectionButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope(); SelectionDialog sd = JavaUI.createPackageDialog(getShell(), javaProject, IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { PackageFragment pf = (PackageFragment) objects[0]; basePackageText.setText(pf.getElementName()); } } catch (JavaModelException jme) { jme.printStackTrace(); } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); item = new TabItem(folder, SWT.NONE); item.setText("Data Access Objects"); composite = new Composite(folder, SWT.NULL); gl = new GridLayout(1, false); composite.setLayout(gl); gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; composite.setLayoutData(gd); item.setControl(composite); tComp = new Composite(composite, SWT.NONE); managersEnabled = new BooleanFieldEditor(Constants.PROP_GENERATION_DAO_ENABLED, "I would like to have DAOs created for me.", tComp); managersEnabled.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { checkScreen(); } }); managersEnabled.setPreferenceStore(getLocalPreferenceStore()); managersEnabled.load(); new Label(parent, SWT.NULL); // Path text field managerGroup = new Group(composite, SWT.NULL); managerGroup.setText("Base Package Location"); gridLayout = new GridLayout(); gridLayout.numColumns = 1; managerGroup.setLayout(gridLayout); managerGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); params = new String[3][2]; params[0][0] = Constants.PROP_VALUE_RELATIVE; params[0][1] = Constants.PROP_VALUE_RELATIVE; params[1][0] = Constants.PROP_VALUE_ABSOLUTE; params[1][1] = Constants.PROP_VALUE_ABSOLUTE; params[2][0] = "Same Package"; params[2][1] = Constants.PROP_VALUE_SAME; managerPackageStyle = new RadioGroupFieldEditor(Constants.PROP_DAO_PACKAGE_STYLE, "", 3, params, managerGroup); managerPackageStyle.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { managerPackageStyleSelection = event.getNewValue().toString(); checkScreen(); } }); managerPackageStyle.setPreferenceStore(getLocalPreferenceStore()); managerPackageStyle.load(); bgc1 = new Composite(managerGroup, SWT.NONE); gridLayout = new GridLayout(); gridLayout.numColumns = 3; bgc1.setLayout(gridLayout); bgc1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); managerPackageHelp = new Label(bgc1, SWT.NULL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 3; managerPackageHelp.setLayoutData(gd); managerPackageNameLbl = new Label(bgc1, SWT.NULL); managerPackageNameLbl.setText("Package:"); managerPackageText = new Text(bgc1, SWT.SINGLE | SWT.BORDER); managerPackageText.setSize(50, 12); gd = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gd.widthHint = 230; managerPackageText.setLayoutData(gd); String managerPackageString = Plugin.getProperty(getElement(), Constants.PROP_DAO_PACKAGE_NAME); if (null != managerPackageString) managerPackageText.setText(managerPackageString); else managerPackageText.setText(Constants.DEFAULT_DAO_PACKAGE); managerPackageSelectionButton = new Button(bgc1, SWT.NATIVE); managerPackageSelectionButton.setText("Browse"); managerPackageSelectionButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope(); SelectionDialog sd = JavaUI.createPackageDialog(getShell(), javaProject, IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { PackageFragment pf = (PackageFragment) objects[0]; managerPackageText.setText(pf.getElementName()); } } catch (JavaModelException jme) { jme.printStackTrace(); } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); subComp = new Composite(bgc1, SWT.NULL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 3; subComp.setLayoutData(gd); managerUseBasePackage = new BooleanFieldEditor(Constants.PROP_BASE_DAO_USE_BASE_PACKAGE, "I would like the base DAOs in the base value object package", subComp); managerUseBasePackage.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { checkScreen(); } }); managerUseBasePackage.setPreferenceStore(getLocalPreferenceStore()); managerUseBasePackage.load(); baseManagerPackageStyleSelectionParent = new Composite(bgc1, SWT.NULL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = 3; baseManagerPackageStyleSelectionParent.setLayoutData(gd); params = new String[3][2]; params[0][0] = Constants.PROP_VALUE_RELATIVE; params[0][1] = Constants.PROP_VALUE_RELATIVE; params[1][0] = Constants.PROP_VALUE_ABSOLUTE; params[1][1] = Constants.PROP_VALUE_ABSOLUTE; params[2][0] = "DAO Package"; params[2][1] = Constants.PROP_VALUE_SAME; baseManagerPackageStyle = new RadioGroupFieldEditor(Constants.PROP_BASE_DAO_PACKAGE_STYLE, "Base DAO Location", 3, params, baseManagerPackageStyleSelectionParent); baseManagerPackageStyle.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { baseManagerPackageStyleSelection = event.getNewValue().toString(); checkScreen(); } }); baseManagerPackageStyle.setPreferenceStore(getLocalPreferenceStore()); baseManagerPackageStyle.load(); baseManagerPackageNameLbl = new Label(bgc1, SWT.NULL); baseManagerPackageNameLbl.setText("Package:"); baseManagerPackageText = new Text(bgc1, SWT.SINGLE | SWT.BORDER); baseManagerPackageText.setSize(50, 12); gd = new GridData( GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gd.widthHint = 230; baseManagerPackageText.setLayoutData(gd); String baseManagerPackageString = Plugin.getProperty(getElement(), Constants.PROP_BASE_DAO_PACKAGE_NAME); if (null != baseManagerPackageString) baseManagerPackageText.setText(baseManagerPackageString); else baseManagerPackageText.setText(Constants.DEFAULT_BASE_DAO_PACKAGE); baseManagerPackageSelectionButton = new Button(bgc1, SWT.NATIVE); baseManagerPackageSelectionButton.setText("Browse"); baseManagerPackageSelectionButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope(); SelectionDialog sd = JavaUI.createPackageDialog(getShell(), javaProject, IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { PackageFragment pf = (PackageFragment) objects[0]; baseManagerPackageText.setText(pf.getElementName()); } } catch (JavaModelException jme) { jme.printStackTrace(); } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); customManagerComposite = new Composite(composite, SWT.NONE); customManager = new BooleanFieldEditor(Constants.PROP_USE_CUSTOM_ROOT_DAO, "I would like to use a custom DAO root.", customManagerComposite); customManager.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { checkScreen(); } }); customManager.setPreferenceStore(getLocalPreferenceStore()); customManager.load(); managerRootComposite = new Composite(composite, SWT.NONE); managerRootComposite.setLayout(new GridLayout(3, false)); ((GridLayout) managerRootComposite.getLayout()).horizontalSpacing = 9; gd = new GridData(GridData.FILL_HORIZONTAL); ; gd.grabExcessHorizontalSpace = true; managerRootComposite.setLayoutData(gd); Label lbl = new Label(managerRootComposite, SWT.NONE); lbl.setText("DAO Class:"); daoRootClass = new Text(managerRootComposite, SWT.SINGLE | SWT.BORDER); String managerRootClassStr = Plugin.getProperty(getElement(), Constants.PROP_CUSTOM_ROOT_DAO_CLASS); if (null != managerRootClassStr) daoRootClass.setText(managerRootClassStr); gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; daoRootClass.setLayoutData(gd); Button managerRootButton = new Button(managerRootComposite, SWT.NATIVE); managerRootButton.setText("Browse"); managerRootButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope(); SelectionDialog sd = JavaUI.createTypeDialog(getShell(), new ApplicationWindow(getShell()), searchScope, IJavaElementSearchConstants.CONSIDER_CLASSES, false); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { IType type = (IType) objects[0]; daoRootClass.setText(type.getFullyQualifiedName()); } } catch (JavaModelException jme) { jme.printStackTrace(); } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); lbl = new Label(managerRootComposite, SWT.NONE); lbl.setText("DAO Exception:"); daoExceptionClass = new Text(managerRootComposite, SWT.SINGLE | SWT.BORDER); String daoExceptionClassStr = Plugin.getProperty(getElement(), Constants.PROP_BASE_DAO_EXCEPTION); if (null != daoExceptionClassStr) daoExceptionClass.setText(daoExceptionClassStr); else daoExceptionClass.setText("org.hibernate.HibernateException"); gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; daoExceptionClass.setLayoutData(gd); Button daoExceptionButton = new Button(managerRootComposite, SWT.NATIVE); daoExceptionButton.setText("Browse"); daoExceptionButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope(); SelectionDialog sd = JavaUI.createTypeDialog(getShell(), new ApplicationWindow(getShell()), searchScope, IJavaElementSearchConstants.CONSIDER_CLASSES, false); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { IType type = (IType) objects[0]; daoExceptionClass.setText(type.getFullyQualifiedName()); } } catch (JavaModelException jme) { jme.printStackTrace(); } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); }
From source file:com.hudson.hibernatesynchronizer.properties.HibernateProperties.java
License:Apache License
private void addTemplates(Composite parent) { Composite tComp = new Composite(parent, SWT.NULL); GridLayout gl = new GridLayout(1, false); gl.horizontalSpacing = 0;/* ww w . j a va 2 s .c om*/ gl.verticalSpacing = 0; tComp.setLayout(gl); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; tComp.setLayoutData(gd); Composite composite = new Composite(tComp, SWT.NULL); gl = new GridLayout(2, false); composite.setLayout(gl); gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; composite.setLayoutData(gd); templateTable = new Table(composite, SWT.BORDER | SWT.H_SCROLL | SWT.CHECK | SWT.FULL_SELECTION); templateTable.setVisible(true); templateTable.setLinesVisible(false); templateTable.setHeaderVisible(true); templateTable.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { int rowsChecked = 0; for (int i = 0; i < templateTable.getItemCount(); i++) { if (templateTable.getItem(i).getChecked()) rowsChecked++; } if (rowsChecked > 0) { exportButton.setEnabled(true); deleteButton.setEnabled(true); } else { exportButton.setEnabled(false); deleteButton.setEnabled(false); } if (templateTable.getSelectionIndex() >= 0) { editButton.setEnabled(true); deleteButton.setEnabled(true); } } public void widgetDefaultSelected(SelectionEvent e) { } }); templateTable.addKeyListener(new DeleteKeyListener(this, (IProject) getElement())); templateTable.addMouseListener(new TableDoubleClickListener(this)); GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = 140; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; templateTable.setLayoutData(data); // create the columns TableColumn templateColumn = new TableColumn(templateTable, SWT.LEFT); TableColumn nameColumn = new TableColumn(templateTable, SWT.LEFT); TableColumn typeColumn = new TableColumn(templateTable, SWT.LEFT); templateColumn.setText("Template"); nameColumn.setText("Name"); ColumnLayoutData templateColumnLayout = new ColumnWeightData(50, false); ColumnLayoutData nameColumnLayout = new ColumnWeightData(50, false); // set columns in Table layout TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(templateColumnLayout); tableLayout.addColumnData(nameColumnLayout); templateTable.setLayout(tableLayout); Composite buttonComposite = new Composite(composite, SWT.NULL); GridLayout fl = new GridLayout(1, false); fl.verticalSpacing = 2; buttonComposite.setLayout(fl); data = new GridData(); data.horizontalAlignment = GridData.BEGINNING; data.verticalAlignment = GridData.BEGINNING; buttonComposite.setLayoutData(data); importButton = new Button(buttonComposite, SWT.NATIVE); importButton.setText("Import"); importButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { FileDialog fd = new FileDialog(getShell()); fd.setFilterExtensions(new String[] { "*.zip" }); String fileName = fd.open(); if (null != fileName) { try { IProject project = (IProject) getElement(); long uniqueId = System.currentTimeMillis(); ZipFile zipFile = new ZipFile(new File(fileName), ZipFile.OPEN_READ); for (Enumeration enumeration = zipFile.entries(); enumeration.hasMoreElements();) { ZipEntry entry = (ZipEntry) enumeration.nextElement(); String currentEntry = entry.getName(); if (currentEntry.endsWith(".pt")) { BufferedInputStream is = new BufferedInputStream(zipFile.getInputStream(entry)); TemplateLocation templateLocation = new TemplateLocation(is, project); if (null != templateLocation.getTemplate()) { ResourceManager.getInstance(project).addTemplateLocation(templateLocation); } } } reloadTemplates(); } catch (Exception exc) { HSUtil.showError(exc.getMessage(), getShell()); } } } public void widgetDefaultSelected(SelectionEvent e) { } }); exportButton = new Button(buttonComposite, SWT.NATIVE); exportButton.setText("Export"); exportButton.setEnabled(false); exportButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { FileDialog fd = new FileDialog(getShell()); fd.setFilterExtensions(new String[] { "*.zip" }); String fileName = fd.open(); if (null != fileName && fileName.trim().length() > 0) { fileName = fileName.trim(); if (fileName.indexOf(".") < 0) fileName = fileName + ".zip"; try { IProject project = (IProject) getElement(); long uniqueId = System.currentTimeMillis(); List projectTemplates = new ArrayList(); for (int i = 0; i < templateTable.getItemCount(); i++) { if (templateTable.getItem(i).getChecked()) { TemplateLocation templateLocation = (TemplateLocation) ResourceManager .getInstance(project).getTemplateLocations().get(i); projectTemplates.add(templateLocation); templateTable.getItem(i).setChecked(false); } } exportButton.setEnabled(false); ZipOutputStream zos = null; try { zos = new ZipOutputStream(new FileOutputStream(new File(fileName))); for (Iterator i = projectTemplates.iterator(); i.hasNext();) { TemplateLocation templateLocation = (TemplateLocation) i.next(); ZipEntry entry = new ZipEntry(uniqueId++ + ".pt"); zos.putNextEntry(entry); zos.write(templateLocation.toString().getBytes()); zos.closeEntry(); } } finally { if (null != zos) zos.close(); } MessageDialog.openInformation(getShell(), "Export Complete", projectTemplates.size() + " project templates sucessfully exported to " + fileName + "."); } catch (Exception exc) { HSUtil.showError(exc.getMessage(), getShell()); } } } public void widgetDefaultSelected(SelectionEvent e) { } }); new Label(buttonComposite, SWT.NULL); selectAllButton = new Button(buttonComposite, SWT.NATIVE); selectAllButton.setText("Select All"); selectAllButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { TableItem[] items = templateTable.getItems(); for (int i = 0; i < items.length; i++) { items[i].setChecked(true); } if (items.length > 0) { deleteButton.setEnabled(true); } } public void widgetDefaultSelected(SelectionEvent e) { } }); selectNoneButton = new Button(buttonComposite, SWT.NATIVE); selectNoneButton.setText("Deselect All"); selectNoneButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { TableItem[] items = templateTable.getItems(); for (int i = 0; i < items.length; i++) { items[i].setChecked(false); } if (templateTable.getSelection().length == 0) { deleteButton.setEnabled(false); } } public void widgetDefaultSelected(SelectionEvent e) { } }); buttonComposite = new Composite(tComp, SWT.NULL); fl = new GridLayout(3, false); fl.marginWidth = 5; fl.horizontalSpacing = 2; buttonComposite.setLayout(fl); data = new GridData(); data.horizontalAlignment = GridData.BEGINNING; data.verticalAlignment = GridData.BEGINNING; data.horizontalSpan = 2; buttonComposite.setLayoutData(data); addButton = new Button(buttonComposite, SWT.NATIVE); addButton.setText("New"); addButton.setVisible(true); addButton.addSelectionListener(new AddButtonListener(this, ((IProject) getElement()))); editButton = new Button(buttonComposite, SWT.NATIVE); editButton.setText("Edit"); editButton.addSelectionListener(new EditButtonListener(this)); deleteButton = new Button(buttonComposite, SWT.NATIVE); deleteButton.setText("Delete"); deleteButton.addSelectionListener(new DeleteButtonListener(this, ((IProject) getElement()))); reloadTemplates(); composite = new Composite(tComp, SWT.NONE); composite.setLayout(new GridLayout(1, false)); gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; composite.setLayoutData(gd); Label label = new Label(composite, SWT.NULL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; gd.horizontalSpan = 2; label.setLayoutData(gd); label.setText("Context Parameters"); parametersTable = new Table(composite, SWT.BORDER | SWT.H_SCROLL | SWT.FULL_SELECTION); parametersTable.setVisible(true); parametersTable.setLinesVisible(false); parametersTable.setHeaderVisible(true); parametersTable.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { editParameterButton.setEnabled(true); deleteParameterButton.setEnabled(true); } public void widgetDefaultSelected(SelectionEvent e) { } }); parametersTable.addKeyListener(new ParameterDeleteKeyListener(this, (IProject) getElement())); parametersTable.addMouseListener(new ParameterDoubleClickListener(this)); // create the columns TableColumn keyColumn = new TableColumn(parametersTable, SWT.LEFT); TableColumn valueColumn = new TableColumn(parametersTable, SWT.LEFT); keyColumn.setText("Name"); valueColumn.setText("Value"); ColumnLayoutData keyColumnLayout = new ColumnWeightData(35, false); ColumnLayoutData valueColumnLayout = new ColumnWeightData(65, false); // set columns in Table layout tableLayout = new TableLayout(); tableLayout.addColumnData(keyColumnLayout); tableLayout.addColumnData(valueColumnLayout); parametersTable.setLayout(tableLayout); data = new GridData(GridData.FILL_BOTH); data.heightHint = 50; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; parametersTable.setLayoutData(data); buttonComposite = new Composite(composite, SWT.NONE); data = new GridData(); data.horizontalAlignment = GridData.BEGINNING; data.verticalAlignment = GridData.BEGINNING; buttonComposite.setLayoutData(data); fl = new GridLayout(3, false); fl.horizontalSpacing = 2; buttonComposite.setLayout(fl); buttonComposite.setVisible(true); addParameterButton = new Button(buttonComposite, SWT.NATIVE); addParameterButton.setText("New"); addParameterButton.setVisible(true); addParameterButton.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL)); addParameterButton.addSelectionListener(new AddParameterButtonListener(this, (IProject) getElement())); editParameterButton = new Button(buttonComposite, SWT.NATIVE); editParameterButton.setText("Edit"); editParameterButton.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL)); editParameterButton.addSelectionListener(new EditParameterButtonListener(this, (IProject) getElement())); deleteParameterButton = new Button(buttonComposite, SWT.NATIVE); deleteParameterButton.setText("Delete"); deleteParameterButton.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL)); deleteParameterButton .addSelectionListener(new DeleteParameterButtonListener(this, ((IProject) getElement()))); reloadTemplateParameters(); Composite subComp = new Composite(tComp, SWT.NULL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; subComp.setLayoutData(gd); subComp.setLayout(new GridLayout(4, false)); label = new Label(subComp, SWT.NONE); label.setText("Context Object"); contextObject = new Text(subComp, SWT.BORDER); contextObject.setEnabled(false); contextObject.setBackground(new Color(null, 255, 255, 255)); gd = new GridData(GridData.FILL_HORIZONTAL); gd.widthHint = 200; gd.grabExcessHorizontalSpace = true; contextObject.setLayoutData(gd); String contextObjString = Plugin.getProperty(getElement(), Constants.PROP_CONTEXT_OBJECT); if (null != contextObjString) contextObject.setText(contextObjString); Button contextObjectButton = new Button(subComp, SWT.NATIVE); contextObjectButton.setText("Browse"); contextObjectButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { JavaProject javaProject = (JavaProject) JavaCore.create((IProject) getElement()); IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope(); SelectionDialog sd = JavaUI.createTypeDialog(getShell(), new ApplicationWindow(getShell()), searchScope, IJavaElementSearchConstants.CONSIDER_CLASSES, false); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { IType type = (IType) objects[0]; contextObject.setText(type.getFullyQualifiedName()); } } catch (JavaModelException jme) { jme.printStackTrace(); } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); Button clearButton = new Button(subComp, SWT.NATIVE); clearButton.setText("Clear"); clearButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { contextObject.setText(""); } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); label = new Label(subComp, SWT.NONE); label.setText("Tip: You can reference this object in your templates as ${obj}"); gd = new GridData(); gd.horizontalSpan = 2; gd.grabExcessHorizontalSpace = true; label.setLayoutData(gd); }
From source file:com.hudson.hibernatesynchronizer.wizard.NewMappingWizardPage.java
License:GNU General Public License
public Composite addProperties(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(1, false); container.setLayout(layout);//w w w. j av a 2 s . com layout.verticalSpacing = 9; Composite subComp = new Composite(container, SWT.NULL); GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gd.horizontalSpan = 2; subComp.setLayoutData(gd); layout = new GridLayout(); subComp.setLayout(layout); layout.numColumns = 3; Label label = new Label(subComp, SWT.NULL); label.setText("Extension"); extensionText = new Text(subComp, SWT.BORDER); String extension = Plugin.getDefault().getPreferenceStore().getString("Extension"); if (null != extension && extension.trim().length() > 0) extensionText.setText(extension); else extensionText.setText("hbm"); gd = new GridData(); gd.widthHint = 150; gd.horizontalSpan = 2; extensionText.setLayoutData(gd); label = new Label(subComp, SWT.NULL); label.setText("Composite ID Name"); compositeIdNameText = new Text(subComp, SWT.BORDER); String compositeIdName = Plugin.getDefault().getPreferenceStore().getString("CompositeIdName"); if (null != compositeIdName && compositeIdName.trim().length() > 0) compositeIdNameText.setText(compositeIdName); else compositeIdNameText.setText("id"); gd = new GridData(); gd.widthHint = 150; gd.horizontalSpan = 2; compositeIdNameText.setLayoutData(gd); label = new Label(subComp, SWT.NULL); label.setText("ID Generator"); generatorText = new Text(subComp, SWT.BORDER); String generator = Plugin.getDefault().getPreferenceStore().getString("Generator"); if (null != generator && generator.trim().length() > 0) generatorText.setText(generator); else generatorText.setText("vm"); gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gd.widthHint = 150; generatorText.setLayoutData(gd); Button browseButton = new Button(subComp, SWT.NATIVE); browseButton.setText("Browse"); browseButton.addMouseListener(new MouseListener() { public void mouseDown(MouseEvent e) { try { IJavaSearchScope searchScope = null; if (null != project) { searchScope = SearchEngine.createJavaSearchScope(new IJavaElement[] { project }); } else { searchScope = SearchEngine.createWorkspaceScope(); } SelectionDialog sd = JavaUI.createTypeDialog(getShell(), new ApplicationWindow(getShell()), searchScope, IJavaElementSearchConstants.CONSIDER_CLASSES, false); sd.open(); Object[] objects = sd.getResult(); if (null != objects && objects.length > 0) { IType type = (IType) objects[0]; generatorText.setText(type.getFullyQualifiedName()); } } catch (JavaModelException jme) { } } public void mouseDoubleClick(MouseEvent e) { } public void mouseUp(MouseEvent e) { } }); new Label(subComp, SWT.NULL); setComp = new Composite(container, SWT.NULL); layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 2; gd = new GridData(); gd.horizontalSpan = 2; gd.grabExcessHorizontalSpace = true; subComp.setData(gd); createSets = new BooleanFieldEditor("CreateSets", "Generate Sets to represent inverse foreign relationships", setComp); Plugin.getDefault().getPreferenceStore().setDefault("CreateSets", true); createSets.setPreferenceStore(Plugin.getDefault().getPreferenceStore()); createSets.load(); createSets.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { useLazyLoading.setEnabled(createSets.getBooleanValue(), setComp); } }); useLazyLoading = new BooleanFieldEditor("UseLazyLoading", "Use Lazy Loading", setComp); useLazyLoading.setPreferenceStore(Plugin.getDefault().getPreferenceStore()); useLazyLoading.load(); if (!createSets.getBooleanValue()) useLazyLoading.setEnabled(false, setComp); startLowerCase = new BooleanFieldEditor("StartLowerCase", "Start Properties with Lower Case", setComp); startLowerCase.setPreferenceStore(Plugin.getDefault().getPreferenceStore()); startLowerCase.load(); startLowerCase.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { compositeIdNameCheck(); } }); subComp = new Composite(setComp, SWT.NULL); subComp.setLayout(new GridLayout(3, false)); useProxies = new BooleanFieldEditor("UseProxies", "Use Proxy Classes", subComp); useProxies.setPreferenceStore(Plugin.getDefault().getPreferenceStore()); useProxies.load(); useProxies.setPropertyChangeListener(new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { setProxyComposite(); } }); proxyComposite = new Composite(subComp, SWT.NULL); proxyComposite.setLayout(new GridLayout(2, false)); label = new Label(proxyComposite, SWT.NULL); label.setText(" Proxy Class Name"); proxyNameText = new Text(proxyComposite, SWT.BORDER); String proxyClassName = Plugin.getDefault().getPreferenceStore().getString("ProxyClassName"); if (null != proxyClassName && proxyClassName.trim().length() > 0) proxyNameText.setText(proxyClassName); else proxyNameText.setText("${className}Proxy"); gd = new GridData(); gd.widthHint = 150; proxyNameText.setLayoutData(gd); setProxyComposite(); compositeIdNameCheck(); return container; }