Changeset 530

Show
Ignore:
Timestamp:
04/04/07 16:33:08 (2 years ago)
Author:
nozawa
Message:

#42 plugin.xmlが無い場合は作成するように修正

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/RB-0.9.0/org.jalcedo.client.generator.ui/src/org/jalcedo/client/generator/ui/config/ProjectConfiguration.java

    r517 r530  
    1919import org.eclipse.core.runtime.Status; 
    2020import org.eclipse.pde.core.IBaseModel; 
     21import org.eclipse.pde.core.plugin.IExtensionsModelFactory; 
    2122import org.eclipse.pde.core.plugin.IPluginBase; 
    2223import org.eclipse.pde.core.plugin.IPluginElement; 
     
    2425import org.eclipse.pde.core.plugin.IPluginImport; 
    2526import org.eclipse.pde.core.plugin.IPluginModel; 
     27import org.eclipse.pde.core.plugin.IPluginModelBase; 
     28import org.eclipse.pde.core.plugin.IPluginModelFactory; 
    2629import org.eclipse.pde.core.plugin.IPluginObject; 
    2730import org.eclipse.pde.internal.ui.editor.PDEFormEditor; 
     31import org.eclipse.pde.internal.ui.editor.plugin.ManifestEditor; 
    2832import org.eclipse.ui.IEditorPart; 
    2933import org.eclipse.ui.IFileEditorInput; 
     
    6064 
    6165    /** 
    62      * インスタンスを初期化し、指定されたプロジェクトのマニフェストエディタ 
    63      * プラグインモデルを設定する。 
     66     * インスタンスを初期化し、指定されたプロジェクトのマニフェストエディタを開く。 
     67     * またマニフェストエディタからプラグインモデルを取得する。 
    6468     *  
    6569     * @param project  
     
    6872    public ProjectConfiguration(IProject project) throws CoreException { 
    6973        manifestEditor = this.openManifestEditor(project); 
     74         
    7075        pluginModel = this.findPluginModel(manifestEditor); 
    7176    } 
     
    7782     * また、既に同じ ID の宣言が登録されている場合は追加しない。  
    7883     *  
     84     * 拡張宣言を追加したら、マニフェストエディタを保存する。 
    7985     * @param beanEditorInfo  
    8086     * @param monitor 
     
    8894            IPluginModel pluginModel = this.getPluginModel(); 
    8995            IPluginBase pluginBase = pluginModel.getPluginBase(); 
    90  
     96             
    9197            IPluginExtension viewExtension = findViewExtension(pluginBase); 
    92  
     98             
    9399            String viewName = beanEditorInfo.getTargetBean().getClassName() 
    94100                    + "View"; //$NON-NLS-1$ 
     
    113119     * @param viewExtension 
    114120     * @param newViewID 
    115      * @return 同じ ID がる場合 true 
     121     * @return 同じ ID が既につかわれている場合 true 
    116122     */ 
    117123    private boolean hasSameViewID(IPluginExtension viewExtension, 
     
    138144     *            プラグインマニフェストのモデル 
    139145     * @return view の拡張ポイント 
     146     * @throws CoreException  
    140147     * @throws CoreException plugin.xmlファイルを編集できない 
    141148     *  
     
    143150    private IPluginExtension findViewExtension(IPluginBase pluginBase) throws CoreException  { 
    144151        IPluginExtension[] extensions = pluginBase.getExtensions(); 
     152         
    145153        for (IPluginExtension extension : extensions) { 
    146154            if (extension.getPoint().equals(VIEW_EXTENSION_POINT)) { 
     
    148156            } 
    149157        } 
    150  
     158         
    151159        IPluginExtension viewExtension = pluginBase.getPluginModel() 
    152160                .getFactory().createExtension(); 
     161         
    153162        try { 
    154163            viewExtension.setPoint(VIEW_EXTENSION_POINT); 
     
    262271            editorPart = window.getActivePage().openEditor(fileEditor, 
    263272                    MANIFEST_EDITOR_ID); 
     273            ((ManifestEditor)editorPart).ensurePluginContextPresence(); 
    264274            return editorPart; 
    265275        } catch (PartInitException e) {