@Override public V3GlusterBrick adapt(GlusterBrick from) { V3GlusterBrick to = new V3GlusterBrick(); if (from.isSetLinks()) { to.getLinks().addAll(adaptOut(from.getLinks())); if (from.isSetActions()) { to.setActions(adaptOut(from.getActions())); if (from.isSetBrickDir()) { to.setBrickDir(from.getBrickDir()); if (from.isSetComment()) { to.setComment(from.getComment()); if (from.isSetDescription()) { to.setDescription(from.getDescription()); if (from.isSetDevice()) { to.setDevice(from.getDevice()); if (from.isSetFsName()) { to.setFsName(from.getFsName()); if (from.isSetGlusterClients()) { to.setGlusterClients(new V3GlusterClients()); to.getGlusterClients().getGlusterClients().addAll(adaptOut(from.getGlusterClients().getGlusterClients())); if (from.isSetGlusterVolume()) { to.setGlusterVolume(adaptOut(from.getGlusterVolume()));
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; }
private GlusterBrick createBrick(String brickDir) { GlusterBrick brick = new GlusterBrick(); brick.setServerId(serverId.toString()); brick.setBrickDir(brickDir); return brick; }
@Mapping(from = GlusterBrick.class, to = GlusterBrickEntity.class) public static GlusterBrickEntity map(GlusterBrick fromBrick, GlusterBrickEntity toBrick) { GlusterBrickEntity brick = (toBrick == null) ? new GlusterBrickEntity() : toBrick; if(fromBrick.isSetId()) { brick.setId(Guid.createGuidFromStringDefaultEmpty(fromBrick.getId())); } if(fromBrick.isSetServerId()) { brick.setServerId(Guid.createGuidFromStringDefaultEmpty(fromBrick.getServerId())); } if(fromBrick.isSetBrickDir()) { brick.setBrickDirectory(fromBrick.getBrickDir()); } return brick; }
@Override public GlusterBrick adapt(V3GlusterBrick from) { GlusterBrick to = new GlusterBrick(); if (from.isSetLinks()) { to.getLinks().addAll(adaptIn(from.getLinks())); to.setActions(adaptIn(from.getActions())); to.setBrickDir(from.getBrickDir()); to.setComment(from.getComment()); to.setDescription(from.getDescription()); to.setDevice(from.getDevice()); to.setFsName(from.getFsName()); to.setGlusterClients(new GlusterClients()); to.getGlusterClients().getGlusterClients().addAll(adaptIn(from.getGlusterClients().getGlusterClients())); to.setGlusterVolume(adaptIn(from.getGlusterVolume())); to.setId(from.getId()); to.setHref(from.getHref()); to.setMemoryPools(new GlusterMemoryPools()); to.getMemoryPools().getGlusterMemoryPools().addAll(adaptIn(from.getMemoryPools().getGlusterMemoryPools()));
@Mapping(from = GlusterBrickEntity.class, to = GlusterBrick.class) public static GlusterBrick map(GlusterBrickEntity fromBrick, GlusterBrick toBrick) { GlusterBrick brick = (toBrick == null) ? new GlusterBrick() : toBrick; if(fromBrick.getId() != null) { brick.setId(fromBrick.getId().toString()); } if(fromBrick.getServerId() != null) { brick.setServerId(fromBrick.getServerId().toString()); } if(StringUtils.isNotEmpty(fromBrick.getQualifiedName())) { brick.setName(fromBrick.getQualifiedName()); } if(fromBrick.getBrickDirectory() != null) { brick.setBrickDir(fromBrick.getBrickDirectory()); } if(fromBrick.getStatus() != null) { brick.setStatus(mapBrickStatus(fromBrick.getStatus())); } if(fromBrick.getVolumeId() != null) { brick.setGlusterVolume(new GlusterVolume()); brick.getGlusterVolume().setId(fromBrick.getVolumeId().toString()); } return brick; }
private GlusterBricks createModel() { GlusterBricks bricks = new GlusterBricks(); GlusterBrick brick = new GlusterBrick(); brick.setId(GUIDS[0].toString()); brick.setGlusterVolume(new GlusterVolume()); brick.getGlusterVolume().setId(volumeId.toString()); brick.setServerId(serverId.toString()); brick.setBrickDir(brickDir); bricks.getGlusterBricks().add(brick); return bricks; }
@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); }
/** * Overridden as {@link GlusterBrickEntity} does not have name/description field */ @Override protected void verifyModel(GlusterBrick model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(volumeId.toString(), model.getGlusterVolume().getId()); assertEquals(serverId.toString(), model.getServerId()); assertEquals(brickDir, model.getBrickDir()); verifyLinks(model); }
@Override protected void verify(GlusterBrick model, GlusterBrick transform) { assertNotNull(transform); assertNotNull(transform.getServerId()); assertEquals(model.getServerId(), transform.getServerId()); assertNotNull(transform.getBrickDir()); assertEquals(model.getBrickDir(), transform.getBrickDir()); }
/** * Overridden as {@link GlusterBrickEntity} does not have description field */ @Override protected void verifyModel(GlusterBrick model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(serverId.toString(), model.getServerId()); assertEquals(GlusterTestHelper.brickDir, model.getBrickDir()); verifyLinks(model); }
private static GlusterBrick mapBrickProperties(BrickDetails detail, GlusterBrick model) { if (detail.getBrickProperties() != null) { BrickProperties props = detail.getBrickProperties(); if (StringUtils.isNotEmpty(props.getDevice())) { model.setDevice(props.getDevice()); } if (StringUtils.isNotEmpty(props.getFsName())) { model.setFsName(props.getFsName()); } if (StringUtils.isNotEmpty(props.getMntOptions())) { model.setMntOptions(props.getMntOptions()); } model.setPid(props.getPid()); model.setPort(props.getPort()); } return model; }
@Mapping (from=GlusterVolumeAdvancedDetails.class, to=GlusterBrick.class) public static GlusterBrick map(GlusterVolumeAdvancedDetails fromEntity, GlusterBrick toModel) { GlusterBrick model = (toModel == null) ? new GlusterBrick() : toModel; if (fromEntity.getBrickDetails() == null) { return model; } //Since the getDetails call is for a single brick the list size will always be 1 - so get the first element BrickDetails detail = (fromEntity.getBrickDetails().size() > 0) ? fromEntity.getBrickDetails().get(0) : null; if (detail == null) { return model; } model = mapBrickProperties(detail, model); if (detail.getClients()!= null) { model.setGlusterClients(new GlusterClients()); for (GlusterClientInfo clientEntity : detail.getClients()) { model.getGlusterClients().getGlusterClients().add(map(clientEntity)); } } if (detail.getMemoryStatus() != null && detail.getMemoryStatus().getMemPools() != null) { model.setMemoryPools(new GlusterMemoryPools()); for (Mempool pool: detail.getMemoryStatus().getMemPools()) { model.getMemoryPools().getGlusterMemoryPools().add(map(pool)); } } return model; }
@Override public Response remove() { get(); GlusterBrick brick = new GlusterBrick(); brick.setId(id); GlusterBricks bricks = new GlusterBricks(); bricks.getGlusterBricks().add(brick); Action action = new Action(); action.setBricks(bricks); return parent.remove(action); } }
private GlusterVolumeRemoveBricksParameters toParameters(GlusterBricks bricks) { GlusterVolumeRemoveBricksParameters params = new GlusterVolumeRemoveBricksParameters(); List<GlusterBrickEntity> entityBricks = new ArrayList<>(); for (GlusterBrick brick : bricks.getGlusterBricks()) { GlusterBrickEntity entity = new GlusterBrickEntity(); entity.setBrickDirectory(brick.getBrickDir()); entity.setVolumeId(asGuid(getVolumeId())); if (brick.getName() != null) { String[] arr = brick.getName().split("\\:"); if (arr.length > 1) { entity.setServerName(arr[0]); entity.setBrickDirectory(arr[1]); } else { continue; } } if (brick.getId() != null) { entity.setId(asGuid(brick.getId())); } entityBricks.add(entity); } params.setVolumeId(asGuid(getVolumeId())); params.setBricks(entityBricks); params.setCommandType(ActionType.StartRemoveGlusterVolumeBricks); return params; }
@Mapping (from=GlusterVolumeProfileInfo.class, to=GlusterVolumeProfileDetails.class) public static GlusterVolumeProfileDetails map(GlusterVolumeProfileInfo fromEntity, GlusterVolumeProfileDetails toModel) { GlusterVolumeProfileDetails model = new GlusterVolumeProfileDetails(); BrickProfileDetails brickprofileDetails = new BrickProfileDetails(); if (fromEntity.getBrickProfileDetails() != null) { for (org.ovirt.engine.core.common.businessentities.gluster.BrickProfileDetails brickDetailEntity: fromEntity.getBrickProfileDetails()) { BrickProfileDetail brickprofileDetail = new BrickProfileDetail(); brickprofileDetail.setBrick(new GlusterBrick()); brickprofileDetail.getBrick().setBrickDir(brickDetailEntity.getName()); mapProfileDetails(brickDetailEntity.getProfileStats(), brickprofileDetail); brickprofileDetails.getBrickProfileDetails().add(brickprofileDetail); } } model.setBrickProfileDetails(brickprofileDetails); NfsProfileDetails nfsprofileDetails = new NfsProfileDetails(); if (fromEntity.getNfsProfileDetails() != null) { for (org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeProfileStats nfsDetailEntity: fromEntity.getNfsProfileDetails()) { NfsProfileDetail nfsprofileDetail = new NfsProfileDetail(); nfsprofileDetail.setNfsServerIp(nfsDetailEntity.getName()); mapProfileDetails(nfsDetailEntity.getProfileStats(), nfsprofileDetail); nfsprofileDetails.getNfsProfileDetails().add(nfsprofileDetail); } } model.setNfsProfileDetails(nfsprofileDetails); return model; }
private void setupParentPopulateExpectations() { doAnswer(invocation -> { GlusterBrick model = (GlusterBrick) invocation.getArguments()[0]; model.setPort(GlusterTestHelper.BRICK_PORT); model.setMntOptions(GlusterTestHelper.BRICK_MNT_OPT); return model; }).when(bricksResourceMock).populateAdvancedDetails(isA(GlusterBrick.class), isA(GlusterBrickEntity.class)); }
/** * Create an instance of {@link GlusterBrick } * */ public GlusterBrick createGlusterBrick() { return new GlusterBrick(); }
@Override protected GlusterBrick addParents(GlusterBrick glusterBrick) { GlusterVolume volume = new GlusterVolume(); parent.addParents(volume); glusterBrick.setGlusterVolume(volume); return glusterBrick; }
@Test public void testStopMigrate() { 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); }