入职中国移动入职体检标准电信体检合格指标

/ tao-autodao
项目语言:None
权限:read-only(如需更高权限请先加入项目)
tao-autodao/
Alibaba Group Holding Limited
* This prog you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* If you have any question, please contact: 智清、剑笑
* Authors:智清 &zhiqing.&;剑笑&&
package com.taobao.eclipse.plugin.autodao.ui.
import static com.taobao.eclipse.plugin.autodao.ui.AutoDAOUIConstants.EMPTY_STRING;
import java.io.F
import java.lang.reflect.InvocationTargetE
import java.net.URL;
import java.text.MessageF
import java.util.ArrayL
import java.util.L
import org.eclipse.core.resources.IC
import org.eclipse.core.resources.IF
import org.eclipse.core.resources.IF
import org.eclipse.core.resources.IP
import org.eclipse.core.resources.IR
import org.eclipse.core.resources.ResourcesP
import org.eclipse.core.runtime.CoreE
import org.eclipse.core.runtime.IP
import org.eclipse.core.runtime.IProgressM
import org.eclipse.core.runtime.IS
import org.eclipse.core.runtime.NullProgressM
import org.eclipse.jdt.core.IJavaE
import org.eclipse.jdt.core.IJavaM
import org.eclipse.jdt.core.IJavaP
import org.eclipse.jdt.core.IPackageFragmentR
import org.eclipse.jdt.core.IT
import org.eclipse.jdt.core.JavaC
import org.eclipse.jdt.core.JavaC
import org.eclipse.jdt.core.JavaModelE
import org.eclipse.jdt.core.search.IJavaSearchC
import org.eclipse.jdt.core.search.IJavaSearchS
import org.eclipse.jdt.core.search.SearchE
import org.eclipse.jdt.internal.ui.JavaP
import org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionD
import org.eclipse.jdt.internal.ui.wizards.TypedElementSelectionV
import org.eclipse.jdt.internal.ui.wizards.TypedViewerF
import org.eclipse.jdt.ui.JavaElementC
import org.eclipse.jdt.ui.JavaElementLabelP
import org.eclipse.jdt.ui.StandardJavaElementContentP
import org.eclipse.jface.dialogs.MessageD
import org.eclipse.jface.operation.IRunnableC
import org.eclipse.jface.operation.IRunnableWithP
import org.eclipse.boV
import org.eclipse.jface.viewers.ILabelP
import org.eclipse.jface.viewers.V
import org.eclipse.jface.viewers.ViewerF
import org.eclipse.jface.window.W
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.C
import org.eclipse.swt.layout.GridD
import org.eclipse.swt.widgets.B
import org.eclipse.
import org.eclipse.swt.widgets.D
import org.eclipse.swt.widgets.S
import org.eclipse.ui.PartInitE
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.browser.IWorkbenchBrowserS
import org.eclipse.ui.dialogs.ContainerSelectionD
import org.eclipse.ui.dialogs.ElementListSelectionD
import org.eclipse.ui.dialogs.ElementTreeSelectionD
import org.eclipse.ui.dialogs.ResourceSelectionD
import org.eclipse.ui.ide.IDE;
import com.taobao.eclipse.plugin.autodao.ibaits.util.IOU
import com.taobao.eclipse.plugin.autodao.ui.AutodaoSubclipseM
import com.taobao.eclipse.plugin.autodao.ui.dialog.PackageLabelP
import com.taobao.eclipse.plugin.autodao.ui.model.RecentConfigurationB
import com.taobao.eclipse.plugin.autodao.ui.model.RecentConfigurationBeanM
* 类说明:界面相关、公用计算之类的Util
* @author 智清 &a href=&mailto:zhiqing.&&&zhiqing.&&/a&.
* 创建时间:
public final class AutoDAOUIUtils {
public static final int
dialogTypeSelectProject = 1;
public static final int
dialogTypeSelectPackage = 2;
public static final int
dialogTypeSelectFile = 3;
public static final int
dialogTypeSelectResource = 4;
public static final int
dialogTypeSelectPath = 5;
private static final String ELEMENT_SEPARATION_TAG = &,&;
private AutoDAOUIUtils() {
public static GridData createHFillGridData() {
return createHFillGridData(1);
public static GridData createHFillGridData(int span ) {
final GridData gd= createGridData(0, SWT.DEFAULT, SWT.FILL, SWT.CENTER, true, false);
gd.horizontalSpan=
public static GridData createHFillGridData(int span, int height ) {
final GridData gd= createGridData(0, height, SWT.FILL, SWT.CENTER, true, false);
gd.horizontalSpan=
public static GridData createGridData(int width, int height, int hAlign, int vAlign, boolean hGrab, boolean vGrab) {
final GridData gd= new GridData(hAlign, vAlign, hGrab, vGrab);
gd.widthHint=
gd.heightHint=
* Returns the system {@link Color} matching the specific ID.
* @param systemColorID
the ID value for the color
* @return the system {@link Color} matching the specific ID
public static Color getColor(int systemColorID) {
Display display = Display.getCurrent();
return display.getSystemColor(systemColorID);
public static Button createRadioButton(Composite parent, String text) {
Button radioButton = new Button(parent, SWT.RADIO);
radioButton.setText(text);
return radioB
* 用外部浏览器打开目录或网址
* @param url
* @throws PartInitException
public static void openExternalUrl(URL url) throws PartInitException {
IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
support.getExternalBrowser().openURL(url);
} catch (Exception e) {
public static void selectDefaultComboItem(ComboViewer comboViewer) {
if (comboViewer.getCombo().getItemCount() & 0 && comboViewer.getSelection().isEmpty()) {
comboViewer.getCombo().select(0);
* 截取一段文本的前maxSize个字符
* @param value
* @param maxSize
public static String getShortString(String value, int maxSize) {
if( maxSize &= 0 || value.length() &= maxSize ){
return value.substring(0, maxSize) +&...&;
* 弹出一个选择项目的&搜索选择&窗口,用户选择之后将返回一个IJavaProject对象.
* @param shell
* @param projectNameInit 已选定的Project(默认打开弹窗时将选中该Project)
public static IJavaProject chooseJavaProject( Shell shell, String projectNameInit ) {
// chooseJavaProject()方法会返回用户选择的项目,如果是null,说明是选择了取消按钮,那么直接返回.
ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, labelProvider);
dialog.setTitle(AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_PROJECT&)); // 项目选择容器的Title
dialog.setMessage(AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_PROJECT_2&)); // 提示语
// 将当前工作空间中所有项目加入到ElementList中去, 供选择.
IJavaProject[] projects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects();
dialog.setElements(projects);
} catch (JavaModelException jme) {
// 根据文本框中已经存在的项目名称来为用户确定一个初始的选择
IJavaProject javaProject =
if ( null != projectNameInit && projectNameInit.trim().length() & 0) {
javaProject = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProject(projectNameInit.trim());
if (javaProject != null) {
dialog.setInitialSelections(new Object[] { javaProject });
if (dialog.open() == Window.OK) {
IJavaProject iJavaProject = (IJavaProject) dialog.getFirstResult();
return iJavaP
* 选取一个package
* @param shell
* @param javaProject
public static IJavaElement choosePackage( Shell shell, IJavaProject javaProject ) {
IPackageFragmentRoot[] packageFragmentRoots =
packageFragmentRoots = javaProject.getPackageFragmentRoots();
} catch (JavaModelException e) {
List&IJavaElement& javaElements = new ArrayList&IJavaElement&();
if( null != packageFragmentRoots && packageFragmentRoots.length & 0 ){
for( IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots ){
IResource resource = packageFragmentRoot.getResource();
if( null != resource && resource instanceof IFolder ){
IJavaElement[] javaElementsTmp = packageFragmentRoot.getChildren();
if( null != javaElementsTmp && javaElementsTmp.length &0 ){
for( IJavaElement javaElementTmp : javaElementsTmp ){
if( null != javaElementTmp && !javaElementTmp.getElementName().trim().equals( EMPTY_STRING )){
javaElements.add(javaElementTmp);
} catch (JavaModelException e) {
e.printStackTrace();
ElementListSelectionDialog elementListSelectionDialog = new ElementListSelectionDialog(null, new PackageLabelProvider());
//elementSetSelectionDialog.setSize(800, 400);
elementListSelectionDialog.setTitle(&choose package&);
elementListSelectionDialog.setMessage(&&choose package&);
elementListSelectionDialog.setElements(javaElements.toArray( new IJavaElement[javaElements.size()]));
if (elementListSelectionDialog.open() == Window.OK) {
Object[] results = elementListSelectionDialog.getResult();
if( null != results && results.length &0 ){
IJavaElement javaElement = (IJavaElement)results[0];
return javaE
* @param shell
* @param project
* @param isSelectSingle true则仅返回单一文件;否则多个文件以
&File.pathSeparator& 隔开 返回
public static String handlePropFileSelect( Shell shell, IProject project, boolean isSelectSingle ) {
// 指定当前的项目
// 弹出一个资源选择框,让用户选择他自己的配置文件.
if(project==null){
MessageDialog.openInformation(null, &notice&, AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_PROJECT_2&));
ResourceSelectionDialog dialog = new ResourceSelectionDialog(shell, project, AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_FILE&));
dialog.setTitle(AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_FILE&));
dialog.open();
// 用户作出选择之后, 会将这个文件以&,&隔开写入文本框中去.
Object[] results = dialog.getResult();
if ((results != null) && (results.length & 0)) {
StringBuilder sb = new StringBuilder();
for (Object obj : results) {
if (obj instanceof IFile) {
IFile file = (IFile)
sb.append(file.getProjectRelativePath().toString() + ELEMENT_SEPARATION_TAG);
if (sb.length() & 0) {
return sb.toString().substring(0, sb.length() - 1);
//fPropText.setText(sb.toString().substring(0, sb.length() - 1));
* 选取一个Source目录。Opens a selection dialog that allows to select a source container.
* @return returns the selected package fragment root
or &code&null&/code& if the dialog has been canceled.
* The caller typically sets the result to the container input field.
* Clients can override this method if they want to offer a different dialog.
* @since 3.2
public static IPackageFragmentRoot chooseContainer( Shell shell ) {
//IJavaElement initElement= getPackageFragmentRoot();
Class[] acceptedClasses= new Class[] { IPackageFragmentRoot.class, IJavaProject.class };
TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, false) {
public boolean isSelectedValid(Object element) {
if (element instanceof IJavaProject) {
IJavaProject jproject= (IJavaProject)
IPath path= jproject.getProject().getFullPath();
return (jproject.findPackageFragmentRoot(path) != null);
} else if (element instanceof IPackageFragmentRoot) {
return (((IPackageFragmentRoot)element).getKind() == IPackageFragmentRoot.K_SOURCE);
} catch (JavaModelException e) {
JavaPlugin.log(e.getStatus()); // just log, no UI in validation
acceptedClasses= new Class[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class };
ViewerFilter filter= new TypedViewerFilter(acceptedClasses) {
public boolean select(Viewer viewer, Object parent, Object element) {
if (element instanceof IPackageFragmentRoot) {
return (((IPackageFragmentRoot)element).getKind() == IPackageFragmentRoot.K_SOURCE);
} catch (JavaModelException e) {
JavaPlugin.log(e.getStatus()); // just log, no UI in validation
return super.select(viewer, parent, element);
StandardJavaElementContentProvider provider= new StandardJavaElementContentProvider();
ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(shell, labelProvider, provider);
dialog.setValidator(validator);
dialog.setComparator(new JavaElementComparator());
dialog.setTitle(&Source Folder Selection&);
dialog.setMessage(&&Choose a source folder:&);
dialog.addFilter(filter);
dialog.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()));
//dialog.setInitialSelection(initElement);
dialog.setHelpAvailable(false);
if (dialog.open() == Window.OK) {
Object element= dialog.getFirstResult();
if (element instanceof IJavaProject) {
IJavaProject jproject= (IJavaProject)
return jproject.getPackageFragmentRoot(jproject.getProject());
} else if (element instanceof IPackageFragmentRoot) {
return (IPackageFragmentRoot)
* 选取工程中的一个目录
* @param shell
* @param project 选定的工程
public static IPath chooseIPathInProject ( Shell shell, IProject project) {
IPath path =
ContainerSelectionDialog dialog = new ContainerSelectionDialog(shell, project, false,
AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_PATHSOURCE&));
dialog.setTitle(AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_PATHSOURCE_TITLE&));
if (project != null) {
dialog.setInitialSelections(new Object[] { project.getFullPath() });
dialog.showClosedProjects(false);
if (dialog.open() == Window.OK) {
Object[] results = dialog.getResult();
if ((results != null) && (results.length & 0) && (results[0] instanceof IPath)) {
path = (IPath) results[0];
path = path.removeFirstSegments(1);
//String containerName = path.makeRelative().toString();
//txtSrcFolder.setText(containerName);
* 指定Class
* @param shell
* @param context
* @param project
public static IType chooseClass( Shell shell, IRunnableContext context, IProject project ) {
IJavaElement[] elements= new IJavaElement[] { JavaCore.create(project)};
IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements);
FilteredTypesSelectionDialog dialog= new FilteredTypesSelectionDialog(shell, false,
context, scope, IJavaSearchConstants.CLASS);
dialog.setTitle(AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_CLASS&));
dialog.setMessage(AutodaoSubclipseMessages.getString(&DIALOG_CHOOSE_CLASS_2&));
if(Window.OK == dialog.open()){
Object obj = dialog.getFirstResult();
IType type = (IType)
* Verifies the input for the package field.
* @param packName
* @return 错误信息。若无错误信息,则返回null
public static String packageChanged( String packName ) {
if (packName.length() & 0) {
IStatus val=
String[] sourceComplianceLevels = new String[] {
JavaCore.PILER_SOURCE),
JavaCore.PILER_COMPLIANCE)
val = JavaConventions.validatePackageName(packName, sourceComplianceLevels[0], sourceComplianceLevels[1]);
if( null == val ){
if (val.getSeverity() == IStatus.ERROR) {
return MessageFormat.format(&Invalid package name. {0}&, new Object[]{ val.getMessage() });
} else if (val.getSeverity() == IStatus.WARNING) {
return MessageFormat.format(&Discouraged package name. {0}&, new Object[]{ val.getMessage() });
return &Enter a package name.&;
* @param foldPath
* @param project
* 刷新文件夹
public static void refreshFolder( String foldPath, IProject project){
project.getFolder(foldPath).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
} catch (Exception e) {
* @param foldPath
* @param project
* 刷新文件夹
public static void refreshFolder( IResource resource, IProject project){
resource.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
} catch (Exception e) {
* 在Project中创建一个文件
* @param runnableContext
* @param shell
* @param javaProject
* @param fileFolder 创建完毕或创建过程中可能需要刷新的文件夹(即:受影响的文件夹)
* @param fileOrJavaTypeName 如果出现错误信息,显示的文件夹
* @param ifile 待创建的文件
* @param compilationUnitContent 待创建的文件内容
public static boolean createFileInProject(IRunnableContext runnableContext, final Shell shell,
final IJavaProject javaProject, String fileFolder, String fileOrJavaTypeName,
final IFile ifile, final String compilationUnitContent ,final String charsetName){
if( ifile.exists() ){
IContainer parentFolder = ifile.getParent();
if( !MessageDialog.openConfirm(shell, AutodaoSubclipseMessages.getString(&CONFIRM_ERROR&),
fileOrJavaTypeName + AutodaoSubclipseMessages.getString(&CONFIRM_ERROR_FILE_EXIST&)) ){
File file = ifile.getLocation().toFile();
file.delete();
refreshFolder(parentFolder, javaProject.getProject());
IRunnableWithProgress op = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor)
throws InvocationTargetException, InterruptedException {
String content =
// content = new String(compilationUnitContent.getBytes(),&UTF-8&);
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(new File(&d://2.txt&)),&GBK&);
writer.write(compilationUnitContent);
writer.close();
} catch (Exception e1) {
e1.printStackTrace();
CreateFileOperation op = new CreateFileOperation(ifile,
null, new ByteArrayInputStream(compilationUnitContent.getBytes()),
&AutoDAO生成文件&);
PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute(
op,monitor,WorkspaceUndoUtil.getUIInfoAdapter(shell));
ifile.setCharset(charsetName, null);
} catch (Exception e) {
e.printStackTrace();
IOUtils.saveFile(ifile.getLocation().toString(), compilationUnitContent, charsetName);
refreshFolder(ifile.getParent(), javaProject.getProject());
ifile.setCharset(charsetName, null);
} catch (CoreException e) {
e.printStackTrace();
runnableContext.run( true, true, op );
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
if( null != ifile ){
refreshFolder(ifile, javaProject.getProject());
refreshFolder(fileFolder, javaProject.getProject());
* 在编辑器中打开文件
* @param file
* @param editorId 运行传入null
public static void openFileWithEditor(final IFile file, final String editorId){
Display.getDefault().asyncExec(new Runnable(){
public void run() {
if(file.exists()){
if( null != editorId && !editorId.isEmpty() ){
IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), file, editorId);
} catch (PartInitException e) {
IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), file);
} catch (PartInitException e) {
* 保存用户的上一次操作的值
public static void intelligentSaveDefaultValueByMemory(String javaProjectName, String srcFolder, String doPackageName,
String baseDoClassName, String queryPackageName,
String baseQueryClassName, String sqlMapFileFolder, String sqlMapConfigFilePath,
String daoPackageName, String daoException, String baseDaoClassName, String daoConfigFilePath){
RecentConfigurationBean recentConfigurationBean = new RecentConfigurationBean(
javaProjectName, srcFolder, doPackageName, baseDoClassName,
queryPackageName, baseQueryClassName,
sqlMapFileFolder, sqlMapConfigFilePath,
daoPackageName, daoException, baseDaoClassName, daoConfigFilePath);
RecentConfigurationBeanManager.getSingletonInstance().setRecentConfigurationBean(recentConfigurationBean);
RecentConfigurationBeanManager.getSingletonInstance().writeCache();
(C)&&2013&&Alibaba&&Inc.&&All&&rights&&resvered.
Powered by

我要回帖

更多关于 中国电信入职通知时间 的文章

 

随机推荐