Skip to content
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.

Commit

Permalink
BZ-1169622: fixed organizational update REST operation
Browse files Browse the repository at this point in the history
  • Loading branch information
Marco Rietveld committed Jan 23, 2015
1 parent 11748f6 commit 3b27d3e
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 35 deletions.
Expand Up @@ -518,6 +518,7 @@ public JobResult updateOrganizationalUnit( final String jobId,
JobResult result = new JobResult();
result.setJobId( jobId );

organizationalUnitService.getOrganizationalUnit(organizationalUnitName);
if ( organizationalUnitName == null || organizationalUnitOwner == null ) {
result.setStatus( JobStatus.BAD_REQUEST );
result.setResult( "OrganizationalUnit name and owner must be provided" );
Expand Down
Expand Up @@ -63,6 +63,7 @@
import org.guvnor.rest.client.RepositoryRequest;
import org.guvnor.rest.client.RepositoryResponse;
import org.guvnor.rest.client.TestProjectRequest;
import org.guvnor.rest.client.UpdateOrganizationalUnit;
import org.guvnor.rest.client.UpdateOrganizationalUnitRequest;
import org.guvnor.structure.organizationalunit.OrganizationalUnitService;
import org.guvnor.structure.repositories.Repository;
Expand Down Expand Up @@ -190,7 +191,7 @@ public RepositoryResponse getRepository( @PathParam("repositoryName") String rep
public Response createOrCloneRepository( RepositoryRequest repository ) {
logger.debug( "-----createOrCloneRepository--- , repository name: {}", repository.getName() );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
CreateOrCloneRepositoryRequest jobRequest = new CreateOrCloneRepositoryRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -214,8 +215,7 @@ public Response createOrCloneRepository( RepositoryRequest repository ) {
public Response removeRepository( @PathParam("repositoryName") String repositoryName ) {
logger.debug( "-----removeRepository--- , repositoryName: {}", repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();

String id = newId();
RemoveRepositoryRequest jobRequest = new RemoveRepositoryRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -238,7 +238,7 @@ public Response createProject(
logger.debug( "-----createProject--- , repositoryName: {} , project name: {}", repositoryName, project.getName() );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
CreateProjectRequest jobRequest = new CreateProjectRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand Down Expand Up @@ -292,7 +292,7 @@ public Response deleteProject(
logger.debug( "-----deleteProject--- , repositoryName: {}, project name: {}", repositoryName, projectName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
DeleteProjectRequest jobRequest = new DeleteProjectRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -315,7 +315,7 @@ public Response compileProject(
logger.debug( "-----compileProject--- , repositoryName: {}, project name: {}", repositoryName, projectName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
CompileProjectRequest jobRequest = new CompileProjectRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -338,7 +338,7 @@ public Response installProject(
logger.debug( "-----installProject--- , repositoryName: {}, project name: {}", repositoryName, projectName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
InstallProjectRequest jobRequest = new InstallProjectRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -363,7 +363,7 @@ public Response testProject(
logger.debug( "-----testProject--- , repositoryName: {}, project name: {}", repositoryName, projectName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
TestProjectRequest jobRequest = new TestProjectRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -387,7 +387,7 @@ public Response deployProject(
logger.debug( "-----deployProject--- , repositoryName: {}, project name: {}", repositoryName, projectName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
DeployProjectRequest jobRequest = new DeployProjectRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand Down Expand Up @@ -455,7 +455,7 @@ public Response createOrganizationalUnit( OrganizationalUnit organizationalUnit
logger.debug( "-----createOrganizationalUnit--- , OrganizationalUnit name: {}, OrganizationalUnit owner: {}, Default group id : {}",
organizationalUnit.getName(), organizationalUnit.getOwner(), organizationalUnit.getDefaultGroupId() );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
CreateOrganizationalUnitRequest jobRequest = new CreateOrganizationalUnitRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -475,13 +475,25 @@ public Response createOrganizationalUnit( OrganizationalUnit organizationalUnit
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/organizationalunits/{organizationalUnitName}/")
public Response updateOrganizationalUnit(@PathParam("organizationalUnitName") String organizationalUnitName, OrganizationalUnit organizationalUnit ) {
public Response updateOrganizationalUnit(@PathParam("organizationalUnitName") String orgUnitName, UpdateOrganizationalUnit organizationalUnit ) {

// use name in url if post entity name is null
if( organizationalUnit.getName() == null ) {
organizationalUnit.setName(orgUnitName);
}

logger.debug( "-----updateOrganizationalUnit--- , OrganizationalUnit name: {}, OrganizationalUnit owner: {}, Default group id : {}",
organizationalUnit.getName(), organizationalUnit.getOwner(), organizationalUnit.getDefaultGroupId() );

checkOrganizationalUnitExistence(organizationalUnitName);
org.guvnor.structure.organizationalunit.OrganizationalUnit origOrgUnit
= checkOrganizationalUnitExistence(orgUnitName);

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
// use owner in existing OU if post owner is null
if( organizationalUnit.getOwner() == null ) {
organizationalUnit.setOwner(origOrgUnit.getOwner());
}

String id = newId();
UpdateOrganizationalUnitRequest jobRequest = new UpdateOrganizationalUnitRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -505,7 +517,7 @@ public Response addRepositoryToOrganizationalUnit( @PathParam("organizationalUni
checkOrganizationalUnitExistence( organizationalUnitName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
AddRepositoryToOrganizationalUnitRequest jobRequest = new AddRepositoryToOrganizationalUnitRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -528,7 +540,7 @@ public Response removeRepositoryFromOrganizationalUnit( @PathParam("organization
checkOrganizationalUnitExistence( organizationalUnitName );
checkRepositoryExistence( repositoryName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
RemoveRepositoryFromOrganizationalUnitRequest jobRequest = new RemoveRepositoryFromOrganizationalUnitRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand All @@ -549,7 +561,7 @@ public Response deleteOrganizationalUnit( @PathParam("organizationalUnitName") S
logger.debug( "-----deleteOrganizationalUnit--- , OrganizationalUnit name: {}", organizationalUnitName );
checkOrganizationalUnitExistence( organizationalUnitName );

String id = "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
String id = newId();
RemoveOrganizationalUnitRequest jobRequest = new RemoveOrganizationalUnitRequest();
jobRequest.setStatus( JobStatus.ACCEPTED );
jobRequest.setJobId( id );
Expand Down Expand Up @@ -586,4 +598,7 @@ private Response createAcceptedStatusResponse( JobRequest jobRequest ) {
return Response.status( Status.ACCEPTED ).entity( jobRequest ).variant( defaultVariant ).build();
}

private String newId() {
return "" + System.currentTimeMillis() + "-" + counter.incrementAndGet();
}
}
Expand Up @@ -21,28 +21,10 @@
import org.jboss.errai.common.client.api.annotations.Portable;

@Portable
public class OrganizationalUnit extends Entity {
public class OrganizationalUnit extends UpdateOrganizationalUnit {

private String owner;
private String defaultGroupId;
private List<String> repositories;

public String getOwner() {
return owner;
}

public void setOwner(String owner) {
this.owner = owner;
}

public String getDefaultGroupId() {
return defaultGroupId;
}

public void setDefaultGroupId( String defaultGroupId ) {
this.defaultGroupId = defaultGroupId;
}

public List<String> getRepositories() {
return repositories;
}
Expand Down
@@ -0,0 +1,45 @@
/*
* Copyright 2011 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.guvnor.rest.client;

import java.util.List;

import org.jboss.errai.common.client.api.annotations.Portable;

@Portable
public class UpdateOrganizationalUnit extends Entity {

private String owner;
private String defaultGroupId;

public String getOwner() {
return owner;
}

public void setOwner(String owner) {
this.owner = owner;
}

public String getDefaultGroupId() {
return defaultGroupId;
}

public void setDefaultGroupId( String defaultGroupId ) {
this.defaultGroupId = defaultGroupId;
}

}

0 comments on commit 3b27d3e

Please sign in to comment.