Exemplo n.º 1
0
  @Override
  public void pullRemote(CallingContext context, String raptureURIString) {
    RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT);
    if (internalURI.hasDocPath()) {
      throw RaptureExceptionFactory.create(
          HttpURLConnection.HTTP_BAD_REQUEST,
          apiMessageCatalog.getMessage("NoDocPath", internalURI.toShortString())); // $NON-NLS-1$
    }
    checkParameter(NAME, internalURI.getDocPath());

    log.info(
        Messages.getString("Admin.PullPerspective")
            + Messages.getString("Admin.OnType")
            + internalURI.getDocPath() // $NON-NLS-1$ //$NON-NLS-2$
            + Messages.getString("Admin.InAuthority")
            + internalURI.getAuthority()); // $NON-NLS-1$
    // NOW this is the fun one
    // Here are the steps
    // (1) Look at the local, does it have a remote defined? If
    // so, what is the latest commit known about
    // for that remote?
    // (2) Make a remote call to retrieve the commits up to that commit from
    // the RemoteLink
    // (3) For each commit, look at all of the references, retrieve them
    // from the remote and persist them
    // into the repo.
    // (4) Update the local perspective to point at the latest commit, and
    // update the Remote commit to point at that.

    getKernel().getRepo(internalURI.getFullPath()); // $NON-NLS-1$
  }
Exemplo n.º 2
0
 @Override
 public void clearRemote(CallingContext context, String raptureURIString) {
   RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT);
   if (internalURI.hasDocPath()) {
     throw RaptureExceptionFactory.create(
         HttpURLConnection.HTTP_BAD_REQUEST,
         apiMessageCatalog.getMessage("NoDocPath", internalURI.toShortString())); // $NON-NLS-1$
   }
   checkParameter(AUTHORITYNAME, internalURI.getAuthority());
   Repository repository = getKernel().getRepo(internalURI.getAuthority()); // $NON-NLS-1$
   repository.clearRemote();
 }
Exemplo n.º 3
0
  /** This method is used to setup a link between a local repo and a remote one. The remoteName */
  @Override
  public void setRemote(
      CallingContext context, String raptureURIString, String remote, String remoteURIString) {
    RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT);
    if (internalURI.hasDocPath()) {
      throw RaptureExceptionFactory.create(
          HttpURLConnection.HTTP_BAD_REQUEST,
          apiMessageCatalog.getMessage("NoDocPath", internalURI.toShortString())); // $NON-NLS-1$
    }
    checkParameter(NAME, internalURI.getAuthority());
    checkParameter("Remote", remote); // $NON-NLS-1$
    RaptureURI remoteURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT);
    if (remoteURI.hasDocPath()) {
      throw RaptureExceptionFactory.create(
          HttpURLConnection.HTTP_BAD_REQUEST,
          apiMessageCatalog.getMessage("NoDocPath", remoteURI.toShortString())); // $NON-NLS-1$
    }
    checkParameter(NAME, remoteURI.getAuthority());

    // This is set in the repo
    Repository repository = getKernel().getRepo(internalURI.getAuthority()); // $NON-NLS-1$
    repository.setRemote(remote, remoteURI.getAuthority());
    Kernel.typeChanged(internalURI);
  }