aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Failed, and know why. Costly mistake from my side. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "Failed, and know why. Costly mistake from my side." Watch "Failed, and know why. Costly mistake from my side." New topic
Author

Failed, and know why. Costly mistake from my side.

Margarita Babkova
Ranch Hand

Joined: May 09, 2012
Posts: 32
Hi there,

after three weeks of waiting, i checked Pearson site and ... they failed me with only one sentence of explanation: Score: 0. "As part of mandatory requirement, the candidate is expected to submit all .java files for code evaluation. This is missing in this assignment."

Did I just spend$600 out of my pocket for this two lines evaluation?

The only thing that comes to my mind, is that I did not created stubs/skelletons for RMI. Common, it is java 6 for crying laud! I remember through many posts that it is not just me who decided to skip this rmic compiler.

I could not even think of anything else... did they even tried to run my executable jar? What if something much bigger?
Should I just pay more $$$ for resubmission, generate these stabs and do nothing else?

upset and furious,
M
Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

Sorry to hear you failed.

Did you check your submission jar and are all source files in the correct folder (inside the submission jar). Maybe you forgot to include some package.

I don't think they'll fail you for not generating stub & skeleton, because like you said that's not needed anymore in Java 5/6.

I would try to contact Oracle and ask for further clarification, because that's a really weird explanation.


SCJA, SCJP (1.4 | 5.0 | 6.0), SCJD
http://www.javaroe.be/
Roberto Perillo
Bartender

Joined: Dec 28, 2007
Posts: 2267
    
    3

Howdy, Margarita. I'm really sorry about that too.

Are you sure that all the source files were there in the submission JAR file? If so, then it is pretty likely that it was their mistake. So getting in touch with them is the best you can do. Explain them the situation, and let's hope everything goes well.

Please let us know how it goes. We'll be here crossing our fingers!


Cheers, Bob "John Lennon" Perillo
SCJP, SCWCD, SCJD, SCBCD - Daileon: A Tool for Enabling Domain Annotations
Margarita Babkova
Ranch Hand

Joined: May 09, 2012
Posts: 32
Ok, I have to change title to the "Failed, know why and unbelievably stupid me..."

Per your two suggestions, opened my submission jar file, went to the Code folder, it had all my three packages, opened each package and to my horror each contains .class files and not .java files.
Good lord, it is very expensive error from my side.


Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

Ouch! That's a very costly mistake. I guess you could after discovering this stupid mistake.

On the positive side (if possible) you can just buy a resubmission voucher, create a new submission jar (and make sure you have .java files in the code folder), resubmit and hope for the best. We'll be here crossing our fingers!
Margarita Babkova
Ranch Hand

Joined: May 09, 2012
Posts: 32
Frankly, I feel like taking stupid laptop to the nearest pond, drown it, and then cry.
But I might as well create new jar file, spend more money, and have couple beers to wash it down.

thank you all, i just hope people will learn from my mistake. I checked this jar 5 times and did not see anything wrong there...
Anayonkar Shivalkar
Bartender

Joined: Dec 08, 2010
Posts: 1509
    
    5

Hi Margarita,

Sorry to hear about results.

Mistakes are made from everybody. The important thing is - to learn from them, and be extra cautious next time.

It's good thing that you yourself have understood what went wrong. Perhaps you built jar via some IDE like eclipse; anyways, there's not much point into thinking what caused this.

What I would suggest is:
1) You are done with your coding now, so its time to shut down that favourite IDE of yours.
2) Do all steps required for packaging manually, instead of taking help from IDE - that is, compile all your files manually by firing javac command (and putting those class files in expected directory), create your jar by firing jar command and so on.
3) Once you are done creating your final package, try to put yourself into examiner's shoes, and check if the package is correct - i.e., does it contain all necessary files, can the jar be executed by 'java -jar runme.jar' etc.
4) Personally, I provided generated stubs even when I was submitting the assignment for JDK 6. I was not sure whether I should provide those, so I decided to follow safe path.
5) This is a utility created by Roel which tests whether the final package is in correct form. I did not use it, and hence cannot comment whether it works out of the box. But making a few customizations in it as per your own assignment should not be a big task.
6) Even if you are sure, this is the time to go through your code again and again, and check if you are missing anything, or is there any way to improve something.

All the Best!


Regards,
Anayonkar Shivalkar (SCJP, SCWCD, OCMJD, OCEEJBD)
Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

Anayonkar Shivalkar wrote:5) This is a utility created by Roel which tests whether the final package is in correct form. I did not use it, and hence cannot comment whether it works out of the box. But making a few customizations in it as per your own assignment should not be a big task.

If you are familiar with Ant, you can easily adapt the script to your needs (based on the instructions). Simply run the Ant script and your submission jar will be created for you. And it works, because that's the script I used myself to create my submission jar (just to make sure I would not make a mistake when wrapping up things).

Good luck!
Anayonkar Shivalkar
Bartender

Joined: Dec 08, 2010
Posts: 1509
    
    5

Roel De Nijs wrote:And it works, because that's the script I used myself to create my submission jar (just to make sure I would not make a mistake when wrapping up things).

Sorry Roel, I didn't mean to say that it doesn't work, I was just not sure whether it requires any assignment specific tweaks. My bad
Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

Anayonkar Shivalkar wrote:I was just not sure whether it requires any assignment specific tweaks. My bad

No problem. It might require specific assignment tweaks. That's also clearly stated in the OP of that thread: My assignment was URLyBird 1.3.1, so if you have another assignment, make sure you make the necessary changes to the test case before using it.. So you always have to make sure the resulting submission jar meets all the requirements of your assignment, otherwise you might fail. It's just a tool I used to make sure I didn't make a mistake just for the finish line, because that could be a costly one.
Margarita Babkova
Ranch Hand

