Search in sources :

Example 16 with LabelBuilder

use of org.ovirt.engine.core.common.businessentities.LabelBuilder in project ovirt-engine by oVirt.

the class BackendAssignedAffinityLabelResource method remove.

@Override
public Response remove() {
    QueryIdResolver<Guid> labelResolver = new QueryIdResolver<>(QueryType.GetLabelById, IdQueryParameters.class);
    org.ovirt.engine.core.common.businessentities.Label entity = getEntity(labelResolver, true);
    BusinessEntity<Guid> parent = constructor.create();
    parent.setId(GuidUtils.asGuid(parentId));
    org.ovirt.engine.core.common.businessentities.Label updatedLabel = new LabelBuilder(entity).removeEntity(parent).build();
    return performAction(ActionType.UpdateLabel, new LabelActionParameters(updatedLabel));
}
Also used : LabelActionParameters(org.ovirt.engine.core.common.action.LabelActionParameters) LabelBuilder(org.ovirt.engine.core.common.businessentities.LabelBuilder) Guid(org.ovirt.engine.core.compat.Guid)

Example 17 with LabelBuilder

use of org.ovirt.engine.core.common.businessentities.LabelBuilder in project ovirt-engine by oVirt.

the class BackendAssignedAffinityLabelsResource method add.

@Override
public Response add(AffinityLabel label) {
    validateParameters(label, "id");
    IdQueryParameters parameters = new IdQueryParameters(GuidUtils.asGuid(label.getId()));
    org.ovirt.engine.core.common.businessentities.Label entity = getEntity(org.ovirt.engine.core.common.businessentities.Label.class, QueryType.GetLabelById, parameters, label.getId(), true);
    BusinessEntity<Guid> parent = constructor.create();
    parent.setId(GuidUtils.asGuid(parentId));
    org.ovirt.engine.core.common.businessentities.Label updatedLabel = new LabelBuilder(entity).entity(parent).build();
    // Add the affinity label using the backend "update" operation. As the backend will return the added label as
    // the result of the operation, we can fetch it using a simple "identity" resolver, that just returns the same
    // value it is passed.
    LabelActionParameters updateParams = new LabelActionParameters(updatedLabel);
    return performCreate(ActionType.UpdateLabel, updateParams, (IResolver<Label, Label>) result -> result);
}
Also used : AffinityLabels(org.ovirt.engine.api.model.AffinityLabels) QueryType(org.ovirt.engine.core.common.queries.QueryType) PathParam(javax.ws.rs.PathParam) Guid(org.ovirt.engine.core.compat.Guid) BusinessEntity(org.ovirt.engine.core.common.businessentities.BusinessEntity) LabelBuilder(org.ovirt.engine.core.common.businessentities.LabelBuilder) LabelActionParameters(org.ovirt.engine.core.common.action.LabelActionParameters) IdQueryParameters(org.ovirt.engine.core.common.queries.IdQueryParameters) GuidUtils(org.ovirt.engine.api.restapi.utils.GuidUtils) AssignedAffinityLabelsResource(org.ovirt.engine.api.resource.AssignedAffinityLabelsResource) ActionType(org.ovirt.engine.core.common.action.ActionType) List(java.util.List) AssignedAffinityLabelResource(org.ovirt.engine.api.resource.AssignedAffinityLabelResource) Response(javax.ws.rs.core.Response) Label(org.ovirt.engine.core.common.businessentities.Label) AffinityLabel(org.ovirt.engine.api.model.AffinityLabel) IdQueryParameters(org.ovirt.engine.core.common.queries.IdQueryParameters) LabelActionParameters(org.ovirt.engine.core.common.action.LabelActionParameters) Label(org.ovirt.engine.core.common.businessentities.Label) AffinityLabel(org.ovirt.engine.api.model.AffinityLabel) Label(org.ovirt.engine.core.common.businessentities.Label) LabelBuilder(org.ovirt.engine.core.common.businessentities.LabelBuilder) Guid(org.ovirt.engine.core.compat.Guid)

