로컬 개발 환경
로컬 개발 환경을 커스터마이징 할 수 있는 영역을 제공합니다.
1. 제공되는 커스터마이징 목록(5)
기능 | 설명 |
---|---|
bindBatchLaunchConfigProvider |
로컬 배치 디버그 설정 제공자를 바인딩 합니다. |
bindLocalDevBxmInstallFileProvider |
로컬 개발 환경 BXM 런타임 설치 파일 제공자를 바인딩 합니다. |
bindLocalDevGradleRunCommandHelper |
로컬 개발 Gradle 타스크 뷰의 BXM 그룹 내 타스크 실행 커멘드 헬퍼를 바인딩 합니다. |
bindLocalDevGradleScriptProvider |
로컬 개발 환경에서 사용하는 Gradle 스크립트 제공자를 바인딩 합니다. |
bindLocalDevGradleTaskInterceptorProvider |
로컬 개발 Gradle 타스크 뷰의 BXM 그룹 내 타스크 실행에 대한 인터셉터 제공자를 바인딩 합니다. |
2. 상세
메소드의 기능을 확인하고 필요한 부분을 커스터마이징 할 수 있습니다.
2.1. bindBatchLaunchConfigProvider
로컬 배치 디버그 설정 제공자를 바인딩 합니다.
1. 인터페이스 및 클래스
모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevBatchLaunchConfigProvider
2. 기본 구현 클래스
해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevBatchLaunchConfigProvider
3. 구현 예제
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevBatchLaunchConfigProvider
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevBatchLaunchConfigProvider가 없거나 작성된 예제가 없습니다.
2.2. bindLocalDevBxmInstallFileProvider
로컬 개발 환경 BXM 런타임 설치 파일 제공자를 바인딩 합니다.
1. 인터페이스 및 클래스
모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevBxmInstallFileProvider
2. 기본 구현 클래스
해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevBxmInstallFileProvider
3. 구현 예제
com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtLocalDevBxmInstallFileProvider
package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import com.bankwareglobal.ide.bxframework.se.extensions.Activator;
import com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevBxmInstallFileProvider;
/**
* 로컬 개발 환경 BXM 런타임 설치 파일 제공자
*/
public class ExtLocalDevBxmInstallFileProvider implements ILocalDevBxmInstallFileProvider {
/**
* BXM 설치 파일을 리턴합니다.
*/
@Override
public File getBxmInstallFile() throws Exception {
IPath p = new Path("resources");
p = p.append("install")
.append("bxm");
URL url = FileLocator.find(Activator.getDefault().getBundle(), p);
URL fileURL = FileLocator.toFileURL(url);
File f = new File(fileURL.toURI());
return f;
}
/**
* bxm-management-instance.xml이 있는 폴더를 리턴합니다.
*/
@Override
public File getBxmManagementInstanceXmlFolder(String installPath) throws IOException {
IPath p = new Path(installPath);
p = p.append("online")
.append("serviceEndpoint")
.append("WEB-INF")
.append("classes");
File f = new File(p.toOSString());
return f;
}
/**
* WAS 의 Service EndPoint Context에 대한 상대경로를 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getServiceEndpointContextRelativePath() {
return "serviceEndpoint";
}
/**
* 라이브러리 ROOT 경로를 상대경로로 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getLibraryRootRelativePath() {
return "lib";
}
/**
* BXM 라이브러리 상대경로를 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getBxmLibraryRelativePath() {
return "bxm";
}
/**
* BXM 관련 라이브러리 상대경로를 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getDepsLibraryRelativePath() {
return "deps";
}
/**
* JTA 라이브러리 상대경로를 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getJtaLibraryRelativePath() {
return "jta";
}
/**
* Third-Party 라이브러리 상대경로를 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getExtLibraryRelativePath() {
return "ext";
}
/**
* Javadoc 상대경로를 리턴합니다.
* 경로의 앞 뒤로 '/' 를 붙이지 않습니다.
*/
@Override
public String getJavadocRelativePath() {
return "deps";
}
/**
* bxm-batch.xml이 있는 폴더를 리턴합니다.
*/
@Override
public File getBxmBatchXmlFolder(String installPath) throws IOException {
IPath p = new Path(installPath);
p = p.append("batch")
.append("confg");
File f = new File(p.toOSString());
return f;
}
}
4. 재구현된 메소드 목록(10)
메소드 이름 | 설명 |
---|---|
getBxmInstallFile |
BXM 설치 파일을 리턴합니다. |
getBxmManagementInstanceXmlFolder |
bxm-management-instance.xml이 있는 폴더를 리턴합니다. |
getServiceEndpointContextRelativePath |
WAS 의 Service EndPoint Context에 대한 상대경로를 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getLibraryRootRelativePath |
라이브러리 ROOT 경로를 상대경로로 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getBxmLibraryRelativePath |
BXM 라이브러리 상대경로를 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getDepsLibraryRelativePath |
BXM 관련 라이브러리 상대경로를 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getJtaLibraryRelativePath |
JTA 라이브러리 상대경로를 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getExtLibraryRelativePath |
Third-Party 라이브러리 상대경로를 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getJavadocRelativePath |
Javadoc 상대경로를 리턴합니다. 경로의 앞 뒤로 '/' 를 붙이지 않습니다. |
getBxmBatchXmlFolder |
bxm-batch.xml이 있는 폴더를 리턴합니다. |
2.3. bindLocalDevGradleRunCommandHelper
로컬 개발 Gradle 타스크 뷰의 BXM 그룹 내 타스크 실행 커멘드 헬퍼를 바인딩 합니다.
1. 인터페이스 및 클래스
모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevGradleRunCommandHelper
2. 기본 구현 클래스
해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevGradleRunCommandHelper
3. 구현 예제
com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtLocalDevGradleRunCommandHelper
package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;
import java.util.HashSet;
import java.util.Set;
import com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevGradleRunCommandHelper;
import com.bankwareglobal.ide.bxframework.se.messages.Messages;
/**
* 로컬 개발 Gradle 타스크 뷰의 BXM 그룹 내 타스크 실행 커멘드 헬퍼
*/
public class ExtLocalDevGradleRunCommandHelper implements ILocalDevGradleRunCommandHelper {
/**
* task 의 command 목록
*/
@Override
public Set<String> getCommands(String taskName) {
Set<String> cmds = new HashSet<String>();
if("downloadBinary".equals(taskName)) {
cmds.add("--refresh-dependencies");
}
return cmds;
}
/**
* command 의 설명
*/
@Override
public String getDescription(String cmd) {
if("--refresh-dependencies".equals(cmd)) {
return Messages.LOCAL_DEV_GRADLE_EXEC_VIEW_CMD_NOCACHEDEPS;
}
return "";
}
}
4. 재구현된 메소드 목록(2)
메소드 이름 | 설명 |
---|---|
getCommands |
task 의 command 목록 |
getDescription |
command 의 설명 |
2.4. bindLocalDevGradleScriptProvider
로컬 개발 환경에서 사용하는 Gradle 스크립트 제공자를 바인딩 합니다.
1. 인터페이스 및 클래스
모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevGradleScriptProvider
2. 기본 구현 클래스
해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevGradleScriptProvider
3. 구현 예제
com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtLocalDevGradleScriptProvider
package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;
import java.util.Map;
import com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevGradleScriptProvider;
import com.bankwareglobal.ide.bxframework.se.localdev.generator.LocalDevGradleScriptGenerator;
import com.bankwareglobal.ide.bxframework.se.localdev.generator.LocalDevInstallGradleScriptGenerator;
import com.beust.jcommander.internal.Maps;
/**
* 로컬 개발 환경에서 사용하는 Gradle 스크립트 제공자
*/
public class ExtLocalDevGradleScriptProvider implements ILocalDevGradleScriptProvider {
/**
* BXM 및 서버 설치 경로에 필요한 라이브러리를 업데이트 하기 위한 gradle.properties 의 properties 를 추가합니다.
*/
@Override
public Map<String, String> createExternalGradleProperties() {
return Maps.newHashMap();
}
/**
* BXM 및 서버 설치 경로에 필요한 라이브러리를 업데이트하기 위한 build.gradle 스크립트 생성기를 리턴합니다.
*/
@Override
public LocalDevInstallGradleScriptGenerator getInstallGradleScriptGenerator() {
return new LocalDevInstallGradleScriptGenerator();
}
/**
* 업무 프로젝트의 build.gradle 스크립트 생성기를 리턴합니다.
*/
@Override
public LocalDevGradleScriptGenerator getGradleScriptGenerator() {
return new LocalDevGradleScriptGenerator();
}
}
4. 재구현된 메소드 목록(3)
메소드 이름 | 설명 |
---|---|
createExternalGradleProperties |
BXM 및 서버 설치 경로에 필요한 라이브러리를 업데이트 하기 위한 gradle.properties 의 properties 를 추가합니다. |
getInstallGradleScriptGenerator |
BXM 및 서버 설치 경로에 필요한 라이브러리를 업데이트하기 위한 build.gradle 스크립트 생성기를 리턴합니다. |
getGradleScriptGenerator |
업무 프로젝트의 build.gradle 스크립트 생성기를 리턴합니다. |
2.5. bindLocalDevGradleTaskInterceptorProvider
로컬 개발 Gradle 타스크 뷰의 BXM 그룹 내 타스크 실행에 대한 인터셉터 제공자를 바인딩 합니다.
1. 인터페이스 및 클래스
모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevGradleTaskInterceptorProvider
2. 기본 구현 클래스
해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.
com.bankwareglobal.ide.bxframework.se.localdev.extensions.impl.DefaultLocalDevGradleTaskInterceptorProvider
3. 구현 예제
com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtLocalDevGradleTaskInterceptorProvider
package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;
import java.util.List;
import com.bankwareglobal.ide.bxframework.se.localdev.IGradleTaskInterceptor;
import com.bankwareglobal.ide.bxframework.se.localdev.extensions.ILocalDevGradleTaskInterceptorProvider;
import com.beust.jcommander.internal.Lists;
/**
* 로컬 개발 Gradle 타스크 뷰의 BXM 그룹 내 타스크 실행에 대한 인터셉터 제공자
*/
public class ExtLocalDevGradleTaskInterceptorProvider implements ILocalDevGradleTaskInterceptorProvider {
/**
* 로컬 개발 스크립트 뷰에서 타스크를 실행 할 경우, 타스크 전, 후 처리를 담당하는 인터셉터 목록을 리턴합니다.
*/
@Override
public List<IGradleTaskInterceptor> getGradleTaskInterceptors() {
return Lists.newArrayList();
}
}
4. 재구현된 메소드 목록(1)
메소드 이름 | 설명 |
---|---|
getGradleTaskInterceptors |
로컬 개발 스크립트 뷰에서 타스크를 실행 할 경우, 타스크 전, 후 처리를 담당하는 인터셉터 목록을 리턴합니다. |