@Override public V3GlusterVolume adapt(GlusterVolume from) { V3GlusterVolume to = new V3GlusterVolume(); if (from.isSetLinks()) { to.getLinks().addAll(adaptOut(from.getLinks())); if (from.isSetActions()) { to.setActions(adaptOut(from.getActions())); if (from.isSetBricks()) { to.setBricks(new V3GlusterBricks()); to.getBricks().getGlusterBricks().addAll(adaptOut(from.getBricks().getGlusterBricks())); if (from.isSetCluster()) { to.setCluster(adaptOut(from.getCluster())); if (from.isSetComment()) { to.setComment(from.getComment()); if (from.isSetDescription()) { to.setDescription(from.getDescription()); if (from.isSetDisperseCount()) { to.setDisperseCount(from.getDisperseCount()); if (from.isSetId()) { to.setId(from.getId()); if (from.isSetHref()) { to.setHref(from.getHref());
private GlusterVolume createModel() { GlusterVolume volume = new GlusterVolume(); volume.setName("testVol1"); volume.setCluster(new Cluster()); volume.getCluster().setId(clusterId.toString()); volume.setVolumeType(org.ovirt.engine.api.model.GlusterVolumeType.DISTRIBUTE); volume.setBricks(new GlusterBricks()); volume.getBricks().getGlusterBricks().add(createBrick("/export/vol1/brick1")); return volume; }
public static void validateAdd(GlusterVolume volume) { if (volume == null) { throw new ValidationException("Parameter 'volume' is mandatory but was not provided."); } if (volume.getName()==null) { throw new ValidationException("Parameter 'volume.name' is mandatory but was not provided."); } if (volume.getVolumeType()==null) { throw new ValidationException("Parameter 'volume.volume_type' is mandatory but was not provided."); } if (volume.getBricks()==null || volume.getBricks().getGlusterBricks()==null || volume.getBricks().getGlusterBricks().size() == 0 || volume.getBricks().getGlusterBricks().get(0).getServerId()==null) { throw new ValidationException("Parameter 'volume.bricks.server_id' is mandatory but was not provided."); } if (volume.getBricks()==null || volume.getBricks().getGlusterBricks()==null || volume.getBricks().getGlusterBricks().size() == 0 || volume.getBricks().getGlusterBricks().get(0).getBrickDir()==null) { throw new ValidationException("Parameter 'volume.bricks.brick_dir' is mandatory but was not provided."); } }
private GlusterBrick clone(GlusterBrick brick) { //Needed to avoid NPE in LinkHelper due to unsetting of grandparent in LinkHelper#addLinks. GlusterBrick cloned = new GlusterBrick(); cloned.setId(brick.getId()); cloned.setGlusterVolume(new GlusterVolume()); cloned.getGlusterVolume().setId(brick.getGlusterVolume().getId()); cloned.getGlusterVolume().setCluster(new Cluster()); cloned.getGlusterVolume().getCluster().setId(brick.getGlusterVolume().getCluster().getId()); return cloned; }
@Override protected GlusterVolume postPopulate(GlusterVolume model) { // The model is pre-populated with randomly generated values. // This won't work for enum fields like volume type since it // must be a valid value from corresponding enum model.setVolumeType(GlusterVolumeType.DISTRIBUTE); List<TransportType> transportTypes = model.getTransportTypes().getTransportTypes(); transportTypes.clear(); transportTypes.add(TransportType.TCP); return model; }
if(fromVolume.isSetId()) { volume.setId(Guid.createGuidFromStringDefaultEmpty(fromVolume.getId())); if(fromVolume.isSetName()) { volume.setName(fromVolume.getName()); if(fromVolume.isSetVolumeType()) { volume.setVolumeType(map(fromVolume.getVolumeType(), null)); if(fromVolume.isSetTransportTypes()) { for (TransportType transportType : fromVolume.getTransportTypes().getTransportTypes()) { if (transportType != null) { volume.addTransportType(map(transportType, null)); if(fromVolume.isSetReplicaCount()) { volume.setReplicaCount(fromVolume.getReplicaCount()); if(fromVolume.isSetStripeCount()) { volume.setStripeCount(fromVolume.getStripeCount()); if(fromVolume.isSetDisperseCount()) { volume.setDisperseCount(fromVolume.getDisperseCount()); if(fromVolume.isSetRedundancyCount()) { volume.setRedundancyCount(fromVolume.getRedundancyCount()); if (fromVolume.isSetOptions()) { Options options = fromVolume.getOptions(); if (options.isSetOptions()) {
@Override public GlusterVolume adapt(V3GlusterVolume from) { GlusterVolume to = new GlusterVolume(); if (from.isSetLinks()) { to.getLinks().addAll(adaptIn(from.getLinks())); to.setActions(adaptIn(from.getActions())); to.setBricks(new GlusterBricks()); to.getBricks().getGlusterBricks().addAll(adaptIn(from.getBricks().getGlusterBricks())); to.setCluster(adaptIn(from.getCluster())); to.setComment(from.getComment()); to.setDescription(from.getDescription()); to.setDisperseCount(from.getDisperseCount()); to.setId(from.getId()); to.setHref(from.getHref()); to.setName(from.getName()); to.setOptions(new Options()); to.getOptions().getOptions().addAll(adaptIn(from.getOptions().getOptions())); to.setRedundancyCount(from.getRedundancyCount());
@Mapping(from = GlusterVolumeEntity.class, to = GlusterVolume.class) public static GlusterVolume map(GlusterVolumeEntity fromVolume, GlusterVolume toVolume) { GlusterVolume volume = toVolume != null ? toVolume : new GlusterVolume(); volume.setId(fromVolume.getId().toString()); volume.setName(fromVolume.getName()); volume.setVolumeType(map(fromVolume.getVolumeType(), null)); transportTypeList.add(map(transportType, null)); volume.setTransportTypes(new GlusterVolume.TransportTypesList()); volume.getTransportTypes() .getTransportTypes() .addAll(transportTypeList); volume.setReplicaCount(fromVolume.getReplicaCount()); volume.setStripeCount(fromVolume.getStripeCount()); volume.setDisperseCount(fromVolume.getDisperseCount()); volume.setRedundancyCount(fromVolume.getRedundancyCount()); volume.setStatus(mapVolumeStatus(fromVolume.getStatus())); options.add(mapOption(option)); volume.setOptions(glusterOptions);
@Override protected void verify(GlusterVolume model, GlusterVolume transform) { assertNotNull(transform); assertNotNull(transform.getId()); assertEquals(model.getId(), transform.getId()); assertNotNull(transform.getName()); assertEquals(model.getName(), transform.getName()); assertNotNull(transform.getVolumeType()); assertEquals(model.getVolumeType(), transform.getVolumeType()); assertNotNull(transform.getTransportTypes()); assertArrayEquals(model.getTransportTypes().getTransportTypes().toArray(), transform.getTransportTypes().getTransportTypes().toArray()); assertNotNull(transform.getReplicaCount()); assertEquals(model.getReplicaCount(), transform.getReplicaCount()); assertNotNull(transform.getStripeCount()); assertEquals(model.getStripeCount(), transform.getStripeCount()); assertNotNull(transform.getDisperseCount()); assertEquals(model.getDisperseCount(), transform.getDisperseCount()); assertNotNull(transform.getRedundancyCount()); assertEquals(model.getRedundancyCount(), transform.getRedundancyCount()); verifyOptions(model, transform); }
/** * Overridden as {@link GlusterVolumeEntity} does not have description field */ @Override protected void verifyModel(GlusterVolume model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(NAMES[index], model.getName()); assertEquals(org.ovirt.engine.api.model.GlusterVolumeType.DISTRIBUTE, model.getVolumeType()); assertEquals(clusterId.toString(), model.getCluster().getId()); verifyLinks(model); }
@Test public void testMigrate() { GlusterBrick brick = new GlusterBrick(); GlusterVolume volume = new GlusterVolume(); brick.setName(serverName + ":" + brickDir); volume.setId(volumeId.toString()); brick.setGlusterVolume(volume); GlusterBricks bricks = mock(GlusterBricks.class); when(bricks.getGlusterBricks()).thenReturn(Collections.singletonList(brick)); setUriInfo(setUpActionExpectations(ActionType.StartRemoveGlusterVolumeBricks, GlusterVolumeRemoveBricksParameters.class, new String[] {}, new Object[] {}, true, true)); Action action = new Action(); action.setBricks(bricks); collection.migrate(action); }
private void setupParentExpectations() { volumeResourceMock = mock(BackendGlusterVolumeResource.class); when(bricksResourceMock.getParent()).thenReturn(volumeResourceMock); when(volumeResourceMock.getId()).thenReturn(volumeId.toString()); doAnswer(invocation -> { GlusterBrick glusterBrick = (GlusterBrick) invocation.getArguments()[0]; Cluster cluster = new Cluster(); cluster.setId(clusterId.toString()); GlusterVolume volume = new GlusterVolume(); volume.setId(volumeId.toString()); volume.setCluster(cluster); glusterBrick.setGlusterVolume(volume); return glusterBrick; }).when(bricksResourceMock).addParents(isA(GlusterBrick.class)); } }
/** * Create an instance of {@link GlusterVolume } * */ public GlusterVolume createGlusterVolume() { return new GlusterVolume(); }
private String getVolumeId() { return parent.get().getId(); }
private void verifyOptions(GlusterVolume model, GlusterVolume transform) { for (Option modelOption : model.getOptions().getOptions()) { assertTrue(containsOption(transform, modelOption)); } } }
private void mapBricks(GlusterVolume volume, GlusterVolumeEntity volumeEntity) { List<GlusterBrickEntity> bricks = new ArrayList<>(); for(GlusterBrick brick : volume.getBricks().getGlusterBricks()) { bricks.add(getMapper(GlusterBrick.class, GlusterBrickEntity.class).map(brick, null)); } volumeEntity.setBricks(bricks); }
/** * Overridden as {@link GlusterVolumeEntity} does not have description field */ @Override protected void verifyModel(GlusterVolume model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(NAMES[index], model.getName()); assertEquals(org.ovirt.engine.api.model.GlusterVolumeType.DISTRIBUTE, model.getVolumeType()); assertEquals(clusterId.toString(), model.getCluster().getId()); verifyLinks(model); }
@Test public void testActivate() { GlusterBrick brick = new GlusterBrick(); GlusterVolume volume = new GlusterVolume(); brick.setName(serverName + ":" + brickDir); volume.setId(volumeId.toString()); brick.setGlusterVolume(volume); GlusterBricks bricks = mock(GlusterBricks.class); when(bricks.getGlusterBricks()).thenReturn(Collections.singletonList(brick)); setUriInfo(setUpActionExpectations(ActionType.StopRemoveGlusterVolumeBricks, GlusterVolumeRemoveBricksParameters.class, new String[] {}, new Object[] {}, true, true)); Action action = new Action(); action.setBricks(bricks); collection.stopMigrate(action); }
/** * The method {@link BackendGlusterBricksResource#list()} internally invokes * {@link BackendGlusterVolumeResource#get()} to fetch the volume object, and then invokes the query to fetch the * bricks of that volume. This method mocks the volume resource to return pre-defined volume id */ private void setUpParentMocks() { GlusterVolume volume = new GlusterVolume(); volume.setId(volumeId.toString()); Cluster cluster = new Cluster(); cluster.setId(clusterId.toString()); volume.setCluster(cluster); ClusterResource clusterResourceMock = mock(ClusterResource.class); when(clusterResourceMock.get()).thenReturn(cluster); BackendGlusterVolumesResource volumesResourceMock = mock(BackendGlusterVolumesResource.class); when(volumesResourceMock.getParent()).thenReturn(clusterResourceMock); parentMock = mock(BackendGlusterVolumeResource.class); when(parentMock.getParent()).thenReturn(volumesResourceMock); when(parentMock.get()).thenReturn(volume); collection.setParent(parentMock); doAnswer(invocation -> { GlusterVolume model = (GlusterVolume) invocation.getArguments()[0]; Cluster clusterModel = new Cluster(); clusterModel.setId(clusterId.toString()); model.setCluster(clusterModel); model.setId(volumeId.toString()); return model; }).when(parentMock).addParents(isA(GlusterVolume.class)); }
@Override protected GlusterBrick addParents(GlusterBrick glusterBrick) { GlusterVolume volume = new GlusterVolume(); parent.addParents(volume); glusterBrick.setGlusterVolume(volume); return glusterBrick; }