示例#1
0
 /**
  * {@code userName}의 {@code projectName}에 해당하는 프로젝트의 저장소에서 {@code branch}의 {@code path}에 해당하는 정보를
  * JSON으로 읽어온다.
  *
  * <p>when: {@link controllers.CodeApp#ajaxRequestWithBranch(String, String, String, String)}에서 특정
  * 프로젝트의 특정 브랜치에 있는 코드를 조회할 때 사용한다.
  *
  * <p>{@code userName}의 {@code projectName}에 해당하는 {@link Project}의 {@link PlayRepository}를 찾아서
  * {@link PlayRepository#findFileInfo(String, String)}를 호출한다.
  *
  * @param userName
  * @param projectName
  * @param path
  * @param branch
  * @return
  * @throws AmbiguousObjectException
  * @throws NoHeadException
  * @throws UnsupportedOperationException
  * @throws IOException
  * @throws SVNException
  * @throws GitAPIException
  * @throws ServletException
  * @see {@link PlayRepository#findFileInfo(String, String)}
  */
 public static ObjectNode getMetaDataFrom(
     String userName, String projectName, String path, String branch)
     throws AmbiguousObjectException, NoHeadException, UnsupportedOperationException, IOException,
         SVNException, GitAPIException, ServletException {
   // TODO Auto-generated method stub
   Project project = ProjectApp.getProject(userName, projectName);
   return RepositoryService.getRepository(project).findFileInfo(branch, path);
 }
示例#2
0
 /**
  * {@code project}와 관련있는 저장소를 생성한다.
  *
  * <p>when: {@link controllers.ProjectApp#newProject()}로 프로젝트를 생성할 때 사용한다.
  *
  * <p>{@code project}에 해당하는 저장소를 삭제하고 {@link PlayRepository}를 읽어온 뒤 {@link
  * PlayRepository#create()}를 호출한다.
  *
  * @param project
  * @throws IOException
  * @throws ServletException
  * @throws ClientException
  * @throws UnsupportedOperationException
  * @see {@link #deleteRepository(String, String, String)}
  * @see {@link PlayRepository#create()}
  */
 public static void createRepository(Project project)
     throws IOException, ServletException, ClientException, UnsupportedOperationException {
   RepositoryService.deleteRepository(project.owner, project.name, project.vcs);
   RepositoryService.getRepository(project).create();
 }
示例#3
0
 /**
  * 저장소를 삭제한다.
  *
  * <p>when: {@link ProjectApp#deleteProject(String, String)}에서 프로젝트를 삭제할 때 해당 프로젝트와 관련있는 저장소를 삭제할
  * 때 사용한다.
  *
  * <p>{@code userName}과 {@code projectName}에 해당하는 프로젝트의 {@link PlayRepository}를 읽어오고 {@link
  * playRepository.PlayRepository#delete()}를 호출한다.
  *
  * @param userName
  * @param projectName
  * @param type
  * @throws IOException
  * @throws ServletException
  * @see {@link ProjectApp#deleteProject(String, String)}
  * @see {@link playRepository.PlayRepository#delete()}
  */
 public static void deleteRepository(String userName, String projectName, String type)
     throws IOException, ServletException {
   Project project = ProjectApp.getProject(userName, projectName);
   RepositoryService.getRepository(project).delete();
 }
示例#4
0
 /**
  * {@code userName}의 {@code projectName}에 해당하는 프로젝트의 저장소에서 {@code branch}의 {@code path}에 해당하는 파일을
  * 읽어온다.
  *
  * <p>when: {@link controllers.CodeApp#showRawFile(String, String, String)}과 {@link
  * controllers.CodeApp#showImageFile(String, String, String)}에서 파일 내용을 화면에 보여줄 때 사용한다.
  *
  * <p>{@code userName}의 {@code projectName}에 해당하는 {@link Project}의 {@link PlayRepository}를 찾아서
  * {@link PlayRepository#getRawFile(String)}을 호출한다.
  *
  * @param userName
  * @param projectName
  * @param path
  * @return
  * @throws ServletException
  * @throws IOException
  * @throws UnsupportedOperationException
  * @throws AmbiguousObjectException
  * @throws IncorrectObjectTypeException
  * @throws MissingObjectException
  * @throws SVNException
  * @see {@link PlayRepository#getRawFile(String)}
  */
 public static byte[] getFileAsRaw(String userName, String projectName, String path)
     throws MissingObjectException, IncorrectObjectTypeException, AmbiguousObjectException,
         UnsupportedOperationException, IOException, ServletException, SVNException {
   Project project = ProjectApp.getProject(userName, projectName);
   return RepositoryService.getRepository(project).getRawFile(path);
 }
示例#5
0
 /**
  * {@code userName}의 {@code projectName}에 해당하는 프로젝트의 저장소에서 {@code path}에 해당하는 정보를 JSON으로 읽어온다.
  *
  * <p>when: {@link controllers.CodeApp#ajaxRequest(String, String, String)}에서 프로젝트의 코드를 조회할 때
  * 사용한다.
  *
  * <p>{@code userName}의 {@code projectName}에 해당하는 {@link Project}의 {@link PlayRepository}를 찾아서
  * {@link PlayRepository#findFileInfo(String)}를 호출한다.
  *
  * @param userName
  * @param projectName
  * @param path
  * @return
  * @throws NoHeadException
  * @throws UnsupportedOperationException
  * @throws IOException
  * @throws GitAPIException
  * @throws ServletException
  * @throws SVNException
  * @see {@link PlayRepository#findFileInfo(String)}
  */
 public static ObjectNode getMetaDataFrom(String userName, String projectName, String path)
     throws NoHeadException, UnsupportedOperationException, IOException, GitAPIException,
         ServletException, SVNException {
   Project project = ProjectApp.getProject(userName, projectName);
   return RepositoryService.getRepository(project).findFileInfo(path);
 }