I agree with you, and of course all of these that you have mentioned are also covered in my design. What you see is a small snipset and I have documented all of these in my choices.txt and why I have chosen this design principles. Everything runs in a synchronised context and i explained all the considerations and assumptions that were made to design the locking mechanism and how it should be treated. Of course we all know that programming is like a mathematical problem which will have multiple answers and what it maters in the end is to get the desired result. So yes it might be difficult for someone to understand my design by just looking at one piece, as it will be difficult for me to understand the design of someone else but not looking the overall picture.
From my first submission if you remember i was frustated because of the delay and the luck of communication because I knew that i hadn't correctly so I did't want to wait no more than 6 weeks to receive an "F" and that is what happened. When I received the report i didn't got 0 out of 80 for locking, i got 7 out of 80. My locking mechanism was working but the stupid think I have done is that instead of putting the thread to wait and notify after I was throwing an exception and that is why I failed and I believe that is the reason why I did not took 0 out 80. The assumptions I made from this is that my assessor actually evaluated the locking mechanism I have implemented althought it was not working correctly, am I correct so far? And very correct my assessor didn't gave me full credits on consideration since my assumptions was incorrect (exception thrown), am I still correct?
Coming to the second submision I had to do minimal changes to my code, nothing else was changed apart from the locking mechanism that introduced the required functionality. As every logical person will think since I made changes I thought I should update the choices.txt. I explained in detail how the mechanism was working, how it was implemented in the first place and what I did to fix. I explained the possible scenarios that can occru and what happens.
Taking a closer look at my score report you can see that I have full credits for the general considerations and 0 point for the locking. How is it possible to have full credits on the general considerations and receive 0 on locking since locking by itself is the one major consideration. We have allready reached to a conflict! And how is it possible, the exact the same design, improved and working to receive less points from the initial that was not working, conflict number 2 !
In my choices.txt and in my assumptions I explained in detaild that the data class is accessed only by the remote business interface. Furthermore I explained how the lock / unlock / isLocked methods will behave within the Data class and for the overall design of the data class again i took 40 credits. conflict number 3 (suppose there was an error there)
In the company I work it is mandatory to take as part of the training the SCJP which I allready had but I wanted to take the SCJD for personal satisfaction. I don't believe that solutions architects and senior developers that deal with enterprise applications are unable to understand a simple wait / notifyAll and that told me that I had it correct and it is working just to make me feel good.. Personally I see it as a joke, let's not fool ourselfs, it does not has the complexity that we deal as software engineers in the industry..Of course it needs to carefull (something I paid in my submission for a silly mistake) but it's not the task that is impossible to do..
Which are my assumptions? I believe that the assessor that I had this time did not assess my locking mechanism properly and probably it was assessed in a hurry. YES if you don't read my considerations and you test my class with your own consideration of course it will fail but this will apply to anyone, its like a jackpot but the difference is that you don't want to hit the jackpot here.. As a java programmer and as software engineer working in the industry I find it difficult to believe that I failed when it had been actually implemented what was requested. I even recorded a video with snagit having three clients running and accessing the same resources and send it to them..
I know that probably that I will not find my right but it's "cheap" on behalf of Sun to tread us like dollar bills, or EURO bills in my case. Their customer support is the worst I have ever seen. During the 8th week of my first submission I couldn't get a reply from them and I send an email expressing my dissatisfaction to a woman called "Jenice Jensel" who is the one who used to communicate with me in order to provide me with payment details and i got an email from Eric Boice (from his personal email not the who2contact) saying to me to send him an attachment of my assignment so as he can hand it for marking. WTF is going now? 3 weeks later he was reassuring me that the grading process started when I submited and 8 weeks after he asks for an email attachment and sent me the feedback within 5-7 days. So i suppose this how much time they devote, maximum 5 days to mark an assignment and they are just feeding as cr*p saying that it will last 4-6 weeks and that is prometrics fault and we can't access your essay.. Is this a professional treatment on behalf of Sun? And after all of these how am I supposed to trust the assessor and the way he/she marks my assignment?
Just to not be missunderstood, i don't say that i don't make mistakes or to brag "oh i'm working in the industry", but when I build a product i know if it has minor points and if it needs adjustments and in that case (resubmision) i shouldn't have failed, furthermore when I have the feedback from my team members who are working for years and they are allready certified and their experience is far more extensive than mine i can't believe it that i was unable to build successfull this simple wait/notify task..If it is like this i will sell my degrees,certificates and I will go to sell pizza and I will have free food
(BTW again to not be missunderstood i respect all kind of work, and I have been working a waitor while being a student)
Anyway..We'll see what will happen..