Allon Mureinik has posted comments on this change.

Change subject: core,ui: test duplicate keys in appErrors
......................................................................


Patch Set 4: I would prefer that you didn't submit this

(13 inline comments)

See inline.

....................................................
File 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/DuplicateKeysTest.java
Line 12:     public void testkDuplicateKeys() {
Line 13:         String baseDir = System.getProperty("basedir");
Line 14:         assumeNotNull(baseDir);
Line 15:         String fileName = "AppErrors.properties";
Line 16:         File file = new File(baseDir + "/src/main/resources/bundles/" 
+ fileName);
fileName seems a bit redundant - why not do this in a single line?

File file = new File(baseDir + 
"/src/main/resources/bundles/AppErrors.properties");
Line 17:         DuplicateKeysCheck.checkDuplicateKeys(file.getAbsolutePath());
Line 18:     }
Line 19: 


....................................................
File 
backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/DuplicateKeysCheck.java
Line 7: import java.io.InputStream;
Line 8: 
Line 9: 
Line 10: public class DuplicateKeysCheck {
Line 11:     public static void checkDuplicateKeys(String filePath) {
I'd rename the method to assertNoDuplicateKeys(path) - it's a tad clearer, and 
it overcomes some annoying code analyzers that insist that every test have an 
assert.
Line 12:         InputStream is = null;
Line 13:         try {
Line 14:             is = new FileInputStream(filePath);
Line 15:         } catch (FileNotFoundException e) {


Line 11:     public static void checkDuplicateKeys(String filePath) {
Line 12:         InputStream is = null;
Line 13:         try {
Line 14:             is = new FileInputStream(filePath);
Line 15:         } catch (FileNotFoundException e) {
It's better to just throw this upwards - if you're giving a wrong file, your 
test shouldn't fail logically, it should break with a 
DeveloperDoesntKnowWhereHisFilesAreException, which is of course a subclass of 
ThisTestWillNeverWorkException.
Line 16:             fail(e.getMessage());
Line 17:         }
Line 18:         ExtendedProperties props = new ExtendedProperties();
Line 19:         try {


Line 17:         }
Line 18:         ExtendedProperties props = new ExtendedProperties();
Line 19:         try {
Line 20:             props.load(is);
Line 21:         }
redundant blank line
Line 22: 
Line 23:         catch (Exception exception) {
Line 24:             fail("Check for duplicate keys in " + filePath + " failed: 
" + exception.getMessage());
Line 25:         }


....................................................
File 
backend/manager/modules/utils/src/test/java/org/ovirt/engine/core/utils/ExtendedProperties.java
Line 1: package org.ovirt.engine.core.utils;
Line 2: 
Line 3: import java.util.Properties;
Line 4: 
Line 5: public class ExtendedProperties extends Properties {
Really not a fan of the name - it does not imply what this class does.
How about "NoDuplicateProperties", or something like that?
Line 6:     /**
Line 7:      * This method overrides the put method of Map in order to add the 
validation
Line 8:      * of existing key. Otherwise the Hashtable implementation 
inherited by
Line 9:      * Properties class it would just override existing value without 
indicating


Line 3: import java.util.Properties;
Line 4: 
Line 5: public class ExtendedProperties extends Properties {
Line 6:     /**
Line 7:      * This method overrides the put method of Map in order to add the 
validation
consider using a @link javadoc to "put" and "Map", "Hashtable" and "Properties"
Line 8:      * of existing key. Otherwise the Hashtable implementation 
inherited by
Line 9:      * Properties class it would just override existing value without 
indicating
Line 10:      * the caller that it already exists.
Line 11:      * @param key


Line 4: 
Line 5: public class ExtendedProperties extends Properties {
Line 6:     /**
Line 7:      * This method overrides the put method of Map in order to add the 
validation
Line 8:      * of existing key. Otherwise the Hashtable implementation 
inherited by
either "existing keys" or "an existing key"
Line 9:      * Properties class it would just override existing value without 
indicating
Line 10:      * the caller that it already exists.
Line 11:      * @param key
Line 12:      * @param value


Line 9:      * Properties class it would just override existing value without 
indicating
Line 10:      * the caller that it already exists.
Line 11:      * @param key
Line 12:      * @param value
Line 13:      * @return
Either document @param and @return, or remove them
Line 14:      */
Line 15:     @Override
Line 16:     public Object put(Object key, Object value) {
Line 17:         if(this.containsKey(key))   {


Line 13:      * @return
Line 14:      */
Line 15:     @Override
Line 16:     public Object put(Object key, Object value) {
Line 17:         if(this.containsKey(key))   {
drop the "this.", it's useless.
Line 18:             throw new RuntimeException("The key " + key + " already 
exists");
Line 19:         }
Line 20:         return super.put(key, value);
Line 21:     }


Line 14:      */
Line 15:     @Override
Line 16:     public Object put(Object key, Object value) {
Line 17:         if(this.containsKey(key))   {
Line 18:             throw new RuntimeException("The key " + key + " already 
exists");
Since this is a test implementation anyway, consider just calling Assert.fail.
Line 19:         }
Line 20:         return super.put(key, value);
Line 21:     }


....................................................
Commit Message
Line 6: 
Line 7: core,ui: test duplicate keys in appErrors
Line 8: 
Line 9: The tests introduced in this patch check if in AppErrors.properties
Line 10: files in 3 locations there are duplicate keys (same key with different
a/there are/contain/
Line 11: message).
Line 12: 
Line 13: Change-Id: I143cb08908db4feed84ec2b94a17d89c1e522951


....................................................
File 
frontend/webadmin/modules/userportal-gwtp/src/test/java/org/ovirt/engine/ui/userportal/DuplicateKeysTest.java
Line 12:        public void testkDuplicateKeys() {
Line 13:           String baseDir =  System.getProperty("basedir"); 
//$NON-NLS-1$
Line 14:           assumeNotNull(baseDir);
Line 15:           String fileName = "AppErrors.properties"; //$NON-NLS-1$
Line 16:           File file = new File(baseDir + 
"/src/main/resources/org/ovirt/engine/ui/frontend/" + fileName);  //$NON-NLS-1$
see comment in the dal test
Line 17:           
DuplicateKeysCheck.checkDuplicateKeys(file.getAbsolutePath());
Line 18:        }
Line 19: 


....................................................
File 
frontend/webadmin/modules/webadmin/src/test/java/org.ovirt.engine.ui.webadmin/DuplicateKeysTest.java
Line 12:        public void testkDuplicateKeys() {
Line 13:           String baseDir =  System.getProperty("basedir"); 
//$NON-NLS-1$
Line 14:           assumeNotNull(baseDir);
Line 15:           String fileName = "AppErrors.properties"; //$NON-NLS-1$
Line 16:           File file = new File(baseDir + 
"/src/main/resources/org/ovirt/engine/ui/frontend/" + fileName);  //$NON-NLS-1$
see comment in the dal test
Line 17:           
DuplicateKeysCheck.checkDuplicateKeys(file.getAbsolutePath());
Line 18:        }
Line 19: 


--
To view, visit http://gerrit.ovirt.org/11343
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I143cb08908db4feed84ec2b94a17d89c1e522951
Gerrit-PatchSet: 4
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alissa Bonas <abo...@redhat.com>
Gerrit-Reviewer: Alissa Bonas <abo...@redhat.com>
Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com>
Gerrit-Reviewer: Laszlo Hornyak <lhorn...@redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourf...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to