Joined: May 09, 2012
Posts: 32
I do not have access to the Ant, but I created new submission jar and ran Roel's TestJarSubmission.java against my unjarred the submission jar.
My assignment is UrlyBird 1.3.1 and my user guide is bunch of html files, so I did just very light modification to the test file.

I put Roel's file in a totally different java project, default package, and just provided path to above folder on my desktop. In order to access DBMain.class, RecordNotFoundException.class, and DuplicateKeyException.class
I had my actual Project on a build path.
and I had to add imports to the test file as well:

JUnit shows that it passed testRequiredDirectories, testRequiredFiles, testRequiredSources, testSourceRequirements (all four are green). So, in a sense my submission is ready to go.

Thank very much all.

But I still did not created stubs...-> and it means more updates, more testing, creation of another two jars. Not sure what to do, because right now my runme.jar work just fine, I tested it on three different computers (one server and two are network clients).




Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

The ant build script generates the stubs for you. But you don't need them. However I don't see why generating stubs would result in 2 extra jars

If everything is working like expected and the structure of your submission jar is confirmed, I would suggest simply uploading the submission jar once again and hope for the best!
Margarita Babkova
Ranch Hand

Joined: May 09, 2012
Posts: 32
Hi Roel,

my thought process goes like these, and it is only a theory.

1. Open book chapter 6, find line : Rmic –v1.2 sampleproject. remote.DVDDatabaseImp
2. Modify name to suit own, run it –> will generate stub.class
3. Create new runme.jar – that will include this stub.class
4. Test it.
5. Create new submission jar that will include this new runme.jar
6. Run your test file again.

Thank you
Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

From that perspective you are correct. I thought you were thinking about putting the stubs in a seperate jar file.

But that's the beaty of using build tools like Ant/Maven: you can automate the build process, no need to do things manually. And you can run the build over and over again. Using Ant creating the stubs was just 1 simple line of code. Nice & easy!


But like I said before: it isn't necessary anymore since JDK 5.0 (and Oracle should update the instructions accordingly). So no need to worry: just upload the new submission jar, keep fingers crossed and soon you'll be a OCMJD too!
Robin van Riel
Greenhorn

Joined: May 04, 2012
Posts: 20

Hi Margarita,

Sad to hear it!
I hope you'll easily pass next time around.
Himai Minh
Ranch Hand

Joined: Jul 29, 2012
Posts: 796
    
    1
By the way, I am using JDK 7 for my assignment. I don't need rmic to generate a stub.
Do I still need to generate a stub and submit it in runme.jar?
Anayonkar Shivalkar
Bartender

Joined: Dec 08, 2010
Posts: 1509
    
    5

Himai Minh wrote: By the way, I am using JDK 7 for my assignment. I don't need rmic to generate a stub.

I'm afraid you might be (unintentionally) breaking a 'must' requirement.

As per my understanding goes, OCMJD is currently for JDK 6, and during evaluation, your runme.jar will be executed on JDK 6 only.

Now that you've compiled your source code with JDK 7, running your runme.jar on JDK 6 might cause UnsupportedClassVersionError.

I strongly urge you to compile and test everything with JDK 6 only.
Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

Anayonkar Shivalkar wrote:I strongly urge you to compile and test everything with JDK 6 only.

I don't agree at all! There's absolutely no need to go back to JDK 6.

The only requirement concerning the JDK is this one:
instructions.html wrote:Throughout this exercise, you must use exclusively the Java 2 platform. You may develop your code using any implementation of the Java 2 platform, but the submission that you return must have been tested and shown to work under a production (not development) version of the Sun Microsystems' Java 2 platform and that platform must not have been superseded by a new production version for more than 18 months by the time you make your submission.


So you are not violating any must requirement if you use JDK 7 for your assignment. You also have to add a version.txt containing the jdk and the host platform you used. That will prevent an accessor from getting UnsupportedClassVersionError because you used JDK 7 and he's using JDK 6.
Roel De Nijs
Bartender

Joined: Jul 19, 2004
Posts: 5535
    
  13

Himai Minh wrote:Do I still need to generate a stub and submit it in runme.jar?

No, you don't! Many people passed without generating stubs. Even my good buddy Roberto did and he was using JDK 5.0 (if i remember correctly)
Anayonkar Shivalkar
Bartender

Joined: Dec 08, 2010
Posts: 1509
    
    5

Roel De Nijs wrote:
Anayonkar Shivalkar wrote:I strongly urge you to compile and test everything with JDK 6 only.

I don't agree at all! There's absolutely no need to go back to JDK 6.

The only requirement concerning the JDK is this one:
instructions.html wrote:Throughout this exercise, you must use exclusively the Java 2 platform. You may develop your code using any implementation of the Java 2 platform, but the submission that you return must have been tested and shown to work under a production (not development) version of the Sun Microsystems' Java 2 platform and that platform must not have been superseded by a new production version for more than 18 months by the time you make your submission.


So you are not violating any must requirement if you use JDK 7 for your assignment. You also have to add a version.txt containing the jdk and the host platform you used. That will prevent an accessor from getting UnsupportedClassVersionError because you used JDK 7 and he's using JDK 6.

My apologies for wrong advice

The certification name contains 'Java SE 6 Developer' and hence the confusion (even when I submitted the assignment, JDK 7 was released, but I opted to go for JDK 6 - which was not older than 18 months of course).

Sorry again.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Failed, and know why. Costly mistake from my side.