Allon Mureinik has posted comments on this change.
Change subject: core: add validation to AddStorageServerConnection
......................................................................
Patch Set 2: I would prefer that you didn't submit this
(8 inline comments)
Something seems to be off with your formatter. In the project's style, we add
spaces around brackets. E.g.: "if(someCondition){" should be changed to "if
(someCondition) {". This repeats throughout the patch.
Also, see specific issues inline.
....................................................
File
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
Line 37: isValidConnection = result.getFirst();
Line 38:
Line 39: // Add storage connection to the database.
Line 40: if (isValidConnection) {
Line 41: //if there was no id sent by client, or if there was sent
id, but this id already exists in db - allocate a new id.
Formatting: please start comments with a space
Line 42: //since canDoAction already checks if there is a same
connection in db (same by content, not by id),
Line 43: // we can assume here that if the id received is already
taken - it can be overriden by a new one
Line 44: if(StringUtils.isEmpty(connection.getid()) ||
getConnectionFromDbById(connection.getid()) !=null) {
Line 45: connection.setid(Guid.NewGuid().toString());
Line 39: // Add storage connection to the database.
Line 40: if (isValidConnection) {
Line 41: //if there was no id sent by client, or if there was sent
id, but this id already exists in db - allocate a new id.
Line 42: //since canDoAction already checks if there is a same
connection in db (same by content, not by id),
Line 43: // we can assume here that if the id received is already
taken - it can be overriden by a new one
Why is overriding a connection allowed?
Shouldn't we just fail in this case?
Line 44: if(StringUtils.isEmpty(connection.getid()) ||
getConnectionFromDbById(connection.getid()) !=null) {
Line 45: connection.setid(Guid.NewGuid().toString());
Line 46: }
Line 47: saveConnection(connection);
Line 59: protected StorageServerConnections getConnectionFromDbById(String
connectionId) {
Line 60: return
getDbFacade().getStorageServerConnectionDao().get(connectionId);
Line 61: }
Line 62:
Line 63: protected Pair<Boolean, Integer> connectToStorage() {
Please document this method signature - it's not too intuitive
Line 64: Guid vdsId = getVds().getId();
Line 65: Pair<Boolean, Integer> result = connect(vdsId);
Line 66: return result;
Line 67: }
Line 71: }
Line 72:
Line 73: protected boolean isConnWithSameDetailsExists() {
Line 74: String connection =
getParameters().getStorageServerConnection().getconnection();
Line 75: if
((getDbFacade().getStorageServerConnectionDao().getAllForStorage(connection)).size()
!= 0) {
Just return
(getDbFacade().getStorageServerConnectionDao().getAllForStorage(connection)).size()
!= 0
Line 76: return true;
Line 77: }
Line 78: return false;
Line 79: }
Line 90: if (paramConnection.getstorage_type() == StorageType.POSIXFS
&& (StringUtils.isEmpty(paramConnection.getVfsType()))) {
Line 91: return
failCanDoAction(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE);
Line 92: }
Line 93: if(isConnWithSameDetailsExists()) {
Line 94: return
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_CONNECTION_ALREADY_EXISTS);
Don't know if this is just a gerrit foobar, but the indentation seems fishy
here.
Line 95: }
Line 96:
Line 97: if (getParameters().getVdsId().equals(Guid.Empty)) {
Line 98: returnValue = InitializeVds();
....................................................
Commit Message
Line 5: CommitDate: 2013-06-05 15:06:32 +0300
Line 6:
Line 7: core: add validation to AddStorageServerConnection
Line 8:
Line 9: Work in progress...
Please mark the subject with WIP, so this is not merged by mistake.
Line 10: Prevent addition of a new connection if another one with same
Line 11: connection details already exists.
Line 12: Added more unitests for the AddStorageServerConnection command.
Line 13: Also added VAR__TYPE__STORAGE__CONNECTION to VdcBllMessages, so the
connection related
....................................................
File
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
Line 778: }
Line 779:
Line 780: private void cleanConnection(StorageServerConnections connection,
Guid hostId) {
Line 781: //if create connection command was the one to fail and didn't
create a connection
Line 782: //then the id of connection will be empty, and there's
nothing to delete.
Formatting - please start comment with a space
Line 783: if(connection.getid()!=null &&
!connection.getid().equalsIgnoreCase("")) {
Line 784:
Frontend.RunAction(VdcActionType.RemoveStorageServerConnection, new
StorageServerConnectionParametersBase(connection, hostId),
Line 785: null, this);
Line 786: }
Line 779:
Line 780: private void cleanConnection(StorageServerConnections connection,
Guid hostId) {
Line 781: //if create connection command was the one to fail and didn't
create a connection
Line 782: //then the id of connection will be empty, and there's
nothing to delete.
Line 783: if(connection.getid()!=null &&
!connection.getid().equalsIgnoreCase("")) {
why is the case interesting when comparing to an empty string?
Line 784:
Frontend.RunAction(VdcActionType.RemoveStorageServerConnection, new
StorageServerConnectionParametersBase(connection, hostId),
Line 785: null, this);
Line 786: }
Line 787:
--
To view, visit http://gerrit.ovirt.org/15388
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If9bcef8a413589654d36db8d878c844550ae6066
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alissa Bonas <[email protected]>
Gerrit-Reviewer: Alissa Bonas <[email protected]>
Gerrit-Reviewer: Allon Mureinik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches