로컬 개발 환경

로컬 개발 환경을 커스터마이징 할 수 있는 영역을 제공합니다.

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

로컬 개발 스크립트 뷰에서 타스크를 실행 할 경우, 타스크 전, 후 처리를 담당하는 인터셉터 목록을 리턴합니다.

Copyright© Bankwareglobal All Rights Reserved.