Ignore:
Timestamp:
03/03/10 13:08:06 (14 years ago)
Author:
patdui
Message:
  • addd Basic security in webapp
  • Added Delete functionality in registry
  • Made POST and DELETE use authorisation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/tools/RegistryToolHelper.java

    r131 r207  
    44import java.io.InputStream;
    55
     6import javax.ws.rs.core.HttpHeaders;
    67import javax.ws.rs.core.MediaType;
    78
     
    1314
    1415import com.sun.jersey.api.client.WebResource;
     16import com.sun.jersey.api.client.WebResource.Builder;
     17import com.sun.jersey.core.util.Base64;
    1518import com.sun.jersey.multipart.FormDataMultiPart;
    1619
     
    2225    private int failed = 0;
    2326
    24     public RegistryToolHelper(WebResource service) {
     27    private final String userName;
     28
     29    private final String password;
     30
     31    public RegistryToolHelper(WebResource service, String userName, String password) {
    2532        this.service = service;
     33        this.userName = userName;
     34        this.password = password;
    2635    }
    2736
     
    2938        FormDataMultiPart form = createForm(input, creatorName, description, name);
    3039        form.field(ComponentRegistryRestService.GROUP_FORM_FIELD, group);
    31         RegisterResponse response = service.path("/components").type(MediaType.MULTIPART_FORM_DATA).post(RegisterResponse.class, form);
     40        RegisterResponse response = getAuthenticatedResource("/components").type(MediaType.MULTIPART_FORM_DATA).post(RegisterResponse.class, form);
    3241        handleResult(response);
    3342    }
     
    3544    public void registerProfile(InputStream input, String creatorName, String description, String name) throws IOException {
    3645        FormDataMultiPart form = createForm(input, creatorName, description, name);
    37         RegisterResponse response = service.path("/profiles").type(MediaType.MULTIPART_FORM_DATA).post(RegisterResponse.class, form);
     46        RegisterResponse response = getAuthenticatedResource("/profiles").type(MediaType.MULTIPART_FORM_DATA).post(RegisterResponse.class, form);
    3847        handleResult(response);
    3948    }
     49   
     50    private Builder getAuthenticatedResource(String path) {
     51        return service.path(path).header(HttpHeaders.AUTHORIZATION, "Basic " + new String(Base64.encode(userName+":"+password)));
     52    }
     53
    4054
    4155    private FormDataMultiPart createForm(InputStream input, String creatorName, String description, String name) throws IOException {
     
    4458        form.field(ComponentRegistryRestService.NAME_FORM_FIELD, name);
    4559        form.field(ComponentRegistryRestService.DESCRIPTION_FORM_FIELD, description);
    46         form.field(ComponentRegistryRestService.CREATOR_NAME_FORM_FIELD, creatorName);
    4760        return form;
    4861    }
Note: See TracChangeset for help on using the changeset viewer.