Example 18 with LabelBuilder

use of org.ovirt.engine.core.common.businessentities.LabelBuilder in project ovirt-engine by oVirt.

the class AddLabelCommand method executeCommand.

@Override
protected void executeCommand() {
    Label label = new LabelBuilder(getParameters().getLabel()).build();
    labelDao.save(label);
    vmStaticDao.incrementDbGenerationForVms(new ArrayList<Guid>(label.getVms()));
    setSucceeded(true);
    setActionReturnValue(label.getId());
}
Also used : Label(org.ovirt.engine.core.common.businessentities.Label) LabelBuilder(org.ovirt.engine.core.common.businessentities.LabelBuilder) Guid(org.ovirt.engine.core.compat.Guid)

Example 19 with LabelBuilder

use of org.ovirt.engine.core.common.businessentities.LabelBuilder in project ovirt-engine by oVirt.

the class LabelFilterPolicyUnitTest method testSimple.

@Test
public void testSimple() throws Exception {
    Label red = new LabelBuilder().entities(vm, host1).build();
    List<Label> labels = Collections.singletonList(red);
    doReturn(labels).when(labelDao).getAllByEntityIds(any());
    assertThat(unit.filter(cluster, hosts, vm, new HashMap<>(), new PerHostMessages())).contains(host1).doesNotContain(host2);
}
Also used : HashMap(java.util.HashMap) Label(org.ovirt.engine.core.common.businessentities.Label) LabelBuilder(org.ovirt.engine.core.common.businessentities.LabelBuilder) PerHostMessages(org.ovirt.engine.core.common.scheduling.PerHostMessages) Test(org.junit.Test)

Example 20 with LabelBuilder

use of org.ovirt.engine.core.common.businessentities.LabelBuilder in project ovirt-engine by oVirt.

the class LabelFilterPolicyUnitTest method testHostExtra.

@Test
public void testHostExtra() throws Exception {
    Label red = new LabelBuilder().entities(vm, host1).build();
    Label blue = new LabelBuilder().entities(host1, host2).build();
    List<Label> labels = Arrays.asList(red, blue);
    doReturn(labels).when(labelDao).getAllByEntityIds(any());
    assertThat(unit.filter(cluster, hosts, vm, new HashMap<>(), new PerHostMessages())).contains(host1).doesNotContain(host2);
}
Also used : HashMap(java.util.HashMap) Label(org.ovirt.engine.core.common.businessentities.Label) LabelBuilder(org.ovirt.engine.core.common.businessentities.LabelBuilder) PerHostMessages(org.ovirt.engine.core.common.scheduling.PerHostMessages) Test(org.junit.Test)

Aggregations

LabelBuilder (org.ovirt.engine.core.common.businessentities.LabelBuilder)20 Label (org.ovirt.engine.core.common.businessentities.Label)19 Test (org.junit.Test)11 Guid (org.ovirt.engine.core.compat.Guid)8 LabelActionParameters (org.ovirt.engine.core.common.action.LabelActionParameters)6 VmStatic (org.ovirt.engine.core.common.businessentities.VmStatic)4 PerHostMessages (org.ovirt.engine.core.common.scheduling.PerHostMessages)3 HashMap (java.util.HashMap)2 WebApplicationException (javax.ws.rs.WebApplicationException)2 VDS (org.ovirt.engine.core.common.businessentities.VDS)2 VM (org.ovirt.engine.core.common.businessentities.VM)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 PathParam (javax.ws.rs.PathParam)1 Response (javax.ws.rs.core.Response)1 AffinityLabel (org.ovirt.engine.api.model.AffinityLabel)1 AffinityLabels (org.ovirt.engine.api.model.AffinityLabels)1 Host (org.ovirt.engine.api.model.Host)1 Vm (org.ovirt.engine.api.model.Vm)1 AssignedAffinityLabelResource (org.ovirt.engine.api.resource.AssignedAffinityLabelResource)1