public void initRepository() { List<RepositoryInitializer> initializers = new ArrayList<RepositoryInitializer>(); initializers.addAll(config.getRegistry().lookupCollection(RepositoryInitializer.POINT)); initializers.addAll(config.getRegistry().lookupCollection(JcrNodeWrapperFactory.POINT)); try { JcrSession s = getCurrentSession(null); for (RepositoryInitializer initializer : initializers) { initializer.initializeRepository(this, s); } s.save(); s.logout(); } catch (RepositoryException e) { throw new RuntimeException("Couldn't initialize repository", e); } for (Workspace w : getWorkspaceManager().getWorkspaces()) { JcrSession s = getCurrentSession(w.getId()); initWorkspace(w, s); s.logout(); } }
public void restoreSnapshot(Workspace snapshotWorkspace, Workspace targetWorkspace) { JcrSession sourceSession = brix.getCurrentSession(snapshotWorkspace.getId()); JcrSession targetSession = brix.getCurrentSession(targetWorkspace.getId()); brix.clone(sourceSession, targetSession); brix.initWorkspace(targetWorkspace, brix.getCurrentSession(targetWorkspace.getId())); }
@Override public void onSubmit() { List<FileUpload> uploadList = upload.getModelObject(); if (uploadList != null) { for (FileUpload u : uploadList) { try { InputStream s = u.getInputStream(); String id = ManageSnapshotsPanel.this.getModelObject().getId(); Brix brix = getBrix(); JcrSession session = brix.getCurrentSession(id); if (session.itemExists(brix.getRootPath())) { session.getItem(brix.getRootPath()).remove(); session.save(); } session.importXML("/", s, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING); session.save(); brix.initWorkspace(ManageSnapshotsPanel.this.getModelObject(), session); getSession().info(ManageSnapshotsPanel.this.getString("restoreSuccessful")); } catch (IOException e) { throw new BrixException(e); } } } } });