/** * {@inheritDoc} * * @see java.lang.Object#toString() */ @Override public String toString() { return "create workspace '" + desiredNameOfNewWorkspace() + "'"; }
/** * {@inheritDoc} * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals( Object obj ) { if (obj == this) return true; if (this.getClass().isInstance(obj)) { CreateWorkspaceRequest that = (CreateWorkspaceRequest)obj; if (!this.desiredNameOfNewWorkspace.equals(that.desiredNameOfNewWorkspace())) return false; return true; } return false; }
protected void assertNextRequestIsCreateWorkspace( String workspaceName, CreateConflictBehavior createConflictBehavior ) { Request request = executedRequests.poll(); assertThat(request, is(instanceOf(CreateWorkspaceRequest.class))); CreateWorkspaceRequest create = (CreateWorkspaceRequest)request; assertThat(create.desiredNameOfNewWorkspace(), is(workspaceName)); assertThat(create.conflictBehavior(), is(createConflictBehavior)); }
@Test public void shouldCreateValidRequestWithValidLocation() { request = new CreateWorkspaceRequest(workspace1, CreateConflictBehavior.CREATE_WITH_ADJUSTED_NAME); assertThat(request.desiredNameOfNewWorkspace(), is(workspace1)); assertThat(request.conflictBehavior(), is(CreateConflictBehavior.CREATE_WITH_ADJUSTED_NAME)); assertThat(request.hasError(), is(false)); assertThat(request.getError(), is(nullValue())); }
/** * {@inheritDoc} * * @see org.modeshape.graph.request.processor.RequestProcessor#process(org.modeshape.graph.request.CreateWorkspaceRequest) */ @Override public void process( CreateWorkspaceRequest request ) { if (!creatingWorkspacesAllowed(request)) return; String clonedWorkspaceName = null; WorkspaceType workspace = repository.createWorkspace(txn, request.desiredNameOfNewWorkspace(), request.conflictBehavior(), clonedWorkspaceName); if (workspace == null) { String msg = GraphI18n.workspaceAlreadyExistsInRepository.text(request.desiredNameOfNewWorkspace(), repository.getSourceName()); request.setError(new InvalidWorkspaceException(msg)); } else { Node root = txn.getRootNode(workspace); request.setActualRootLocation(Location.create(pathFactory.createRootPath(), root.getUuid())); request.setActualWorkspaceName(workspace.getName()); recordChange(request); } }
/** * {@inheritDoc} * * @see org.modeshape.graph.request.processor.RequestProcessor#process(org.modeshape.graph.request.CreateWorkspaceRequest) */ @Override public void process( CreateWorkspaceRequest request ) { if (!updatesAllowed(request)) return; MapWorkspace workspace = repository.createWorkspace(getExecutionContext(), request.desiredNameOfNewWorkspace(), request.conflictBehavior()); if (workspace == null) { String msg = GraphI18n.workspaceAlreadyExistsInRepository.text(request.desiredNameOfNewWorkspace(), repository.getSourceName()); request.setError(new InvalidWorkspaceException(msg)); } else { MapNode root = workspace.getRoot(); request.setActualRootLocation(Location.create(pathFactory.createRootPath(), root.getUuid())); request.setActualWorkspaceName(workspace.getName()); recordChange(request); } }
@Override public void process( CreateWorkspaceRequest request ) { // There's a separate flag to allow creating workspaces (which may not require modifying existing data) // if (!updatesAllowed(request)) return; if (!repository.isWritable()) { String msg = GraphI18n.sourceIsReadOnly.text(repository.getSourceName()); request.setError(new InvalidRequestException(msg)); return; } WritablePathRepository writableRepo = (WritablePathRepository)repository; PathWorkspace workspace = writableRepo.createWorkspace(getExecutionContext(), request.desiredNameOfNewWorkspace(), request.conflictBehavior()); if (workspace == null) { String msg = GraphI18n.workspaceAlreadyExistsInRepository.text(request.desiredNameOfNewWorkspace(), repository.getSourceName()); request.setError(new InvalidWorkspaceException(msg)); } else { request.setActualRootLocation(Location.create(pathFactory.createRootPath(), repository.getRootNodeUuid())); request.setActualWorkspaceName(workspace.getName()); recordChange(request); } }
@Override public void process( CreateWorkspaceRequest request ) { // Just update the actual location String workspaceName = request.desiredNameOfNewWorkspace(); if (workspaceName == null) workspaceName = "default"; request.setActualWorkspaceName(workspaceName); request.setActualRootLocation(Location.create(context.getValueFactories().getPathFactory().createRootPath())); }