![]() |
.. (לתיקייה המכילה) | |
I think the rules for detecting conflicts (and consolidate-ability) between two records are incorrect. | |
Here are the correct rules: Consolidate-able: Two records can be consolidated if they have the same first and last name, and they agree on all other keys. Conflict: Two records are in conflict if they have the same first and last name, at least one key where where the corresponding values are not in agreement with each other. Agreement: Two values (of the same key) "agree" with each other if one of them is equal to- or is a substring of- the other. An empty string is a substring of every string (this definition was not changed) |
Can we use external libraries? | |
Yes |
Can we use code that was presented in the lectures? Where can we find it? | |
Yes, you can. You can find it in the wiki (See links to various classes in http://ssdl-wiki.cs.technion.ac.il/wiki/index.php/Software_Design:_Syllabus) |
What should be the order of the records returned by getNormalized() or getConflicts()? | |
The order is not specified. You can choose whatever order you want. |
Can we assume the input (in particular: the CSV string) is correct? | |
No. You have to deal with bad inputs |
What should be the correct values for Samples.CSV4 and Samples.CSV5 in light of the new definition | |
public static final String CSV4 = "First Name,Last Name,Email\n" + "Abc,Noyman,udatwalla.com\n" + "Abc,Noyman,udatyahoo.com\n" + "Abc,Jimi,ujatt.com\n"; public static final String CSV5 = "Last Name,First Name,Email\n" + "Noyman,Abc,udatwalla.com\n" + "Noyman,Abc,udatyahoo.com\n"; |
I get this compilation error: "the method copyOf(String[],int) is undefined for the type Arrays" | |
Arrays.copyOf() was introduced in Java6. You're probably using Java5. |
Because of the definition of Consolidate there can be a situation in which two records are Consolidate but they are not identical. for example: | |
The whole idea in consolidation is, well, to consolidate the information from two (or more) records into a single record. So in your example the consolidated records should be:"Abc,Noyman,udatwalla.com" because it contains the most information. Another example: Input- Abc,Noyman,udatwalla.com, Neve Shanana Abc,Noyman,d, Neve Shanana Haifa consolidated output- Abc,Noyman,udatwalla.com, Neve Shanana Haifa In this example the e-mail field was taken from the first record where the address field was taken from the second record. |
Here are three records: a, b, and c. | |
The spec. of getNoramlized() says: "Obtain all non-conflicting contacts in this address book" which means that getNormzlied() does not consider conflicting records. In your example, records a and b are conflicting so they are ignored by getNormalized(). Therefore, from getNormalized()'s point of view, record c has no other record with which it can be consolidated. The output would therefore be record c as-is. |
The order of getNormalized() and getConflicts() is not specified. Is the order of getSupportedKeys() also not specified ? | |
Yes |
In task B and C I designed and implemented a feature that also appears on the list of additional extensions that you published. How would you treat it? | |
It is OK that features from task B & C will overlap with features from the list of extensions. |
We chose to implement only one extension. Will our rating be compared to all the groups? | |
Yes. It will probably make it difficult for you to get a grade of 100 with only one feature but, on the other hand, the penalty for implementing only one feature is quite small. |
What should be the order of the columns in the output records (First name, Last name, ...)? | |
The order of the columns should match the order specified in the recent call to setOutput() |
How are we suppose to handle input recrdos that are missing "First Name" and/or "Last Name" values? | |
Consider them to be the empty string. |
I think the test class is not conforming to the new definitions of "conflict". Am I right? | |
Yes. Here are the correct values for CSV1 & CSV2: public static final String CSV1 = "First Name,Last Name,Home Phone,Email\n" + "Barooch,Dego,,ubatd.com\n" + "Shimon,Gershon,03-510011,usatg.com\n" + "Barooch,Dego,04-931100,\n"; public static final String CSV2 = "First Name,Last Name,Home Phone,Email\n" + "Barooch,Dego,04-931100,ubatd.com\n" + "Shimon,Gershon,03-510011,usatg.com\n"; |
(Task A) How should we treat input which contains a column name that does not appear on getSupportedKeys()? | |
Such input is considered to be invalid |
(Task A) Are names and values of keys case sensitive? | |
Yes |
(Task A) Can we understand that a header line that does not contains both "First Name" and "Last Name" is invalid? | |
Yes |
Do we need to submit both zip files we created with ant? If not, which one zip file should we submit? | |
You only need to submit one zip file. This is the one created with the "zipsrc" task |