blob: 00efd5516fa07167b0b2c46510952122551778b4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014, 2016 Orange.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.om2m.ipe.sdt.testsuite;
import java.util.List;
import org.eclipse.om2m.commons.constants.Constants;
import org.eclipse.om2m.commons.constants.DiscoveryResultType;
import org.eclipse.om2m.commons.constants.FilterUsage;
import org.eclipse.om2m.commons.constants.MimeMediaType;
import org.eclipse.om2m.commons.constants.Operation;
import org.eclipse.om2m.commons.constants.ResourceType;
import org.eclipse.om2m.commons.resource.AbstractFlexContainer;
import org.eclipse.om2m.commons.resource.FilterCriteria;
import org.eclipse.om2m.commons.resource.RequestPrimitive;
import org.eclipse.om2m.commons.resource.ResponsePrimitive;
import org.eclipse.om2m.commons.resource.Subscription;
import org.eclipse.om2m.core.service.CseService;
public class CSEUtil {
public static ResponsePrimitive retrieveEntity(CseService cseService, String flexContainerLocation) {
RequestPrimitive request = new RequestPrimitive();
request.setFrom(Constants.ADMIN_REQUESTING_ENTITY);
request.setRequestContentType(MimeMediaType.OBJ);
request.setReturnContentType(MimeMediaType.OBJ);
request.setOperation(Operation.RETRIEVE);
request.setTo(flexContainerLocation);
return cseService.doRequest(request);
}
public static ResponsePrimitive updateFlexContainerEntity(CseService cseService, String flexContainerLocation, AbstractFlexContainer flexContainer) {
RequestPrimitive request = new RequestPrimitive();
request.setFrom(Constants.ADMIN_REQUESTING_ENTITY);
request.setRequestContentType(MimeMediaType.OBJ);
request.setReturnContentType(MimeMediaType.OBJ);
request.setOperation(Operation.UPDATE);
request.setContent(flexContainer);
request.setTo(flexContainerLocation);
return cseService.doRequest(request);
}
public static ResponsePrimitive discovery(final CseService cseService, final List<String> labels, final String to) {
RequestPrimitive request = new RequestPrimitive();
request.setFrom(Constants.ADMIN_REQUESTING_ENTITY);
request.setRequestContentType(MimeMediaType.OBJ);
request.setReturnContentType(MimeMediaType.OBJ);
request.setOperation(Operation.RETRIEVE);
request.setDiscoveryResultType(DiscoveryResultType.HIERARCHICAL);
FilterCriteria filterCriteria = new FilterCriteria();
filterCriteria.getLabels().addAll(labels);
filterCriteria.setFilterUsage(FilterUsage.DISCOVERY_CRITERIA);
request.setFilterCriteria(filterCriteria);
request.setTo(to);
return cseService.doRequest(request);
}
public static ResponsePrimitive createSubscription(final CseService cseService, final Subscription subscription, final String subscriptionLocation) {
RequestPrimitive request = new RequestPrimitive();
request.setFrom(Constants.ADMIN_REQUESTING_ENTITY);
request.setRequestContentType(MimeMediaType.OBJ);
request.setReturnContentType(MimeMediaType.OBJ);
request.setOperation(Operation.CREATE);
request.setContent(subscription);
request.setTo(subscriptionLocation);
request.setResourceType(ResourceType.SUBSCRIPTION);
return cseService.doRequest(request);
}
public static ResponsePrimitive deleteResource(final CseService cseService, final String resourceUrl) {
RequestPrimitive request = new RequestPrimitive();
request.setFrom(Constants.ADMIN_REQUESTING_ENTITY);
request.setRequestContentType(MimeMediaType.OBJ);
request.setReturnContentType(MimeMediaType.OBJ);
request.setOperation(Operation.DELETE);
request.setTo(resourceUrl);
return cseService.doRequest(request);
}
}