Sunday, July 1, 2018

How to create a method in scala


In this tutorial ill be showing you how to create a method using Scala.

The requirements are:
-Eclipse
-Latest Version of IDE

1) Once you have to install Eclipse in your machine, you ill then required to download "Scala IDE for eclipse" and "Scala worksheet".

To get this you need to open: Eclipse > Help > Install New Software as shown in the picture below
2) Afterward, a popup windows will open as shown below:
you then need to add this URL in : http://download.scala-ide.org/sdk/lithium/e47/scala212/stable/site
once the URL, has been added you need to checklist "Scala IDE for eclipse" and "Scala Worksheet" and click on next and finish.
3)When the scala has been added, the user need to create a new scala project.
once you click on a new project it will show you a popup and ask the user to name the project.
it will then create 3 items inside the project, right click on "src" and click on New > Scala WorkSheet and it will ask you to give a name for your project.

4) When a blank worksheet has been created, the user must create an object first.
in this example i created an object class and the attributes that i fill in are "carType", "cost" and "color".
i then created a method called greater, which take a parameter (c2) and define the type (which is a type car) and it return as a boolean and compares the cost of the first value to the second value "c2.cost"

I then created 2 objects which is "c1" and "c2" and gives a different values for each
After creating the objects, i would like to compare the prices between them.
i.e 100000 is greater than 3000000 shows that the result gave a false answer.

Import SOA Composites Menggunakan Python Script

Pada Blog sebelumnya saya sudah menjelaskan bagaimana cara untuk melakukan export project SOA menggunakan python script. Nah, kali ini saya akan membahas bagaimana cara untuk Import atau yang biasa kita kenal dengan Deploy .jar project SOA menggunakan python script.
Ketika kita ingin melakukan Import alias deploy .jar project yang sudah kita buat ke SOA Server maka kita harus melakukan import atau deploy satu-satu. Sama halnya seperti export, Bagaimana jika project yang akan kita import/depoly ada ribuan? apakah kita akan melakukan import/depoly satu-satu juga? Terlalu rumit dan melelahkan.
Nah untuk itulah, lagi-lagi saya akan membagikan python script untuk memudahkan proses import atau deploy project SOA yang banyak hanya dengan sekali execute file python script.
Langkah-langkahnya adalah sebagai berikut :
Siapkan python script nya terlebih dahulu.
Anda bisa melihatnya pada gambar di bawah :
  • Script untuk melakukan Proses Import/Deploy SOA Composite
    Arthur_SOAMigrateScript.py
    Script diatas terlebih dahulu akan membaca folder dimana anda menyimpan semua file .jar project anda dan kemudian akan menjalankan command ls -l  untuk melihat detail list .jar file anda.
    Perhatikan script pada bagian :
    read_list = os.popen("ls -l /u01/apps/oracle/bpel/")
    list_jar = read_list.read()
    Setelah menjalakan command itu, maka script ini akan otomatis menjalankan WLST Command untuk import/deploy .jar file project anda sebanyak list project yang ada pada folder anda.
    Perhatikan command :
    sca_deployComposite(host_deploy,path_jar+jarfile,user="username",password="password",forceDefault=false,overwrite=true)
    Pastikan host, username dan password sudah sesuai dengan SOA Server anda. Karena jika tidak maka proses import/deploy ini akan gagal.
Langkah untuk menjalankan Script ini juga sangat sederhana :
  • Pada script pastikan anda sudah memasukkan host, username dan password SOA Server sesuai dengan host, username, dan password SOA server anda dengan benar.
  • Pastikan anda mengetahui letak path nodemanager SOA Server anda. Dimana anda akan meletakkan file python script nya di path ini.
  • Jika Anda membuat python Script tersebut pada local anda, maka pastikan anda sudah meng-copy file tersebut ke path nodemanager SOA Server anda.
    untuk melakukan copy dari local ke SOA Server bisa anda lakukan dengan menjalankan command berikut (jangan lupa memasukkan host dan username yang sesuai dengan SOA Server anda):
    scp /Users/toms/Documents/Nostra/ORACLE/DokumentasiTutorial/Arthur_SOAMigrateScript.py user@host:/u01/oracle/config/aserver/JWS_BPM/nodemanager/
  • Sekarang silahkan masuk ke SOA Server anda. Dalam hal ini saya melakukan ssh ke SOA Server saya.
    berikut ada contoh command yang saya jalankan untuk masuk ke SOA server saya menggunakan ssh :
    ssh user@host
  • Silahkan masuk menggunakan command CD menuju path nodemanager anda.
    berikut ada contoh command yang saya jalankan untuk masuk ke nodemanager server saya :
    cd /u01/oracle/config/aserver/JWS_BPM/nodemanager/
  • Pastikan bahwa python Script anda sudah ter-copy ke path nodemanager.
  • Jika sudah, maka sekarang saatnya kita menjalankan script nya.
    Namun, seperti umumnya dalam oracle. Untuk bisa menjalankan WLST Command maka kita harus set envelope wlst command terlebih dahulu.
    Biasanya pada SOA Server sudah tersedia satu script untuk set envelope yang ada pada path nodemanager itu juga, sehingga kita bisa jalankan script itu saja. Berikut adalah cara jalankan script untuk set envelope wlst command:
    . ./setWLSTEnv.sh 
  • Jika sudah, maka jalankan scriptnya. Berikut ada command untuk menjalankan scriptnya:
    java weblogic.WLST Arthur_SOAMigrateScript.py (*untuk meng-import List .jar project dari path /u01/apps/oracle/bpel ke SOA Server ).
  • Tunggu hingga proses import/deploy selesai.
  • jika sudah selesai, maka silahkan cek list project anda dengan cara menjalankan script Arthur_SOAMigrateScript.py dengan operasi save_list_tofile() seperti yang sudah saya jelakan pada blog sebelumnya. Pasti list project anda sudah bertambah sesuai dengan list project yang baru saja anda import/deploy menggunakan script diatas.
  • Finish
  • Anda tidak perlu lelah lagi melakukan import satu-satu .jar file anda, karena sekarang anda tinggal jalankan script diatas.
Demikian yang bisa saya bagikan kali ini, semoga bermanfaat dan terimakasih.

Export SOA Composites Menggunakan Python Script

Pada Blog kali ini saya akan membahas bagaimana cara untuk Export SOA Composite menggunakan python script.
Apasih SOA Composite itu?
Untuk teman-teman yang sudah biasa bermain di dunia oracle middleware pasti tidak jarang lagi mendengar SOA Composite. SOA Composite merupakan kumpulan dari service-service yang sudah kita deploy dan di simpan dalam satu app (contoh project BPEL, BPM dan lain-lain).
Ketika kita ingin melakukan export atau download project yang sudah kita deploy ke SOA Server pada umumnya kita harus melakukan export satu-satu. Bagaimana jika project yang akan kita export ada ribuan? apakah kita akan melakukan export satu-satu juga?
Saya rasa itu akan membuat kita pusing dan bukan kerjaan bangat kalau harus export satu-satu .jar file nya.
Nah untuk itulah, saya akan membagikan python script untuk memudahkan kita dalam melakukan export project yang banyak hanya dengan sekali execute file python script.
Langkah-klangkahnya adalah sebagai berikut :
Siapkan python script nya terlebih dahulu.
Ada dua script python, dan anda bisa melihatnya pada gambar di bawah :

  • Script untuk melihat semua list SOA Composite yang ada pada SOA Server.
    Arthur_ListSoaComposites.py
    Dalam file Arthur_ListSoaComposites.py paste command WLST di bawah ini :
    sca_listDeployedComposites("host", "port", "username", "password")
    Ganti host, port, username dan password sesuai dengan host, port, username dan password SOA Server anda.
    Siapkan satu file lagi untuk meng-eksekusi WLST Command diatas, untuk mendapatkan semua list SOA Composites yang ada pada SOA Server anda.
    Arthur_SOAMigrateScript.py (*fungsi save_list_to_file())
    Script diatas berguna untuk mendapatkan semua list project SOA yang ada pada SOA Server anda. List tersebut kemudian akan disimpa pada sebuah file .txt dengan nama fileHandling.txt.
    Anda bisa menentukan kemana path file tersebut akan disimpan, dengan cara menambahkan path terlebih dahulu kemudian di ikuti dengan nama file pada variable file pada script anda.
  • Script untuk melakukan Proses Export SOA Composite
    Arthur_SOAMigrateScript.py (*fungsi export_composites())
    Script diatas terlebih dahulu akan membaca file .txt yang sudah anda buat sebelumnya menggunakan script List SOA diatas. Nah dari file itu Script ini akan mengetahui project mana saja yang akan di export.
    Setelah Membaca file, maka script ini akan otomatis menjalankan WLST Command untuk export SOA composite sebanyak nama project yang tertera pada file anda.
  • Script main function untuk memilih operasi apa yang akan dijalankan oleh Script kita.
    Urutannya adalah kita harus memilih operasi save_list_to_file(), kemudian pilih operasi export_composites().
    Arthur_SOAMigrateScript.py (*fungsi main()).

Langkah untuk menjalankan Script ini juga sangat sederhana :
  • Pastikan anda sudah menyediakan folder kemana semua hasil export-an anda akan disimpan.
  • Dalam Script semua project yang ter-export akan tersimpan ke path : /u01/apps/oracle/bpel/
  • Pastikan anda sudah memasukkan host, username dan password SOA Server sesuai dengan host, username, dan password SOA server anda dengan benar.
  • Pastikan anda mengetahui letak path nodemanager SOA Server anda. Dimana anda akan meletakkan file python script nya di path ini.
  • Jika Anda membuat python Script tersebut pada local anda, maka pastikan anda sudah meng-copy file tersebut ke path nodemanager SOA Server anda.
    untuk melakukan copy dari local ke SOA Server bisa anda lakukan dengan menjalankan command berikut (jangan lupa memasukkan host dan username yang sesuai dengan SOA Server anda):
    scp /Users/toms/Documents/Nostra/ORACLE/DokumentasiTutorial/Arthur_SOAMigrateScript.py user@host:/u01/oracle/config/aserver/JWS_BPM/nodemanager/
  • Sekarang silahkan masuk ke SOA Server anda. Dalam hal ini saya melakukan ssh ke SOA Server saya.
    berikut ada contoh command yang saya jalankan untuk masuk ke SOA server saya menggunakan ssh :
    ssh user@host
  • Silahkan masuk menggunakan command CD menuju path nodemanager anda.
    berikut ada contoh command yang saya jalankan untuk masuk ke nodemanager server saya :
    cd /u01/oracle/config/aserver/JWS_BPM/nodemanager/
  • Pastikan bahwa python Script dan file .txt anda sudah ter-copy ke path nodemanager.
  • Jika sudah, maka sekarang saatnya kita menjalankan script nya.
    Namun, seperti umumnya dalam oracle. Untuk bisa menjalankan WLST Command maka kita harus set envelope wlst command terlebih dahulu.
    Biasanya pada SOA Server yang sudah tersedia, kita langsung bisa menjalankan satu script untuk set envelope yang ada pada path nodemanager itu juga. Berikut ada cara jalankan script untuk set envelope untuk wlst command:
    . ./setWLSTEnv.sh 
  • Jika sudah, maka jalankan scriptnya. Berikut ada command untuk menjalankan scriptnya:
    java weblogic.WLST Arthur_SOAMigrateScript.py (*pilih operasi save_list_to_file() untuk menyimpan List SOA Composite ke file .txt)
    Berikut adalah contoh isi file list .txt yang sudah berhasil ter-create pada folder saya ketika script Arthur_SOAMigrateScript.py dengan pilihan operasi save_list_to_file() di jalankan :
    java weblogic.WLST Arthur_SOAMigrateScript.py (*pilih operasi export_composite() untuk meng-export List SOA Composite dari file .txt ke path /u01/apps/oracle/bpel/)
    Kedua operasi yang ada pada script di atas harus di jalankan satu-satu, setelah script Arthur_SOAMigrateScript.py dengan operasi save_list_to_file() selesai maka dengan command yang sama jalankan script Arthur_SOAMigrateScript.py dan pilih operasi export_composites().
  • Tunggu hingga proses export selesai.
  • jika sudah selesai, maka silahkan masuk ke folder dimana anda menyimpan .jar file hasil export-an dari script anda.
    cd /u01/apps/oracle/bpel/
  • tarrraaaa, maka secara otomatis folder anda akan di isi dengan .jar file yang sudah berhasil ke export.
    Berikut contoh project saya yang sudah berhasil ter-export :
  • Finish
  • Anda tidak perlu lelah lagi melakukan export satu-satu .jar file anda, karena sekarang anda tinggal jalankan script diatas.
Demikian yang bisa saya bagikan kali ini, semoga bermanfaat dan terimakasih.



How to get and insert user LDAP using Java

Before inserting user into LDAP, we must understand why we have to have user in the first place.  The reason on why we have to have user is because this user will be used as admin user for OID-OAM integration.

When creating a user, the attributes and the objectclass should be added. After, we can then proceed to adding a user into OID.

Creating the Attributes Interface - Schema > Attributes > Create new LDAP Attributes Type

When creating the attributes, this is the interface that will pop-up on the screen. you can fill in the necessary values in.

Creating the ObjectClass Interface - Schema > Object Classes > Create new LDAP Object Classes Type

This is the interface when creating an Object class. The purpose of an object class is to group the attributes together into one. For example, attributes can be "name" and "email", and the object class can be name as "Personal Information".
So far, i can only manage to add the attributes and the object classes using ODSM (Oracle Directory Service Manager) and cannot be added through java.

Once the attributes and the objectclass has been added, we can use java to add the user.
1) First in order to create a user you must connect to the ODMS. You must provide the IP Address, username and the password in order to connect.

i.e
        Hashtable<String, Object> env = new Hashtable<String, Object>(11);
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, "ldap://10.0.63.96:3060");
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, "cn=orcladmin");
        env.put(Context.SECURITY_CREDENTIALS, "TelkomSDP2017");
        InitialDirContext ctx = new InitialDirContext(env);
2) Afterward, we have to create an object "BasicAttributes" in order to create a multiple of attributes.
     BasicAttributes attrs = new BasicAttributes();

3) We then proceed to add the object class.
i.e
     Attribute classes = new BasicAttribute("objectclass");
     classes.add("personinfo");

4) After that, add the objectClass attributes to the attributes
i.e 
   attrs.put(classes);

5) Store the other attributes in the attribute set
i.e 
            attrs.put("cn", "test");
            attrs.put("namaexample", "nostra");
            attrs.put("emailexample", "nostra@nostra.com");

6) Add the new entry to the directory server, this will add the user in and also with the attributes and the object class

i.e 
   ctx.createSubcontext("ldap://10.0.63.96:3060/cn=ariexample,cn=Users,dc=telkom,dc=co,dc=id",       attrs);
            System.out.println("User has successfully been created");
RESULT:
The two result shows 3 different type of output.

1)

The 1st output come out from using apache directory studio
2)
The 2nd output comes from using the ODMS, by using this it shows all the values and their attributes.
3)
The 3rd option is by using java. here are steps on how to display the user using java output
1) First in order to display the user you must connect to the ODMS. You must provide the IP Address, username and the password in order to connect.

i.e
        Hashtable<String, Object> env = new Hashtable<String, Object>(11);
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, "ldap://10.0.63.96:3060");
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, "cn=orcladmin");
        env.put(Context.SECURITY_CREDENTIALS, "TelkomSDP2017");
2) we then have to define which user that would like to be shown.
i.e
       DirContext context = new InitialDirContext(env);
            Attributes attributes =                                        context.getAttributes("cn=ariexample,cn=Users,dc=telkom,dc=co,dc=id");

            displayAttributes(attributes);

3) Afterwards, we get all the attributes and their values from the user and display in the output console.
i.e
   public static void displayAttributes(Attributes attributes) {
        if (attributes != null) {
            try {
                for (NamingEnumeration e = attributes.getAll(); e.hasMore();) {
                   
                    Attribute attr = (Attribute) e.next();
                    System.out.println("Attribute name: " + attr.getID());

                    for (NamingEnumeration n = attr.getAll(); n.hasMore(); 
                            System.out.println("value: " + n.next()));
                }
            } catch (NamingException e) {
                e.printStackTrace();
            }
        }
    }





Simple Bar Chart Android Use MPAndroidChart Library

Hallo Guys, kali ini saya akan membahas tentang cara membuat Bar Chart menggunakan
MPAndroidChart library. Mengapa saya memilih ini? karena cara menggunakannya mudah, dan dokumentasi lengkap nanti saya akan sertakan link github nya. Pasti sudah penasarankan seperti apa tampilannya? hehehehhe. Baik kita akan langsung mulai saja.

Pertama - tama , seperti biasa buka android studio dan pilih new Project seperti gambar
di bawah ini :

Jika kita sudah membuat project baru , kita melakukan install library terlebih dahulu dengan penambahan script . pertama pada bagian build.gradle (project) dibaris 18 - 20 , kedua pada bagian build.gradle di baris 28 (app). Masing-masing bisa di lihat pada gambar di bawah ini.

Build.gradle (Project)
Build.gradle (App)

Jika sudah kita lanjut mendesain layout androidnya dengan path nya app/layout/res , kemudian ikuti desain layoutnya seperti gambar di bawah ini.

activity_main.xml (App)

Jika kita lihat seperti gambar diatas, ada atribut layout dengan nama com.github.mikephil.charting.charts.BarChart, artinya yang kita lakukan saat install library telahberhasil serta atribut ini yang memegang peranan dalam membuat tampilan chart/grafik pada android nanti.

Jika kita sudah melakukan pengaturan layout pada android , kita langsung melakukan pengaturan pada bagian java nya, kita mulai dengan path-nya app/java/MainActivity.java, kalian bisa ikuti javanya seperti gambar di bawah ini.
MainActivity.java

Jika sudah , kita bahas satu per satu bagian dari code yang ada , berikut penjelasannya.

Detail Kode Bag 1

Pada baris ke 19 , kita mulai mendifinisikan Bar Chart  dengan membuat objek bar chart , lalu melakukan inisialisai terlebih dahulu.


Detail Kode Bag 2

Pada Baris ke 21 - 27 , kita membuat collection data dengan melakukan pengisian data pada BarEntry, fungsi BarEntry ada dua parameter , parameter pertama untuk isi nilai axis y, parameter kedua untuk pengaturan kolom setiap data, makanya di mulai dari nilai 0 terlebih dahulu.

Pada baris ke  28 , kita melakukan set data pada BarSetData, ini untuk menyimpan data yang sudah kita buat dalam collection java.

Detail Kode Bag 3

Pada Baris 30 - 36 , kita membuat collection data untuk nilai axis x, tidak terlalu seribet dengan collection data pada nilai axis y.

Detail Kode Bag 4

Pada Baris 38, disini kita memsaukan nilai axis x dengan nilai axis y dengan memanggil Bar Data.

Pada Baris 39, kita memasukan semua data yang sudah kita buat kedalam diagram/chart dengan memanggil kembali objek barChart yang kita buat lalu kita melakukan setData pada BarData.

Nah , teman - teman , jika semua sudah selesai , kita lakukan "run" aplikasi android yang kita buat maka akan muncul seperti gambar di bawah ini.

Bar Chart

Nah sangat mudah kan membuat grafiik di android ?  semoga ini bermanfaat ya teman - teman :) .

Referensi :
  • https://github.com/PhilJay/MPAndroidChart/wiki/Setting-Data
  • https://github.com/PhilJay/MPAndroidChart