Pages

Thursday, March 13, 2014

SCJEA OCMJEA Part 2 and Part 3 experience

Some tips and tricks from my experience and a few blogs that helped me through this journey.



I used StarUML 5.2, this version was not completely UML2. However, my assigment mentioned that my solution should be UML complaint. It did not specifically ask for UML 2, so I went ahead with StarUML 5.2 and since I passed, I don't think it harmed.

Some Tips:


Class Diagram:

I had crammed in a lot of information in the assigment. Towards the end, my class diagram looked more like an information overload. I did not want to split it as I did not want to risk failure, so
I created 2 images . 


In image 1 , I hid all the attributes and operations, left the dependencies and class level annotations intact. I removed most of teh comments too. I called it the overview diagram.
This diagram had a prominent note requesting the examiner to look at the Main Class diagram for operations and other details. That way I thought, the examiner can easily see classes and their relationships without getting bogged down by attribute and operation details.
In the main class diagram I crammed as much information as possible.


Deployment diagram:
I had two deployment diagrams.
The first one gave a high level view with firewalls, all clusters, datacenters etc.I showed all servers, and all nodes. This diagram did not give details of the ears/wars and jars.


The second one was called Type level deployment, it detailed how the jars, wars and ears were deployed. I only showed one AS node in the type level diagram, and put a note stating that. I showed external systems on both.

Assumptions:

I had made a lot of assumptions.
I did not want to aggravate the examiner by making her go through paragraphs of assumptions.
So I highlighted the important part of the assumption in bold, and then explained it in detail
in regular font. That way the examiner can get an idea by merely skimming through and then delve
into detail if she feels the need.

Risks:
I had in total 7 risks, I ordered them by degree of importance, thus the 3 major ones were first.



Going through Java ranch and reading experiences of others helped me refine my diagrams.

I started preparing for Part III while still working on my assignment. Trying to answer the list
of possible Part III questions helped me catch and correct some flaws or shortcomings in my design.

Blogs that helped me.

http://reddymails.blogspot.com/2011/07/well-assignment-i-got-was-designing-big.html

http://scea5-passingpart2and3.blogspot.com/

http://java.dzone.com/articles/my-path-scea-5

http://www.selikoff.net/2010/11/17/jeanne%E2%80%99s-sceaocmjca-5-part-23-experiences/

 Hope this helps, have fun.

Monday, March 3, 2014

Subversion Perl bindings for Git-Svn..getting rid of Can't locate SVN/Core.pm in @INC.Getting Git-SVN working on RHEL6

Getting the actual svn to git migration was simple, but getting my RHEL 6 system to a state where I could run git-svn...phew that was a long hard trek. 

The quickest way to get your system to a state where you can run svn to git migration would be to rely on https://www.atlassian.com/git/migration. Atlassian has a jar svn-migration-scripts.jar.

Download that and run :

java -jar ~/svn-migration-scripts.jar verify

This will give you the delta between where your system is and where it should be in order to get the migration done.
Get the required version of Git and Subversion installed.
In my case I got the got the following installed.
  • Git 1.8.4
  • Subversion 1.7.16 or higher
Then typed git-svn and got the following error:

 Can't locate SVN/Core.pm.


Basically the subversion perl bindings are missing.
There are tons of blogs an resources on how to get that working.
None of it work perfectly for me. Finally what worked was:
PS: I had root permissions on this VM
  •  Install Perl 5.18.2 (My RHEL6 only had perl5 )
    • Get the tar
    • Untar and go through the README, and Chown -R root:root perl-5.18.2
    •  Run the configure command:
      • ./Configure -des -prefix=/usr/local   This will create a ./config.sh file in the same folder
      • Run the ./config.sh file. this will generate the make file
      • Run the following
        • Make
        • Make test
        • Make install
      • Perl 5.18.2 is now installed to /usr/local
    • Set PERL5LIB to /usr/local/lib and export variable PERL5LIB 
      • export PERL5LIB=/usr/local/lib
         
    •  The type
      • cpan SVN::Core    and wait for it to finish
    • The find the location of git-svn
      • find / -name git-svn
      • vi git-svn and change the perl path to point to  5.18.2. perl and then save the change 
      •  That was it, git-svn worked like a charm.


If these steps do not get you where you want to be, here are some of the resources that have various solutions to the same issue.

http://www.linuxquestions.org/questions/slackware-14/could-not-launch-git-svn-647625/

http://slackbuilds.org/repository/12.2/development/subversion-bindings/

http://git.661346.n2.nabble.com/subversion-perl-missing-td6831600.html