/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.apache.usergrid.rest.test.resource.endpoints.mgmt; import org.apache.usergrid.rest.test.resource.endpoints.NamedResource; import org.apache.usergrid.rest.test.resource.endpoints.UrlResource; import org.apache.usergrid.rest.test.resource.model.ApiResponse; import org.apache.usergrid.rest.test.resource.model.Organization; import org.apache.usergrid.rest.test.resource.state.ClientContext; import javax.ws.rs.core.MediaType; import java.util.Map; /** * This is for the Management endpoint. * Holds the information required for building and chaining organization objects to applications. * Should also contain the GET,PUT,POST,DELETE methods of functioning in here. */ public class OrganizationResource extends NamedResource { public OrganizationResource(final String name, final ClientContext context, final UrlResource parent) { super(name, context, parent); } public UsersResource users() { return new UsersResource(context, this); } public ApplicationsResource applications() { return new ApplicationsResource(context, this); } public Organization get() { ApiResponse rep = getTarget( true ).request() .accept(MediaType.APPLICATION_JSON) .get(ApiResponse.class); //TODO: not sure if this will work for multiple users. Organization org = new Organization(rep); org.setUserOwner(rep); return org; } // Doesn't return anything useful server side so this was made as a void. . public void put(Organization organization) { Map<String, Object> response = getTarget(true).request() .accept(MediaType.APPLICATION_JSON) .put( javax.ws.rs.client.Entity.json(organization), Organization.class); } public ApplicationResource app(){ return new ApplicationResource( context ,this ); } public CredentialsResource credentials() { return new CredentialsResource(context, this); } public ApplicationsResource apps() { return new ApplicationsResource( context, this ); } public ApplicationResource addToPath( String pathPart ) { return new ApplicationResource( pathPart, context, this ); } }