Create a PAM module in java

I am wondering if it is possible to create a PAM module in java, as opposed to C/C++.
If yes, how would I get started?

java integrates already the PAM concept (which seems comes from sun laboratories and integrated firstly in solaris, i'm right?) in java through the JAAS api.
JAAS is already integrated in java since java 1.4.
so, the PAM concept (pluggable authenticable module) is mapped to the javax.security.auth.spi.LoginModule interface.
so, to add a PAM to your java application, you should provide a LoginModule implementation.
hope it helps,
Charles(jGuard team).

Similar Messages

  • Creating an application module in a Java class

    Hi everyone,
    I'm trying to create an application module from a normal Java class where I don't have access to any HttpSession objects.
    I tried to use the method in the documentation
    appMod = Configuration.createRootApplicationModule(
                        "full.class.Name",
                        "ConfigurationName");
    It's not working though, complaining that it can not find the configuration file which it's trying to locate at full/class/common/bc4j.xcfg.
    This file exists at the same path in the BC4J project which this project has a dependency on in the Project Settings dialog.
    Is this the right way to create an application module? Can someone please provide a reference to an example.
    Thanks

    Thanks Frank, but this example is about a stand-alone application, my problem occurs with an application hosted on the application server.
    I did more experiments and came up with some ideas but unfortunately, I hit a dead end.
    I thought that in order to work around the fact that I cannot set the class loader of the timer, I could change the class loader of the running thread before I create the timer as follows:
    Thread.currentThread().setContextClassLoader(
              this.getClass().getClassLoader());
    I thought this would give me a SecurityException for sure, but strangely enough it worked perfectly.
    Now, all I needed was to move this code from the JSP to my listener. Unfortunately, it didn't work in the listener, also a test that I did in the JSP to make sure that the classloader before and after the above statment is different, showed that in the listener, the classloader of the thread is the same as the one used to load the listener class:
    System.out.println(Thread.currentThread().getContextClassLoader()
              .equals(this.getClass().getClassLoader()));
    I thought, maybe this is a listener thing, but if I do it in the init() method of a servlet that I could specify to load on startup, it could work, but still, it didn't.
    I cannot understand, why is it that the only correct class loader is the one used to load the compiled JSP class?!
    Does anyone have any other ideas?
    Thanks

  • Error creating a new module in OWB

    Hi All,
    I am getting an error while creating a new module using OWB. We are using 11.2. Any Inputs are greatly appreciated. Has any body experienced this problem.
    The error is as follows..
    Internal error: Load Error. PLease contact Oracle support with the stack trace and details on how to reproduce it.
    When I click details I get the following..
    Internal Error: Load Error. Please contact Oracle Support with the stack trace and details on how to reproduce it.
    Internal Error: Load Error. Please contact Oracle Support with the stack trace and details on how to reproduce it.
    Persistent Layer Error:SQL Exception..
    Class Name: ProxyFactory.
    Method Name: loadInstance.
    Persistent Layer Error Message: Exhausted Resultset.
         at oracle.wh.repos.impl.ProxyFactoryGen.loadInstance(ProxyFactoryGen.java:9704)
         at oracle.wh.repos.pdl.foundation.CacheMediator.query(CacheMediator.java:4372)
         at oracle.wh.repos.pdl.foundation.CacheMediator.queryById(CacheMediator.java:4221)
         at oracle.wh.repos.pdl.component.ComponentService.instantiate(ComponentService.java:287)
         at oracle.wh.repos.pdl.component.ComponentService.instantiate(ComponentService.java:232)
         at oracle.wh.repos.pdl.foundation.CMPNameInfo.instantiate(CMPNameInfo.java:656)
         at oracle.wh.repos.impl.environment.CMPLocation.getRTRConnectorContext(CMPLocation.java:822)
         at oracle.wh.repos.impl.environment.CMPLocation.deleteAllRelatedRTRConnectors(CMPLocation.java:691)
         at oracle.wh.repos.impl.environment.CMPLocation.delete(CMPLocation.java:643)
         at oracle.wh.ui.owbcommon.OWBModuleLocationPanel.onFinish(OWBModuleLocationPanel.java:208)
         at oracle.wh.ui.owbcommon.OWBModuleWizardDefinition.onFinish(OWBModuleWizardDefinition.java:65)
         at oracle.wh.ui.integrator.oracle.wizards.DatabaseModuleWizardDefinition.onFinish(DatabaseModuleWizardDefinition.java:89)
         at oracle.wh.ui.owbcommon.OWBWizard.wizardFinished(OWBWizard.java:1007)
         at oracle.bali.ewt.wizard.BaseWizard.processWizardEvent(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.processEventImpl(Unknown Source)
         at oracle.bali.ewt.LWComponent.processEvent(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard.doFinish(Unknown Source)
         at oracle.bali.ewt.wizard.BaseWizard$Action.actionPerformed(Unknown Source)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:246)
         at java.awt.Component.processMouseEvent(Component.java:5517)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3129)
         at java.awt.Component.processEvent(Component.java:5282)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3984)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3819)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1791)
         at java.awt.Component.dispatchEvent(Component.java:3819)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:535)
         at java.awt.Dialog$2.run(Dialog.java:565)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:563)
         at java.awt.Component.show(Component.java:1302)
         at java.awt.Component.setVisible(Component.java:1255)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.bali.ewt.wizard.WizardDialog.runDialog(Unknown Source)
         at oracle.wh.ui.owbcommon.OWBWizard.initialize(OWBWizard.java:866)
         at oracle.wh.ui.owbcommon.OWBWizard.<init>(OWBWizard.java:175)
         at oracle.wh.ui.owbcommon.OWBWizard.<init>(OWBWizard.java:155)
         at oracle.wh.ui.owbcommon.IdeUtils._doLaunchDefinition(IdeUtils.java:1148)
         at oracle.wh.ui.owbcommon.IdeUtils.showWizard(IdeUtils.java:440)
         at oracle.wh.ui.owbcommon.IdeUtils.showWizard(IdeUtils.java:418)
         at oracle.owbimpl.console.GalleryWizards$IDEWizardWrapper.invoke(GalleryWizards.java:485)
         at oracle.ide.wizard.WizardManager.invokeWizard(WizardManager.java:317)
         at oracle.ide.wizard.WizardManager$1.run(WizardManager.java:365)
         at oracle.ide.util.IdeUtil$3.run(IdeUtil.java:1079)
         at oracle.javatools.util.SwingUtils.invokeAfterRepaint(SwingUtils.java:520)
         at oracle.ide.util.IdeUtil.invokeAfterRepaint(IdeUtil.java:1092)
         at oracle.ide.wizard.WizardManager$2.run(WizardManager.java:373)
         at oracle.ide.util.IdeUtil$3.run(IdeUtil.java:1079)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Many Thanks,
    LA

    I think there are some connectors that point to locations that do not exist any more. If you expand the locations in the location navigator and check the connectors under the location in the tree, there will be some that are no longer valid.
    Cheers
    David

  • Populating a table in a function module through java

    Hi,
    We have the following requirement....
    1.we have an RFC "z_hr_mantain_masterdata" which is used generically for updating different infotypes.
    2.In this RFC we have a table "proposed_values" which expects fval, fname, infotype.
    3.we have an iview which takes input for begda, infotype and event.
    4.we have to populate the above table with the following values (1st row)
    i)  infotype - infotype
    ii) fname - "po378-fname" (hard coded)
    iii)fval - begda
    (2nd row)
      i)infotype - infotype
      ii) fname - "po378-event" (hard coded)
      iii)fval - event
    So how can we create a table with the same structure and values in JAVA and send it to R3 function module.
    Any help will be appreciated....
    Thanks,
    Madhuri

    Can we do it through visual composer?
    Is it better to update the table in R3 by sending the values through import parameters (var1, var2 etc) or to create the table structure in JAVA, populate it and send it back.
    Which one will be more generic...
    Thanks,
    Madhuri

  • Basic Doubts Creating/Editing a Module

    Hello there,
    I am a newbie at ATG, and I am trying to understand how does ATG works (I am working with ATG for just a week). I have some conclusions about ATG and I just wanna to confirm that I am doing right.
    Configurations:
    Application Server: WLS (Weblogic Server 11g)
    ATG version: 10.0.3
    Developing Database: Mysql
    Official Database: Oracle
    IDE: Eclipse
    Developing OS: Windows 7 (yes I know... linux is better... but...heh)
    Official OS: Oracle Linux
    Conclusions and Steps I got:
    1. All in ATG is a module
    2. Do I need to create a new module to create a new store or I must to work over crs?
    2.1. I have both, a new module and ReferenceStore under Eclipse IDE with all taglibs and packages to work, I am able to generate a .war of any
    2.2. With this .war I am able to run runAssembler.bat -pack  xxx.ear -m Module XXXECommerce and this generates a .ear
    2.3. With this .ear I am able to do a deployment at WLS. (It runs without error at WLS but the page index.jsp and any other opens blank and a NullPointer occours at dsp tag interpretation)
    Doubts:
    1. Are these conclusions correct?
    2. With my customizations in a .war what must I do if erros occours running runAssembler and deploying?
    3. Does anyone has a tutorial of how to create a new ecommercer site or how to use crs as reference to build a store?
    Thank you!!
    Edited by: onhate on Dec 20, 2011 10:06 AM
    Edited by: onhate on Dec 20, 2011 10:07 AM

    Here I am again... =)
    If I have a developing environment, my local computer... and my client's environment, can I generate the .ears on my local computer and deploy to my client's environment?
    My computer has different configs comparing with client's one, like ports and database (mysql vs oracle), but the servers name are the same. Cause I deployed my .ear on 3 devel computers and it runned all right, but deploying at client's env it gives me this error running my ecommerce index.jsp:
    java.lang.NullPointerException
         at atg.servlet.jsp.DspOptions.getInstance(DspOptions.java:55)
         at atg.taglib.dspjsp.PageTag.doCatch(PageTag.java:734)
         at jsp_servlet.__index._jspService(__index.java:129)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at atg.servlet.GenericFilterService.doFilterChain(GenericFilterService.java:599)
         at atg.servlet.GenericFilterService.handleDoFilter(GenericFilterService.java:462)
         at atg.servlet.GenericFilterService.doFilter(GenericFilterService.java:409)
         at atg.filter.ConditionalDelegatingFilter.doFilter(ConditionalDelegatingFilter.java:91)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:151)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Edited by: Onhate on Dec 21, 2011 10:16 AM
    Edited by: Onhate on Dec 21, 2011 10:16 AM

  • Problem calling two perl modules from java in seperate threads(JVM CRASHES)

    Dear Friends,
    I have one severe problem regarding calling perl modules from java
    I had to call two perl modules simultaneously (i.e.) from two threads,,, but jvm crashes when one of the perl calls is exiting earlier
    I am unable to spot out why ....
    For calling perl from java ...., We are first calling C code from java using JNI and then Perl code from C
    All works fine if we call only one perl call at a time.... If we call them in a synchronized manner the JVM is not crashing .... But we don't want blocking..
    The following is the code snippet
    <JAVA FILE>
    class Sample
         static {
              System.loadLibrary("xyz");  // Here xyz is the library file generated by compiling c code
         public native void call_PrintList();
         public native void call_PrintListNew();
         Sample()
              new Thread1(this).start();     
         public static void main(String args[])
              System.out.println("In the main Method");
              new Sample().call_PrintList();
         class Thread1 extends Thread
              Sample sample;
              Thread1(Sample sam)
                   sample=sam;
              public void run()
                   sample.call_PrintListNew();     
    }<C FILE>
    #include <EXTERN.h>
    #include <perl.h>
    static PerlInterpreter *my_perl;
    static char * words[] = {"alpha", "beta", "gamma", "delta", NULL } ;
    static void
    call_PrintList(){
         printf("\nIn the Call method of string.c\n");
            char *wor[] = {"hello", "sudha", NULL } ;
               char *my_argv[] = { "", "string.pl" };
               PERL_SYS_INIT3(&argc,&argv,&env);
               my_perl = perl_alloc();
                   PL_perl_destruct_level = 1; //// We have mentioned this also and tried removing destruct call
               perl_construct( my_perl );
               perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
              PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
               perl_run(my_perl);
         dSP ;
            perl_call_argv("PrintList",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
    //     perl_destruct(my_perl);
    //          perl_free(my_perl);
    //           PERL_SYS_TERM();
    static void
    call_PrintListNew(){
    printf("In the new call method\n");
    char *wor[] = {"Hiiiiiiiiiiiiiii", "Satyam123333", NULL } ;
            char *my_argv[] = { "", "string.pl" };
            PERL_SYS_INIT3(&argc,&argv,&env);
            my_perl = perl_alloc();
    PL_perl_destruct_level = 1;
            perl_construct( my_perl );
            perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
            PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
            perl_run(my_perl);
            dSP ;
            perl_call_argv("PrintListNew",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
      //      perl_destruct(my_perl);
      //      perl_free(my_perl);
       //     PERL_SYS_TERM();
    void callNew()
    call_PrintListNew();
    void call ( )
    call_PrintList();
    //char *wor[] = {"hello","sudha",NULL};
    /*   char *my_argv[] = { "", "string.pl" };
          PERL_SYS_INIT3(&argc,&argv,&env);
          my_perl = perl_alloc();
          perl_construct( my_perl );
          perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
         PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
          perl_run(my_perl);*/
       //   call_PrintList();                      /*** Compute 3 ** 4 ***/
    /*      perl_destruct(my_perl);
          perl_free(my_perl);
          PERL_SYS_TERM();*/
        }And Finally the perl code
    sub PrintList
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
    sub PrintListNew
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
            }Please help me in this regard

    Dear Friends,
    I have one severe problem regarding calling perl modules from java
    I had to call two perl modules simultaneously (i.e.) from two threads,,, but jvm crashes when one of the perl calls is exiting earlier
    I am unable to spot out why ....
    For calling perl from java ...., We are first calling C code from java using JNI and then Perl code from C
    All works fine if we call only one perl call at a time.... If we call them in a synchronized manner the JVM is not crashing .... But we don't want blocking..
    The following is the code snippet
    <JAVA FILE>
    class Sample
         static {
              System.loadLibrary("xyz");  // Here xyz is the library file generated by compiling c code
         public native void call_PrintList();
         public native void call_PrintListNew();
         Sample()
              new Thread1(this).start();     
         public static void main(String args[])
              System.out.println("In the main Method");
              new Sample().call_PrintList();
         class Thread1 extends Thread
              Sample sample;
              Thread1(Sample sam)
                   sample=sam;
              public void run()
                   sample.call_PrintListNew();     
    }<C FILE>
    #include <EXTERN.h>
    #include <perl.h>
    static PerlInterpreter *my_perl;
    static char * words[] = {"alpha", "beta", "gamma", "delta", NULL } ;
    static void
    call_PrintList(){
         printf("\nIn the Call method of string.c\n");
            char *wor[] = {"hello", "sudha", NULL } ;
               char *my_argv[] = { "", "string.pl" };
               PERL_SYS_INIT3(&argc,&argv,&env);
               my_perl = perl_alloc();
                   PL_perl_destruct_level = 1; //// We have mentioned this also and tried removing destruct call
               perl_construct( my_perl );
               perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
              PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
               perl_run(my_perl);
         dSP ;
            perl_call_argv("PrintList",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
    //     perl_destruct(my_perl);
    //          perl_free(my_perl);
    //           PERL_SYS_TERM();
    static void
    call_PrintListNew(){
    printf("In the new call method\n");
    char *wor[] = {"Hiiiiiiiiiiiiiii", "Satyam123333", NULL } ;
            char *my_argv[] = { "", "string.pl" };
            PERL_SYS_INIT3(&argc,&argv,&env);
            my_perl = perl_alloc();
    PL_perl_destruct_level = 1;
            perl_construct( my_perl );
            perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
            PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
            perl_run(my_perl);
            dSP ;
            perl_call_argv("PrintListNew",  G_DISCARD, wor) ;
    PL_perl_destruct_level = 1;
      //      perl_destruct(my_perl);
      //      perl_free(my_perl);
       //     PERL_SYS_TERM();
    void callNew()
    call_PrintListNew();
    void call ( )
    call_PrintList();
    //char *wor[] = {"hello","sudha",NULL};
    /*   char *my_argv[] = { "", "string.pl" };
          PERL_SYS_INIT3(&argc,&argv,&env);
          my_perl = perl_alloc();
          perl_construct( my_perl );
          perl_parse(my_perl, NULL, 2, my_argv, (char**)NULL);
         PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
          perl_run(my_perl);*/
       //   call_PrintList();                      /*** Compute 3 ** 4 ***/
    /*      perl_destruct(my_perl);
          perl_free(my_perl);
          PERL_SYS_TERM();*/
        }And Finally the perl code
    sub PrintList
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
    sub PrintListNew
                my(@list) = @_ ;
                foreach (@list) { print "$_\n" }
            }Please help me in this regard

  • Creating a plot on a java Frame when a button is clicked

    hi
    I want to create a plot in a java application in a frame when a button is clicked.I mean to say a
    a plot between two single dimensional arrays one as x-axis and the other as y-axis. Can u please suggest me with an example
    Thank u

    JFreeChart

  • Creating a sample report using JAVA SDK

    Hi,
    I am trying to create a sample report using JAVA SDK.
    I slelect 4 "free cells" and pass 4 different strings to it.
    I even slelect the font colour and size. When i run the class and try to view the report in Infoview, I only seeblank blocks without any data. Now if I edit the report from infoview, and save the changes, I am able to see the data.
    My issue is, Why am I not able to see the data when I run the java code.
    Please find teh code below.
    package com;
    import java.awt.Color;
    import java.io.FileOutputStream;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import com.businessobjects.rebean.wi.BinaryView;
    import com.businessobjects.rebean.wi.DataProvider;
    import com.businessobjects.rebean.wi.DataProviders;
    import com.businessobjects.rebean.wi.DataSource;
    import com.businessobjects.rebean.wi.DataSourceObject;
    import com.businessobjects.rebean.wi.DocumentInstance;
    import com.businessobjects.rebean.wi.DocumentLocaleType;
    import com.businessobjects.rebean.wi.FontImpl;
    import com.businessobjects.rebean.wi.FreeCell;
    import com.businessobjects.rebean.wi.HTMLView;
    import com.businessobjects.rebean.wi.OutputFormatType;
    import com.businessobjects.rebean.wi.PageHeaderFooter;
    import com.businessobjects.rebean.wi.Query;
    import com.businessobjects.rebean.wi.Recordset;
    import com.businessobjects.rebean.wi.Report;
    import com.businessobjects.rebean.wi.ReportBody;
    import com.businessobjects.rebean.wi.ReportCell;
    import com.businessobjects.rebean.wi.ReportContainer;
    import com.businessobjects.rebean.wi.ReportElement;
    import com.businessobjects.rebean.wi.ReportEngine;
    import com.crystaldecisions.sdk.framework.CrystalEnterprise;
    import com.crystaldecisions.sdk.framework.IEnterpriseSession;
    import com.crystaldecisions.sdk.framework.ISessionMgr;
    import com.crystaldecisions.sdk.occa.infostore.IInfoObject;
    import com.crystaldecisions.sdk.occa.infostore.IInfoObjects;
    import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
    import com.crystaldecisions.sdk.plugin.CeKind;
    public class Aug7th {
          * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              String CMS = "pundl8136:6400";
              String userID = "srivas";
              String password = "morcom123";
              String auth = "secEnterprise";
              List<String> entire =new ArrayList<String>();
              List<String> country =new ArrayList<String>();
              List<String> resort =new ArrayList<String>();
              IEnterpriseSession enterpriseSession;
              try
                   ISessionMgr mySessionMgr = CrystalEnterprise.getSessionMgr();
                   enterpriseSession = mySessionMgr.logon(userID, password, CMS,auth);
                   if (enterpriseSession != null)
                   {//Create and store useful objects for the session.
                        IInfoStore iStore = (IInfoStore)enterpriseSession.getService("InfoStore");
                        ReportEngine reportEngine = (ReportEngine)enterpriseSession.getService("WebiReportEngine");
                        IInfoObject infoView = null;
                        String str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS WHERE (SI_KIND = '"+CeKind.WEBI+"' OR SI_KIND='FullClient') " +
                        "AND SI_INSTANCE = 'false' AND SI_NAME='Structure Test_001_Java' ORDER BY SI_NAME ASC ";
                        //String str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS ORDER BY SI_NAME ASC ";
                        IInfoObjects objInfoObjectsWIDs = (IInfoObjects) iStore.query(str);
                        System.out.println(objInfoObjectsWIDs.size());
                        IInfoObject objInfoObjectWID = (IInfoObject) objInfoObjectsWIDs.get(0);
                        DocumentInstance doc = reportEngine.openDocument(objInfoObjectWID.getID());
                        DataProviders dps = doc.getDataProviders();
    //                     Retrieve the 1st data provider
                        DataProvider dp = dps.getItem(0);
    //                     Retrieve the universe objects
                        DataSource ds = dp.getDataSource ();
                        Query q = dp.getQuery();
                        Recordset rs = dp.getResult(0);
    //                     0: assume query has one flow
                        rs.first();
    //                     Print the column types. They can be Integer, String,
    //                     or Date.
                        for (int i = 0; i < rs.getColumnCount(); i++) {
                        Class c = rs.getColumnType(i);
                        StringBuffer sbt = new StringBuffer();
                        if ( c.equals(Integer.class) )
                        sbt.append("Integer");
                        if ( c.equals(String.class) )
                        sbt.append("String");
                        if ( c.equals(Date.class) )
                        sbt.append("Date");
                        sbt.append(";");
                        System.out.println(sbt.toString());
                        System.out.println(rs.getColumnCount());
                        while (!rs.isLast()) {
    //                          column names
                             StringBuffer sbn = new StringBuffer();
                             StringBuffer sbd = new StringBuffer();
                             for (int j = 0; j < rs.getColumnCount(); j++) {
                             sbn.append( rs.getColumnName(j).toString() );
                             sbn.append(";");
                             System.out.println("sbn "+sbn.toString());
    //                          data
                             for (int k= 0; k< rs.getColumnCount(); k++) {
                             sbd.append( rs.getCellObject(k).toString() );
                             sbd.append(";");
                             entire.add(rs.getCellObject(k).toString());
                             System.out.println("sbd "+sbd.toString());
                             rs.next();
                        System.out.println(entire.size());
                        for(int i=0;i<entire.size();i++){
                             country.add(entire.get(i));
                             i++;
                             System.out.println("entireList "+entire.get(i));
                             resort.add(entire.get(i));
                        DataSourceObject city = ds.getClasses().getChildByName("Country");
                        DataSourceObject resorts = ds.getClasses().getChildAt(1);
                        dp.runQuery();
                        ReportContainer report = doc.createReport("Resort");
                        PageHeaderFooter header = report.getPageHeader();
                        FreeCell headerCell = header.createFreeCell("Resort Report");
                        PageHeaderFooter footer = report.getPageFooter();
                        FreeCell footerCell = footer.createFreeCell("Report Ends");
                        ReportBody body =  report.createReportBody();
                        for(int k=0;k<resort.size();k++){
                        FreeCell res=body.createFreeCell(resort.get(k));
                        res.getAttachTo();
                        res.setHeight(15d);
                        res.setWidth(30d);
                        Color c = new Color(255,255,255);
                        Color c1 = new Color(255,0,0);
                        FontImpl fnt = (FontImpl)res.getFont();
                        fnt.getDecoration().setTextColor(c1);
                        res.setFont(fnt);
                        //res.deleteAttachment();
                        //res.setAttachTo(body,VAnchorType.BOTTOM,HAnchorType.NONE);
                        doc.applyFormat();
                        doc.refresh();
                        final String l_docToken = doc.getStorageToken();
                        final DocumentInstance l_docToSave = reportEngine.getDocumentFromStorageToken(l_docToken);
                        doc.saveAs("mor31",835,null,null);
                        doc.closeDocument();
                        str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS WHERE (SI_KIND = '"+CeKind.WEBI+"' OR SI_KIND='FullClient') " +
                        "AND SI_INSTANCE = 'false' AND SI_NAME='mor31' ORDER BY SI_NAME ASC ";
                        //String str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS ORDER BY SI_NAME ASC ";
                        objInfoObjectsWIDs = (IInfoObjects) iStore.query(str);
                        System.out.println(objInfoObjectsWIDs.size());
                        objInfoObjectWID = (IInfoObject) objInfoObjectsWIDs.get(0);
                        DocumentInstance doc1 = reportEngine.openDocument(objInfoObjectWID.getID());
                        String token = doc1.getStorageToken();
                        DocumentInstance doc2 = reportEngine.getDocumentFromStorageToken(token);
                        doc2.saveAs("123123", 835, null, null);
                   //     doc.refresh();
                        //doc.save();
                   enterpriseSession.logoff();
              catch(Exception e)
                   e.printStackTrace();

    duplicate post:
    Sample report using JAVA SDK

  • Create crystal report file using JAVA

    Can someone tell me how to a Create crystal report file using JAVA Programming
    I want a very simple example

    Please help me. It's urgent.[http://catb.org/~esr/faqs/smart-questions.html#urgent]
    Be back in an hour or two...

  • I have created a data module in s1000d application of framemaker 10.While publishing it in publication module it says"File does not exist".

    1- I have created a data module in s1000d application of framemaker 10.While publishing it in publication module it says”File does not exist”.
    2- Does FrameMaker 10 supports s1000d 4.1 ?

    See Lorna...it's almost second nature to you now,
    editing those js files! I TOLD you you could do it!
    Mark, it's EERIE that you should say this to me today because this is exactly what I have been thinking! I can put a song on a page with one eye shut now, and I can zip around those files pretty well (except for the recent fiasco where I didn't even look at the right folder). I also notice that the level of my writing is sounding more technical and familiar with digital world jargon. I remember how you told me I could do it, and you were right. You all were right and I feel more knowledgeable and at a point where I suspect that I can take steps on my own. HTML is a strange land, but just being able to edit that .js file and FIND it by navigating for it in Text Edit has made me feel much more competent.
    Before iWeb I didn't realize what Text Edit was for. I used it to take quick fast short notes. I never understood that concept of "opening something up in so and so application." The first time I clicked OPEN in Text Edit, and I saw all those danged files staring at me with beady eyes, I wanted to throw a white hanky and run for the hills. Not any more!
    Lorna in Southern California

  • How to create a movie file of java 3D animation without altering the code?

    Is there a way to create a movie file of a Java 3D animation without altering the source code of the Java 3D animation program???
    Because as what I observed, most of the forum recommends extracting the bufferedimages of the animation. And, then using the bufferedimages to do a movie file. In this way, I will need to add in new code in the animation program in order to extract the bufferedimages.
    So, is there an alternative way?
    My objective is write a program to create movie file of any Java 3D animation.
    Pls advise me. Thanks a million.

    I'm curious as to why FRAPS will record java3d and
    not a java2d app? is there something that Java3d
    sets that makes it recognizable by fraps? or?? could
    someone or messengers ( =D!) explain this for me?Seems that only in JDK 5.0 or later, does the 2D api automatically use a DirectX or OpenGL rendering pipeline (if available).
    Further, these automatic pipelines accelerate polygons and the like, but not low level Graphics2D bit blitting operations.
    There are JOGL apis that allow better control over acceleration, and are considered 'thread safe' (single threaded) whereas DirectX pipelines are not.
    Interesting demos of this here:
    https://jogl-demos.dev.java.net/applettest.html
    and
    http://www.hardcorepawn.com/RandomGL/
    Fraps (commercial) and Taksi (opensource) will reveal that you are actually using acceleration, since they intercept the pipeline at the openGL (and DirectX) level.

  • How to create a "Explorer" like in java

    i'm just wonderin if there's a way on how to create "Windows Explorer" like in Java wherein you can view all your directories with yellow folder icon and also you can view all your files and drives....
    And when you double click the yellow folder icon it will then expand and will show all the subfolders and files ...
    How????
    Thanks!

    Yes, there is a way. Look up JTree in the API.-can you post some code.... i cant figure out on how to use JTree...
    i'm still confused on where will i get the entire directories of my drives...
    thanks

  • Parse errors while creating a Web service from Java class!

    Can anybody tell me please, is it possible to create a Web Service from java class where the input from user is required ?
    I have the following program, which is successfully compiled, but when I'm trying to make a web service in JDeveloper, the following error occurs:
    "Validation failed.
    The implementation class primePackage.isPrime ofport type MyWebService contains parse errors."
    import java.io.*;
    import java.util.*;
    class isPrime
    public static void main (String args[])
    Scanner reader = new Scanner(System.in);
    int n;
    System.out.println ("Enter a number you want to know is it prime or not");
    n=reader.nextInt();
    if (isPrime(n))
    System.out.println ("True");
    else
    System.out.println ("False");
    static boolean isPrime (int n)
    int i=2;
    while (i<=n-1)
    if (n%i==0)
    return false;
    i++;
    return true;
    }

    Hi,
    Can anybody tell me please, is it possible to create
    a Web Service from java class where the input from
    user is required ?Yes, the parameters of your method will be mapped in WSDL.
    But i've some considerations about your code.
    I suggest you change the name of isPrime do Prime, its a good code convention to put the name of class starting with Upper case. and isn't good the name of class equals to name of method.
    I suggest you to change the "static boolean isPrime (int n)" to "public boolean isPrime(int n)" to publish a method as a WebService method it's must be public and not static. After this change try to generate your Web Service.
    Regards.

  • ImportError: no module named java  : While running a scenario (ODI 10.1.3.)

    Hi All,
    When i am running a scenario i am getting the below error in the 'error log ' file....Please let me know any pointers on the same.. its urgent:-
    =========================================================
    [oraodi@apo13100098 error]$ cat SIL_TIMEDIMENSION_CALCONFIG.30402.log
    12/15/11 10:26 AM :
    Session No-> 30402
    Package Name-> SIL_TIMEDIMENSION_CALCONFIG
    Step Name-> SIL_TimeDimension_CalConfig.MCAL_CONFIG_G
    Error Details->
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 2, in ?
    ImportError: no module named java
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    at com.sunopsis.dwg.cmd.e.i(e.java)
    at com.sunopsis.dwg.cmd.e.y(e.java)
    at com.sunopsis.dwg.DwgJv.treatCmd(DwgJv.java)
    at com.sunopsis.dwg.DwgJv.main(DwgJv.java)
    at oracle.odi.Agent.main(Agent.java)
    ===========================================================================================
    Cheers
    Manoj

    Hi Venkat,
    The error got resolved after adding '/usr/kerberos/bin:/usr/local/bin' to my PATH variable.
    cheers
    Manoj

  • How to create a Batch file for java application  ?

    HI,
    How to create a Batch file for java application ?
    And whats the use of creating batch file ?
    Thanks in advance

    [http://static.springsource.org/spring-batch/]
    Assuming you want to develop a batch application rather than actually just create a .bat file ..

Maybe you are looking for

  • Error while creating a package

    When I am creating a package which has 3 procedures(x,y,z) I am getting an error saying "Subprogram or Cursor "y" is declared in a package specification and must be defined in the package body. I have put the code in the package body script but I kee

  • Can we pass delimeted file through PI without converting it to XML ?

    Hi All, I will be getting File from Sender in Inbound Payload as delimitted file and not in XML structure using XI adapter. So can you please suggest on how I need to do mapping as file will be passed as it is and which need to transfer from Sender t

  • Spry Tabbed Panels Keep Shifting

    I have built a page using the Spry Tabbed Panels. I have one set inside of another. The problem is when you click a main tab and then a secondary tab and then roll over the main tabs again the width changes on the secondary tab. I have no idea why it

  • Launching a windows store app after installation using c#

    I am just curious if there is a way i can launch installed windows store applications within an application. I mean when i click an app, it launches if installed or downloads and launch from windows store Thank you...

  • Streams question / file mapping question

    1. I read that I have to close all streams I use. But, on the other hand, in the topic on layering streams (in the same books or tutorials) I see such piece of code: DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStrea