チェンジセット 28

差分発生行の前後
無視リスト:
コミット日時:
2008/11/04 14:46:31 (13 年前)
コミッタ:
enomoto
ログメッセージ:

リファクタリング.

TODO: Resin3.0.x対応

Resin3.1.x対応

Resin pro対応 (ear, ejb)

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • trunk/org.intra_mart.jst.server.generic.resin/META-INF/MANIFEST.MF

    r27 r28  
    44Bundle-Localization: plugin 
    55Bundle-SymbolicName: org.intra_mart.jst.server.generic.resin;singleton:=true 
    6 Bundle-Version: 1.0.2 
    7 Require-Bundle: org.eclipse.debug.core, 
     6Bundle-Version: 1.0.3 
     7Require-Bundle:  
     8 org.eclipse.debug.core, 
    89 org.eclipse.jst.server.core, 
     10 org.eclipse.jst.server.generic.core, 
     11 org.eclipse.jst.server.generic.ui, 
    912 org.eclipse.wst.server.core, 
    10  org.eclipse.jst.server.generic.core, 
    11  org.eclipse.wst.common.project.facet.ui;bundle-version="1.3.0", 
    12  org.eclipse.jst.server.generic.ui;bundle-version="1.0.305", 
    13  org.eclipse.jst.common.project.facet.core;bundle-version="1.3.1" 
    14 utionEnvironment: J2SE-1.5 
     13 org.eclipse.jst.common.project.facet.core, 
     14 org.eclipse.wst.common.project.facet.ui 
    1515Bundle-Vendor: %providerName 
    1616Bundle-RequiredExecutionEnvironment: J2SE-1.5 
     17Bundle-ClassPath: . 
  • trunk/org.intra_mart.jst.server.generic.resin/plugin.xml

    r27 r28  
    1010               version="3.2" 
    1111               class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"> 
    12               <moduleType 
     12              <moduleType 
    1313                 types="jst.web" 
    1414                 versions="2.2, 2.3, 2.4, 2.5"/> 
     
    3838                   description="%resin32ServerTypeDescription" 
    3939                   launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType" 
    40                    behaviourClass="org.intra_mart.jst.server.generic.resin.ResinServerBehaviour" 
     40                   behaviourClass="org.intra_mart.jst.server.generic.resin.Resin32ServerBehaviour" 
    4141                   name="%resin32ServerTypeName" 
    4242                   startTimeout="50000" 
  • trunk/org.intra_mart.jst.server.generic.resin/src/org/intra_mart/jst/server/generic/resin/ResinServerBehaviour.java

    r27 r28  
    1111 
    1212import org.eclipse.core.runtime.CoreException; 
    13 import org.eclipse.core.runtime.IPath; 
    1413import org.eclipse.core.runtime.IProgressMonitor; 
    1514import org.eclipse.core.runtime.NullProgressMonitor; 
     
    2625 */ 
    2726@SuppressWarnings("restriction") 
    28 public class ResinServerBehaviour extends GenericServerBehaviour { 
     27public abstract class ResinServerBehaviour extends GenericServerBehaviour { 
    2928 
    3029        /* 
     
    6766        @SuppressWarnings("unchecked") 
    6867        protected void setupLaunchClasspath(ILaunchConfigurationWorkingCopy workingCopy, IVMInstall vmInstall, List classPathList) { 
    69  
    7068                classPathList.add(JavaRuntime.newArchiveRuntimeClasspathEntry(new Path(vmInstall.getInstallLocation().getAbsolutePath() + File.separator + "lib" + File.separator + "tools.jar"))); 
    7169                super.setupLaunchClasspath(workingCopy, vmInstall, classPathList); 
     
    8684        @Override 
    8785        protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException { 
    88  
    8986                createConfigFile(); 
    90  
    9187                super.setupLaunch(launch, launchMode, monitor); 
    9288        } 
     
    9692         *  
    9793         * @return program arguments. 
    98          * @seeorg.eclipse.jst.server.generic.core.internal.GenericServerBehaviour#  
    99          *                                                                          getProgramArguments 
    100          *                                                                          ( 
    101          *                                                                          ) 
     94         * @see org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour# 
     95         *      getProgramArguments () 
    10296         */ 
    10397        @Override 
    10498        protected String getProgramArguments() { 
    105  
    106                 return super.getProgramArguments() + "-conf conf/" + getServerName().replaceAll(" ", "_") + ".xml"; 
     99                return super.getProgramArguments() + "-conf conf/" + getConfigFileName(); 
    107100        } 
    108101 
    109102        /** 
    110          * サーバ名を取得します. 
     103         * 設定ファイルテンプレートを取得します. 
    111104         *  
    112          * @return server name
     105         * @return config file template stream
    113106         */ 
    114         private String getServerName() { 
    115                 return getServer().getName(); 
    116         } 
     107        protected abstract InputStream getConfigFileTemplate(); 
    117108 
    118109        /** 
    119          * サーバロケーションを取得します. 
     110         * 設定ファイル名を取得します. 
    120111         *  
    121          * @return server location
     112         * @return config file name
    122113         */ 
    123         private IPath getServerLocation() { 
    124                 return getRuntimeDelegate().getRuntime().getLocation(); 
    125         } 
    126  
    127         /** 
    128          * 設定ファイルを取得します. 
    129          *  
    130          * @return config file. 
    131          */ 
    132         private File getConfigFile() { 
    133                 return new File(getServerLocation().toFile(), "/conf/" + getServerName().replaceAll(" ", "_") + ".xml"); 
     114        protected String getConfigFileName() { 
     115                return getServer().getName().replaceAll(" ", "_") + ".xml"; 
    134116        } 
    135117 
     
    138120         * 既に設定ファイルが存在する場合は作成しません。 
    139121         */ 
    140         private void createConfigFile() { 
     122        protected void createConfigFile() { 
    141123 
    142                 File file = getConfigFile(); 
     124                File file = new File(getRuntimeDelegate().getRuntime().getLocation().toFile(), "/conf/" + getConfigFileName()); 
    143125 
    144126                if (file.exists()) { 
     
    146128                } 
    147129 
     130                InputStream in = null; 
    148131                OutputStream out = null; 
    149                 InputStream in = null; 
    150132 
    151133                try { 
     134                        in = getConfigFileTemplate(); 
    152135                        out = new BufferedOutputStream(new FileOutputStream(file)); 
    153                         in = ResinServerBehaviour.class.getResourceAsStream("/servers/resin32.xml"); 
    154136 
    155137                        int size = 0; 
     
    181163                        } 
    182164                } 
    183  
    184165        } 
    185166}