@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(); }
@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$ }
@Override public void initiateTypeConversion( CallingContext context, String raptureURIString, String newConfig, int versionsToKeep) { RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT); checkParameter(NAME, internalURI.getDocPath()); tExecutor.runRebuildFor( internalURI.getAuthority(), internalURI.getDocPath(), newConfig, versionsToKeep); }
@Override public void putArchiveConfig( CallingContext context, String raptureURIString, TypeArchiveConfig config) { RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT); checkParameter(NAME, internalURI.getDocPath()); config.setAuthority(internalURI.getAuthority()); config.setTypeName(internalURI.getDocPath()); TypeArchiveConfigStorage.add(config, context.getUser(), "Created type archive config"); }
/** 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); }