How to call constructor in MXML?

Hi
If I have created a custom component in ActionScript that has non-empty constructor, how do I create this component in MXML?

Alternately, if you can provide a default value for all constructor arguments, you *can* declare the component in MXML. E.g.,
     public class MyPanel extends VBox
         public function DummyComp (title:String='untitled')
You can then use
    <mycomps:DummyComp/>
You'll probably also want to expose a property for title so you can set it after it's constructed. Unfortunately, this makes it pretty much impossible to create immutable properties. If you implement IMXMLComponent (or whatever that interface is called), you'll get a callback for the initialize() method once the component's id and parent container, but this can happen before all properties are initialized (!), which makes it a lot less useful.

Similar Messages

  • How to call one Main MXML from another main MXML file and pass values between them?

    Hi,
    I am trying to populate a datagrid from a XML file ,which I have done successful
    I am able to get data out of the datagrid on clicking on any element
    Now when I click on any element in datagrid I want call a new mxml file which is also have Aplication tag and I want to pass that value of clicked element to it
    This is the code I am using for getting data from XML into data grid in 1st MXML file and the XML file used.
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                    xmlns:s="library://ns.adobe.com/flex/spark"
                     xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"  initialize="exp.send()">
         <fx:Declarations>
             <s:HTTPService id="exp" url="expLab1.xml" result="
    resultHandlerQuestionBar(event)"/>
         </fx:Declarations>
         <s:Panel x="74" y="218" width="485" height="333" title="Work On Configured Experiments" id="p1" fontSize="14" chromeColor="#9BFDAB" dropShadowVisible="false" contentBackgroundColor="#E4EEE6" contentBackgroundAlpha="1.0" backgroundColor="#67B6AC" textAlign="left">
              <mx:DataGrid  x="35" y="33" width="338" height="88" dataProvider="{experimentdetails}" chromeColor="#FCFCFC" contentBackgroundColor="#FFFFFF" selectionColor="#FAFBFD" rollOverColor="#FCFDFF" focusColor="#FCFDFD" itemClick="onItemClick( event );">
                  <mx:columns>
                     <mx:DataGridColumn id="j1" dataField="experimentName" headerText="" itemRenderer="jaya">
                     </mx:DataGridColumn>
                  </mx:columns>
             </mx:DataGrid>
         </s:Panel>
         <fx:Script>
             <![CDATA[
                 import mx.collections.ArrayCollection;
                 import mx.controls.Alert;
                  import mx.events.FlexEvent;
                 import mx.events.ListEvent;
                 import mx.rpc.events.ResultEvent;
                 [Bindable]
                 private var workbenchname:ArrayCollection;
                  //private var a:String;
                 private function resultHandlerQuestionBar(event:ResultEvent):void
                    experimentdetails=event.result.List.experimentList.experiment;  
                 [Bindable]
                 private var experimentdetails:ArrayCollection;
                  private var alert:Alert;
    private var data:String;
                 private function onItemClick( e:ListEvent ):void {
       data= experimentdetails.getItemAt(e.rowIndex).experimentName.toString();
                    alert=Alert.show(experimentdetails.getItemAt(e.rowIndex).experimentName.toString());
             ]]>
         </fx:Script>
    </s:Application>
    and the xml file is:
    <?xml version="1.0" encoding="UTF-8"?>
    <List>
       <workbench>Basic Movement</workbench>
         <experimentList>
           <experiment>
             <experimentName>Distance with varying time</experimentName>
             <Rating>2</Rating>
             <expNO>1</expNO>
           </experiment>
           <experiment>
             <experimentName>Distance with Constant time</experimentName>
             <Rating>1</Rating>
             <expNO>2</expNO>
           </experiment>
           <experiment>
             <experimentName>Time taken while decelerating</experimentName>
             <Rating>3</Rating>
             <expNO>3</expNO>
           </experiment>
          </experimentList> 
    </List>
    Now the code for 2nd MXML is as follows
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                         xmlns:s="library://ns.adobe.com/flex/spark"
                         xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
          <fx:Declarations>
                <!-- Place non-visual elements (e.g., services, value objects) here -->
          </fx:Declarations>
          <s:Label text="lable1" >
          </s:Label>
    </s:Application>

    Check out ExternalInterface class:
    http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_2.html
    If this post answers your question or helps, please mark it as such.
    Greg Lafrance - Flex 2 and 3 ACE certified
    www.ChikaraDev.com
    Flex Training and Support Services

  • How to call methods from .mxml file from actionscript file

    I have a Example.as and a Test.mxml.
    In this Test.mxml, I have a function which is something like:
    public function doTest():void
         Alert.show("testing!");
    How do I from example.as call this function doTest() from Test.mxml?
    I tried declaring public var test:Test inside my Example.as but I'm still unable to call that function out.
    Any idea how?

    Hi Bryant,
    You need to create an instance of the component and then attach it to the display list then only you can access the Controls with in your component other wise the controls and components are not created or initialized that's why you are thrown the null object reference error.
    So you need to do somethink like below:
    var myTestObj:Test = new Test();
    this.addChild(myTestObj); //Adds the component to DisplayList(You need to add this line of code in order to avoid the error)
    myTestObj.doTest();
    If you add your component in mxml then the component will be automatically added to the display list and you dont need to add explicitly to the display list.
    <comp:Test id="myTestObj" />
    And now if in your actionscript you call myTestObj.doTest(); no error occurs and you can see the Alert message.
    Thanks,
    Bhasker

  • How to call the grand parent constructor from the child ??

    Hi All,
    I am having 3 classes.
    Class A.
    Class B extends Class A.
    Class C extends Class A
    i need to call the constructor of ClassA from Class C. how to call ??
    Thanks,
    J.Kathir

    Each class will implicitly call the parent default constructor if you do not call it in the code ie
    super();However you can call any of the parent constructors ie
    class Parent {
        int value;
        Parent(int v) {
            value = v;
        public void display() {
            System.out.println(value);
    class Child extends Parent {
        Child(int v) {
            super(v);
        public static void main(String[] args) {
            Child c = new Child(10);
            c.display();
    }

  • How to call a shell script from a java code

    Hello can any one suggest me how to call a shell script from a java program that takes three parameters.
    i have a shell script (msp_restore_gui) when i run this script in the command line in a RHEL5 ,SUSE10 and Debian machine it works fine .I even tested to call it from a java program and it also worked fine but when i used the same in a J2ee application where the user when clicks the restore button in a webserver this inturn sends the request to a java file named BackupManager.java where i call the shell script.But here it fails.Waiting for your suggestions.If you want i can put the code also here

    yes the script is in /usr/local/mss/tools/backup and the script (msp_restore_gui) is as follows
    #!/bin/sh
    TIMESTAMP=`date +%d_%b_%y-%H-%M`
    touch /var/backups/mss/mss_restore_"$TIMESTAMP".log
    LOGFILE="/var/backups/mss/mss_restore_"$TIMESTAMP".log"
    ### Explode tgz file
    cd /
    # Checks to be done:
    # root login
    # assume he passes the parameter as msp_backup_<timestamp>
    # check for the existence of the .tz and fileList.txt
    # Checking for the root login and if not logged on as root
    # permission will be denied to execute this script
    logmsg(){
    echo "`date`: $*" >> $LOGFILE 2>&1
    echo "$*"
    #usage of this script
    while [ $#  -ne 0 ]
    do
    case $1 in
    -n)
    shift
    ARCHIVE_NAME=`find / \( -name "$1.tz" -o -name "$1.tgz" \) 2>/dev/null`
    FILE_NAME=`find / -name $1_filesList.txt 2>/dev/null`
    if [ x$ARCHIVE_NAME = x -a y$FILE_NAME = y ]
    then
    logmsg "ERROR: Files not found, Restore cannot proceed"
    usage
    else
    tar tvzf $ARCHIVE_NAME > /dev/null 2>&1
    if [ $? -ne 0 ]
    then
    echo "ERROR: The tar file $ARCHIVE_NAME is not proper. Restore cannot proceed"
    exit 1
    else
              echo "Backedup files are present, proceeding with restore......" >> $LOGFILE 2>&1
    fi
    fi
    usage
    SKIP_CLEANUP=1
    STATUS=1
    exit
    esac
    shift
    done
    rm -rf ./newfile
    curr_ver_file="/usr/local/mss/etc/version"
    /usr/local/mss/tools/backup/check_version $curr_ver_file $FILE_NAME
    ret_code=$?
    echo "Exit value of check_version is $ret_code"
    if [ "$ret_code" != 0 ]
    then
    logmsg "MSP Version not matching. Exiting from restore now...."
    errormsg=`cat /usr/local/mss/temp/ver_err_mesg`
    logmsg $errormsg
    rm -f /usr/local/mss/temp/ver_err_mesg
    exit 1
    else
    echo "Version check is successful"
    fi
    #### ShutDown MSS########
    /etc/init.d/mss stop
    sleep 2
    ### Shutdown semm
    /etc/init.d/semm stop
    sleep 2
    rm -rf `grep -v "MSP Version:" $FILE_NAME`
    logmsg "MSP restore in progress......"
    tar mxvfz $ARCHIVE_NAME >> $LOGFILE
    sleep 5
    ### Call mysql restore script
    /usr/local/mss/bin/mysql_alldb_restore.sh >> $LOGFILE 2>&1
    if [ $? -ne 0 ]; then
    logmsg "Database restore Failed. Cannot proceed further"
    exit 1 ;
    else
    logmsg "Database restore Succeeded."
    fi
    ### Remove DB Dump Files
    rm -f /var/lib/mysql-dumps/*
    ### Trigger cleanup of airprism database tables
    #touch /usr/local/mss/airprism/server/config/reinitdb
    ### Trigger re-import of software packages
    touch /usr/local/mss/swdepot/reimport
    ### Remove log files under the "apps" directory
    find /usr/local/mss/apps -name '*.log*' | xargs rm -f
    find /usr/local/mss/logs -follow -name '*[._]log*' | xargs rm -f
    if [ $? -ne 0 ]; then
    logmsg "MSP restore Failed. Cannot proceed further"
    exit 1 ;
    else
    logmsg "MSP restore Succeeded."
    fi
    # reinstall_patch is touched so that patches are re-installed after restoring of MSP.
    touch /usr/local/mss/patch/bin/reinstall_patch
    ##### Start MSS
    logmsg "restarting MSP server "
    /etc/init.d/mss start
    sleep 5
    ### Start semm
    /etc/init.d/semm start
    sleep 5
    logmsg "MSP server is now restarted"
    my jsp page backup.jsp is as follows
    <%@taglib uri="portlet.tld" prefix="uif" %>
    <%@taglib uri="msp-console.tld" prefix="msp" %>
    <uif:defineObjects/>
    <%@page import="javax.portlet.*" %>
    <%@ page import="java.util.Date" %>
    <%@ page import="java.util.Vector" %>
    <%@ page import="java.text.DateFormat" %>
    <%@ page import="com.symbol.mss.console.admin.backup.BackupManager" %>
    <%@ page import="com.symbol.mss.console.admin.system.SystemInfoPortlet" %>
    <%
         String STYLE_NAME = request.getParameter("style");
         if (STYLE_NAME == null) STYLE_NAME = STYLE_DEFAULT;
         final String ua = request.getHeader("User-Agent");
         BackupManager helper = null;
         PortletSession portletSession = renderRequest.getPortletSession();
         helper = (BackupManager)portletSession.getAttribute("helper");
         if (helper == null) {
              //System.err.println("Created new BackupManager");
              helper = new BackupManager();
              portletSession.setAttribute("helper", helper);
         final BackupManager backupManager = helper;
         String action = "";
         final String backupName = renderRequest.getParameter("backupName");
         String completePath = backupManager.getBackupDir() + backupName + backupManager.getBackupFileExt();
         if (backupName != null) {
              action = "backup";
         if(backupManager.backup(backupName)) {
              SystemInfoPortlet.beginRestartMSP();
              } else {
                   action = "backuperror";          
         final String cmd = renderRequest.getParameter("submitButton");
    final String selectedBackup = renderRequest.getParameter("selectedBackup");
    int tarFileStatus =0;
    String backupTarFile ="";
    String backupFileList ="";
         if ("Restore".equals(cmd)) {
    if (selectedBackup != null) {
         tarFileStatus = backupManager.verifyTarFile(selectedBackup);
         //backupTarFile = backupManager.getRestoreFile(Integer.parseInt(selectedBackup));
         //backupFileList = backupTarFile.substring(0, backupTarFile.lastIndexOf(backupManager.getBackupFileExt()))+"_filesList.txt";
                   if (tarFileStatus == 0){
         action = "restore";
         backupManager.restore(selectedBackup);
                        SystemInfoPortlet.beginRestartMSP();
              } else {
                   action = "error";
    } else if ("Remove".equals(cmd)) {
    backupManager.remove(Integer.parseInt(selectedBackup));
         DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
         PortletURL restoreURL = renderResponse.createActionURL();
    %>
    <%@ include file="/jsp/core/constants.jspf" %>
    <% if (action.length() > 0) {
         if ("backup".equals(action))
    %>
         <p>The MSP Appliance has been shut down in order to create the <%=backupName %> backup file,
              and will automatically restart as soon as the file has been created.
              To continue your work, please log out of the MSP Console, wait for the appliance
              to restart, and then log back in. The amount of time you'll have to wait for the
              MSP Appliance to come back online depends on the amount of information you have
              stored in the MSP Database.</p>
         <p>The full pathname for the backup file is: <%=completePath %></p>     
    <%     }
         else if ("restore".equals(action))
    %>
         <p>The MSP Appliance has been shut down in order to restore from the <%=backupTarFile%> backup file,
              and will automatically restart as soon as the restore is complete.
              To continue your work, please log out of the MSP Console, wait for the appliance
              to restart, and then log back in. The amount of time you'll have to wait for the
              MSP Appliance to come back online depends on the amount of information you have
              stored in the MSP Database.</p>     
    <%     } else if ("backuperror".equals(action)) { %>
              <p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> Errors occurred while taking back up of MSP. Please see the backup service log file for more details.
              </P>
    <%     } else if ("error".equals(action)) {
              if (tarFileStatus == 4) { %>
                   <p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file <%=backupTarFile%> contains errors. This backup can't be restored. Please restore a valid back up.
                   </P>
              <%} else if (tarFileStatus == 3) { %>
                   <p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file list <%=backupFileList %> is missing. This file is required to restoring backup. Please get the backup file list and proceed with restoring backup.</p>
              <%} else if (tarFileStatus == 2) { %>
                   <p> <img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file <%=backupTarFile%> contains errors and the backup file list <%=backupFileList%> is missing. This backup can't be restored. </p>
              <%} %>
    <%     }
    } else { %>
    <p><strong>Note</strong>: Both backup and restore will shut down MSP temporarily. MSP will be unable to collect data from devices, send notifications, or provide MSP Console access during this time. When the backup or restore operation is complete, MSP will come back online automatically.</p>
    <h3>Backup</h3>
    <form action="<%= restoreURL.toString() %>" method="post">
    <p>Please provide a name for your backup. MSP will provide the date automatically in the list of backups.</p>
    <p><label for="<uif:namespace />backupName">Name</label> <input type="text" name="<uif:namespace />backupName" id="<uif:namespace />backupName" size="20" maxlength="256" /> <input type="submit" name="<uif:namespace />submitButton" value="Back up now" onclick="return <uif:namespace/>validateName()"/></p>
    </form>
    <h3>Restore</h3>
    <p>This will restore all databases (device assets, collected device data, software packages, policies, etc.) to their state as of the time the backup was made. Changes since then <em>except for backups</em> will be destroyed.</p>
    <%
    Vector restoreList = helper.getRestoreEntries();
    Vector restoreDates = helper.getRestoreDates();
    Vector restoreVersions = helper.getRestoreVersions();
    Vector filesStatus = helper.getBackupFilesStatus();
    %>
    <% if (restoreList.size() == 0) { %>
    <p>There are no backups currently available.</p>
    <% } else { %>
    <form action="<%= restoreURL.toString() %>" method="post">
    <table class="input-radios" id="<uif:namespace />existingBackups">
    <thead>
    <tr>
    <th></th>
    <th>Name</th>
    <th>Date</th>
    <th>MSP Version</th>
    <th>Remarks </th>
    </tr>
    </thead>
    <tfoot>
    <tr>
    <td colspan="4" class="actionsOnSelected">
    <input type="submit" name="<uif:namespace />submitButton" value="Restore" onclick="return confirm('This action requires MSP and all related services to be shut down. Console will be unavailable if the request is submitted. The server will restart automatically once restore has been completed.');" />
    <input type="submit" name="<uif:namespace />submitButton" value="Remove" onclick="return confirm('This action will remove the backup archive. You will no longer be able to restore this backup. Continue?');" />
    </td>
    </tr>
    </tfoot>
    <tbody><%-- First one (most recent) is checked by default. Every other row has class="portlet-section-alternate". Note that each ID must be unique and must match the value of the "for" attribute on the corresponding "label" element. --%>
    <%
    for (int i = 0; i < restoreList.size(); i++) {
    %>
    <tr <%= (i % 2 == 1) ? " class=\"portlet-section-alternate\"" : "" %>>
    <td><input type="radio" name="<uif:namespace />selectedBackup" value="<%= i %>" id="<uif:namespace />selectedBackup-<%= i %>" <%= (i == 0) ? "checked=\"checked\"" : "" %> /></td>
    <td><label for="<uif:namespace />selectedBackup-<%= i %>"><%= restoreList.elementAt(i) %></label></td>
    <td><%= dateFormat.format((Date)restoreDates.elementAt(i)) %></td>
    <td><%= restoreVersions.elementAt(i) %></td>
    <td><%= filesStatus.elementAt(i) %></td>
    </tr>
    <%
    %>
    </tbody>
    </table>
    </form>
    <% } %>
    <% } %>
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    function <uif:namespace/>validateName() {
    var name =document.getElementById("<uif:namespace />backupName");
    var msg= "<msp:i18n key="BackupMsg"/>";
    var str=name.value;
    var re = /^[A-Za-z0-9_]+$/;
    if (!str.match(re)) {
         alert(msg);
         name.focus();
         return false;
         } else {
    return confirm('This action requires MSP and all related services to be shutdown. Console will be unavailable if the request is submitted. The server will restart automatically once backup has been completed.');
    //--><!]]>
    </script>
    and my BackupManager.java is as follows where the code in bold and italic is called the restore()
    //============================================================================
    // Symbol Technologies P R O P R I E T A R Y S O U R C E C O D E
    // C O N F I D E N T I A L
    // Copyright (c) 2003 Symbol Technologies. All Rights Reserved.
    // All information contained herein is the property of Symbol Technologies,
    // or its Licensors, and are protected copyrights and trade secrets, and may
    // be covered by U.S. patents. Any reproduction or dissemination of any
    // portion of this document, of the software, or other works derived from it
    // is strictly forbidden unless prior written permission is obtained from
    // Symbol Technologies.
    //============================================================================
    package com.symbol.mss.sdf.services.backup;
    import java.io.*;
    import java.sql.Time;
    import java.text.DateFormat;
    import java.util.logging.FileHandler;
    import java.util.logging.Formatter;
    import java.util.logging.LogRecord;
    import java.lang.Process;
    import java.util.*;
    import org.apache.avalon.framework.configuration.Configurable;
    import org.apache.avalon.framework.configuration.Configuration;
    import org.apache.avalon.framework.configuration.ConfigurationException;
    import org.apache.avalon.framework.logger.LogEnabled;
    import org.apache.avalon.framework.logger.Logger;
    import com.symbol.mss.sdf.admin.AdministratorService;
    import com.symbol.mss.sdf.backup.*;
    import com.symbol.mss.sdf.data.*;
    * @author nramaiah
    * Service to perform scheduled backups of the system state.
    public class BackupManager implements BackupService, DataHandler,
    LogEnabled, Configurable {
    // MSS Home Path
    private static String mssHome = System.getProperty("phoenix.home", File.separator + "usr" +
    File.separator + "local" +
    File.separator + "mss" +
    File.separator);
    // Backup related definitions
    private static final String BACKUP_LIST_FILE_NAME = "conf" + File.separator + "files_to_backup.txt";
    private static final String BACKED_UP_LIST_FILE_NAME_SUFFIX = "_filesList.txt";
    private static final String BACKUP_LOCATION = File.separator + "var" + File.separator + "lib" +
    File.separator + "mss-backups" + File.separator;
    private static final String BACKUP_PARTITION = File.separator + "var" + File.separator + "lib";
    private static final String VERIFY_BACKUP = File.separator + "usr" + File.separator + "local" +
                                                           File.separator + "mss" + File.separator+"tools"+
                                                           File.separator+"backup"+File.separator+"verifyBackup.sh";
    // DB backup/restore related definitions
    private static final String DB_DUMP_LOCATION = File.separator + "var" + File.separator +
    "lib" + File.separator +
    "mysql-dumps" + File.separator;
    private static final String DB_BACKUP_SCRIPT = "bin" + File.separator + "mysql_alldb_backup.sh";
    private static final String DB_RESTORE_SCRIPT = "bin" + File.separator + "mysql_alldb_restore.sh";
    // Private variables
    private AdministratorService m_admin = null;
    private Logger m_logger = null;
    private String backupLocation = null;
    private String backupListFileName = null;
    private String backupPartition = null;
    private int backupPartitionLimit = 90;
    private String dbDumpLocation = null;
    private String dbBackupScript = null;
    private String dbRestoreScript = null;
    private List servicesBackupList = null;
    private String tarFileExtension =".tgz";
    private String errFileExtension =".err";
    private int exitValue=0;
    * Default Constructor
    public BackupManager() {
    servicesBackupList = new ArrayList();
    * Set the administrator service implementation. Link established by Broker service.
    * @param admin reference to an implementation of AdministratorService
    public void setAdministrator(AdministratorService admin) {
    m_admin = admin;
    * Set the job publisher service implementation. Link established by Broker service.
    * @param jobPublisher reference to an implementation of JobPublisherService
    public void setJobPublisher(DataChannel jobPublisher) {
    jobPublisher.subscribe(this);
    * Gets the backup manager object.
    * @return backup manager object
    public BackupService getBackupService() {
    return this;
    * Service lifecycle method.
    * @param logger logger object to be used by the service
    public void enableLogging(Logger logger) {
    m_logger = logger;
    * Service lifecycle method.
    * @param configuration service configuration object
    public void configure(Configuration configuration) throws ConfigurationException {
    // Verify MSS Home path
    if (!mssHome.endsWith(File.separator))
    mssHome += File.separator;
    // Get the location where the backup file needs to be placed
    backupLocation = configuration.getChild("BackupLocation").getValue(BACKUP_LOCATION);
    // Verify backup directory path
    if (!backupLocation.startsWith(File.separator))
    backupLocation = mssHome + backupLocation;
    if (!backupLocation.endsWith(File.separator))
    backupLocation += File.separator;
    // Get the file listing the files/directories to be backed up
    backupListFileName = configuration.getChild("FilesList").getValue(BACKUP_LIST_FILE_NAME);
    // Verify backup list file name path
    if (!backupListFileName.startsWith(File.separator))
    backupListFileName = mssHome + backupListFileName;
    // Get the partition where the backups are kept
    backupPartition = configuration.getChild("BackupPartition").getValue(BACKUP_PARTITION);
    // Verify backup partition path
    if (!backupPartition.startsWith(File.separator))
    backupPartition = File.separator + backupPartition;
    if (backupPartition.endsWith(File.separator))
    backupPartition = backupPartition.substring(0, (backupPartition.length()-1));
    // Get the limit on the amount of free space on the backup partition
    backupPartitionLimit = configuration.getChild("BackupPartitionLimit").getValueAsInteger(backupPartitionLimit);
    // Get the location where the DB dump files will be placed
    dbDumpLocation = configuration.getChild("DBDumpLocation").getValue(DB_DUMP_LOCATION);
    // Verify DB dump directory path
    if (!dbDumpLocation.startsWith(File.separator))
    dbDumpLocation = mssHome + dbDumpLocation;
    if (!dbDumpLocation.endsWith(File.separator))
    dbDumpLocation += File.separator;
    // Get the name of DB dump backup script
    dbBackupScript = configuration.getChild("DBBackupScript").getValue(DB_BACKUP_SCRIPT);
    // Verify backup script path
    if (!dbBackupScript.startsWith(File.separator))
    dbBackupScript = mssHome + dbBackupScript;
    // Get the name of DB dump restore script
    dbRestoreScript = configuration.getChild("DBRestoreScript").getValue(DB_RESTORE_SCRIPT);
    // Verify restore script path
    if (!dbRestoreScript.startsWith(File.separator))
    dbRestoreScript = mssHome + dbRestoreScript;
    * Individual services can supply a list of files/directories to be backed up.
    * These are files apart from the files specified in conf/files_to_backup.txt and
    * will be backed up as well.
    * @param files list of files/directories
    public void filesToBackup(List files) {
    synchronized(this) {
    if (files != null) {
    if (files.size() > 0) {
    // Add the list contents to the current backup list
    for (int i=0; i<files.size(); i++) {
    String tStr = (String)files.get(i);
    // Check for absolute or relative path
    if (tStr.startsWith(File.separator))
    servicesBackupList.add(tStr);
    else
    servicesBackupList.add(mssHome + tStr);
    else
    m_logger.info("Empty list of filenames. Nothing added.");
    else
    m_logger.info("Null list of filenames. Nothing added.");
    * Individual services can supply a list of files/directories to be backed up.
    * Specified files will be added to the file defining the list of files to be backed up.
    * @param files list of files/directories
    private void persistFilesToBackup(List files) {
    synchronized(this) {
    if (files != null) {
    if (files.size() > 0) {
    // Add the list of files provided to the end of file
    try {
    File file = new File(backupListFileName);
    if ((file == null) || (!file.exists()))
    file.createNewFile();
    // Seek to the end of the file
    RandomAccessFile rFile = new RandomAccessFile(file, "rw");
    if (rFile != null) {
    rFile.seek(rFile.length());
    // Write the list contents to the file
    for (int i=0; i<files.size(); i++) {
    String tStr = (String)files.get(i);
    // Check for absolute or relative path
    if (tStr.startsWith(File.separator))
    rFile.writeBytes(tStr + "\n");
    else
    rFile.writeBytes(mssHome + tStr + "\n");
    else
    m_logger.error("Error opening file " + backupListFileName);
    rFile.close();
    catch (Exception ex) {
    ex.printStackTrace();
    m_logger.error("Error adding entries to file " + backupListFileName, ex);
    else
    m_logger.info("Empty list of filenames. Nothing added.");
    else
    m_logger.info("Null list of filenames. Nothing added.");
    * Command to be run during the backup process. Individual services can
    * provide shell commands that will be executed before backing up the files.
    * @param command shell command to be executed
    private void runCommand(String command) {
    * Creates a shell script at the specified location that will backup the
    * files listed in the List passed in.
    * @param scriptFileName location where the script needs to be created
    * @param backupFileName name for the tar file being created
    * @param backupList list of files to be backed up
    private void createBackupScript(String scriptFileName, String backupFileName, ArrayList backupList) throws Exception {
    // Create a new StringBuffer to build the contents to be written to the script file
    StringBuffer buffer = new StringBuffer();
    // Add the initial comment in the start script
    buffer.append("#!/bin/sh\n" + "set -x\n\n");
    // Check if the partition has enough space
    buffer.append("### Check if the partition has enough space\n" +
    // "diskUsed=`df -k | grep \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1`\n" +
                   " diskUsed=`df -k \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1 | grep -v Use`\n" +     
    "echo \"Partition " + backupPartition + " is $diskUsed% used.\"\n" +
    "if [ \"$diskUsed\" -lt \"" + backupPartitionLimit + "\" ]\nthen\n" +
    " echo \"Starting backup...\"\n\n");
    // Shutdown semmd
    buffer.append(" ### Shutdown semm\n" + " /etc/init.d/semm stop\n" +
    " sleep 2\n\n");
    // MSP Limited release and earlier builds stop mysql DB and backup the
    // /var/lib/mysql directory as it is. Starting MSP 1.0 GA release, mysql
    // dump script will be integrated which will create sql scripts to
    // restore the database.
    // Check if mysql dump creation script exists
    File mysqlDumpScript = new File(dbBackupScript);
    if (mysqlDumpScript.exists()) {
    // MSP 1.0 GA and later releases
    // Run the script that will generate sql scripts that would re-create the DB as it is
    buffer.append(" ### Call mysql dump script\n" +
    " " + dbBackupScript + "\n\n");
    else {
    // MSP Limited release
    // Add command to shutdown mysql
    buffer.append(" ### Shutdown mysql\n" + " /etc/init.d/mysql stop\n\n");
    // Change to root directory and create the tgz file
    buffer.append(" ### Create tgz file\n" + " cd /\n");
    // Build up the tar file name from the current date and time
    String fileName = null;
    if ((backupFileName != null) && (backupFileName.length() > 0))
    fileName = backupFileName;
    else {
    // File name not provided by user, build one using the timestamp
    Calendar cal = Calendar.getInstance();
    Date date = cal.getTime();
    fileName = "MSS-"
    + DateFormat.getDateInstance().format(date).replaceAll(" ", "").replaceAll(",", "")+ "-"
    + (new Time(cal.getTimeInMillis())).toString().replaceAll(":", "").substring(0,4);
    String tarFileName = fileName + ".tgz";
    // Get the current MSP Version
    String mspVersion = getMSPVersion();
    // Gather all the files to be backed up. Add them to the tar command and
    // also dump them into the file maintaining the list of files being backed up
    String listStr = "";
    for (int i=0; i<backupList.size(); i++)
    listStr += (String)backupList.get(i) + "\n";
    // Dump the current MSP version and the list of files being backed up into a manifest file
    String listFileName = fileName + BACKED_UP_LIST_FILE_NAME_SUFFIX;
    RandomAccessFile file = new RandomAccessFile(backupLocation + listFileName, "rw");
    m_logger.info("List of files/directories being backed up:\n" + listStr);
    file.writeBytes("### MSP Version: " + mspVersion + " ###\n");
    file.writeBytes(listStr);
    file.close();
    // Add the tar command to the script
    buffer.append(" echo \"Creating " + backupLocation + tarFileName + "...\"\n" +
    " tar cvhfz " + backupLocation + tarFileName + " `grep -v \"MSP Version:\" " +
    backupLocation + listFileName + "`\n\n");
    // Check if free space on the backup partition has reduced below the limit
    // If enough space left, backup is retained, "mss" is made the owner of the files,
    // "backup" is made the group the files belong to,
    // permissions changed to be "0660" and
    // backup action declared a success
    // Else, backup files are deleted and declared a failure
    buffer.append(" ### Check if the partition has enough space left\n" +
    //" diskLeft=`df -k | grep \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1`\n" +
    " diskLeft=`df -k \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1 | grep -v Use`\n" +
    " echo \"Partition " + backupPartition + " is $diskLeft% used.\"\n" +
    " if [ \"$diskLeft\" -gt \"" + backupPartitionLimit + "\" ]\n" +
    " then\n" +
    " ### Failure\n" +
    " echo \"Partition " + backupPartition + " does not have enough space.\"\n" +
    " echo \"Backup " + backupLocation + tarFileName + " will be removed.\"\n" +
    " rm -f " + backupLocation + fileName + "*\n" +
    " echo \"Backup Failed.\"\n" +
    " else\n" +
                        " tar tvzf " + backupLocation + tarFileName + " > /dev/null 2>&1\n" +
    " if [ ! -s " + backupLocation + tarFileName + " -o $? -ne 0 ] \n" +
                        " then\n" +
                        " echo \"MSP Backup operation is not successful. The tar file " + backupLocation + tarFileName + " contains errors.\"\n" +
                        " echo \"Please take the backup again\"\n" +
                        "     touch "+backupLocation+fileName+".err\n" +
    " else \n" +
    " ### Success\n" +
    " ### Change the owner, group and permissions for the backup files\n" +
    " chown mss " + backupLocation + fileName + "*\n" +
    " chgrp backup " + backupLocation + fileName + "*\n" +
    " chmod 0660 " + backupLocation + fileName + "*\n" +
    " echo \"Backup Completed.\"\n" +
    " fi\n" +
    " fi\n\n");
    // MSP Limited release and earlier builds re-start mysql. Starting
    // MSP 1.0 GA release, mysql is not stopped and so re-start is not
    // needed. sql scripts created by the dump script get packed into
    // the tar file and so are deleted.
    // Check if mysql dump creation script exists
    if (mysqlDumpScript.exists()) {
    // MSP 1.0 GA and later releases
    // Remove DB dump files
    buffer.append(" ### Remove DB Dump Files\n" + " rm -f " + dbDumpLocation + "*\n\n");
    else {
    // MSP Limited release
    // Start mysql
    buffer.append(" ### Start mysql\n" + " /etc/init

  • How to call a action on page load in jsf

    Hi all,
    i am having a JSF page where i want to display the records from the datatable. I have a method in bean which call database and gets the list of records. If i call this method from a link (action on this link) present on this page i can display the records on this page.
    But i want to display these records at the time of page load only. How we can do this? How to call a action at the time of page load?
    Thanks in adv.

    If i am calling the database class and get the list in constructor only i am able to display list in the datatable on page load. This works fine. But the requirment is that if there are no records in the list display a error page with message-No records found! . But how i can navigate from the constructor to error page?
    Like-
    class MyBeam{
    MyBean{
    private List requestVOList = null;
    MyDao dao = new MyDao() //for fetching list from DB
    List records = dao.getList()  //get list from dao class
    if(records==null)
        //Navigate to error page. How to do this navigation here?
    else
        requestVOList  = records;
    //setter/getters for requestVOList 
    }

  • How to call AIAAsyncErrorHandlingBPELProcess in my custom BPEL Process

    Hello
    We want to use AIA Foundation pack Error Handling capability to our SOA Interface. I installed & configured Foundation Pack (Notification). I would like to know
    1) How to invoke AIAAsyncErrorHandlingBPELProcess in my interface?
    2) What variables to pass?
    3) What error tables to look?
    4) Any other configuration I need to do before I start to invoke AIAAsyncErrorHandlingBPELProcess ?
    As this would be the first time we would be using AIA(FP). If you have any samples - would you share?
    Thanks
    Babu

    1) How to invoke AIAAsyncErrorHandlingBPELProcess in my interface?
    Its like calling a webservice endpoint, you need to construct AIAFault (found in meta.xsd) and then pass it to AIAAsyncErrorHandlingBPELProcess.
    2) What variables to pass?
    You have to construct AIAFault variable.
    3) What error tables to look?
    You can see WL JMS topic - AIAErrorTopic (configured - OOB after installing FP)
    4) Any other configuration I need to do before I start to invoke AIAAsyncErrorHandlingBPELProcess ?
    You might want to look @ AIA error notificaiton setup (using the AIAApplication - setup pages available ). But its optional, i.e. if you do not setup anything, still the default values will be picked up from the AIAConfigurationProperties.xml file.
    You can look @ AIADemo that gets shipped with FP for more information on how to call AIAAsyncErrorHandlingBPELProcess. You could also use AIA Service Constructor JDeveloper plugin which will autogenerate lot of code for you including EH, CAVS code.

  • How to call webservice?

    Hello,
    i am trying to call webservice.i tryed  following code for calling webservices via actionscript.it is givind the response.but it is not giving correct response.
    is this correct way to call webservice?is there other way to call webservice?can anybody tell me,how to call webservice?
    <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”vertical” width=”420″ height=”380″ xmlns:net=”flash.net.*”>
    <mx:Script><![CDATA[
    import mx.rpc.soap.LoadEvent;
    import mx.rpc.AbstractOperation;
    import mx.controls.Alert;
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.soap.Operation;
    import mx.rpc.soap.WebService;
    private var serviceURL:String = "http://localhost:7080/icon-ws/services";
    private var wsdlURL:String = "http://localhost:7080/icon-ws/bulkUpload.wsdl";
    private function callWS():void {
    var service:WebService = new WebService(serviceURL, serviceURL);
    service.wsdl = wsdlURL;
    service.loadWSDL();
    var oper:Operation = service.getOperation("BulkUpload") as Operation;
    oper.addEventListener("result", resultHandler);
    oper.addEventListener("fault", faultHandler);
    oper.send();
    public function resultHandler(event:ResultEvent):void {
    Alert.show("Result returned"+ event.result.toString());
    public function faultHandler(event:FaultEvent):void {
    Alert.show("fault: "+ event.toString());
    ]]></mx:Script>
    <mx:Button id=”selectBut” label=”CALL webservice” click=”callWS()”/>
    </mx:Application>

    sorry for my english. I expect you understand me...
    I do that extended sp 
    Code Block
    use atdb_main_test
    Declare @Object as Int;
    Declare @ResponseText as Varchar(8000);
    DECLARE @login VARCHAR(50);
    DECLARE @user_passwd VARCHAR(50)
    Exec master..sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
    Exec master..sp_OAMethod @Object, 'open', NULL, 'get', 'http://172.xx.xx.xx:wwww/account.asmx?op=CreateEquipementMacAddress', 'false'
    EXEC master..sp_OASetProperty @Object, 'user_login', @login
    EXEC master..sp_OASetProperty @Object, 'user_passwd', @user_passwd
    EXEC master..sp_OASetProperty @Object, 'p_nb_poste', 1
    EXEC master..sp_OASetProperty @Object, 'p_id_site', 91400
    EXEC master..sp_OASetProperty @Object, 'p_id_type_poste', 83
    EXEC master..sp_OASetProperty @Object, 'p_adresse_mac', null
    EXEC master..sp_OASetProperty @Object, 'p_num_serie', null
    EXEC master..sp_OASetProperty @Object, 'login', null
    EXEC master..sp_OASetProperty @Object, 'passwd', null
    EXEC master..sp_OASetProperty @Object, 'default_gateway', null
    EXEC master..sp_OASetProperty @Object, 'ip', null
    EXEC master..sp_OASetProperty @Object, 'bCreateIPPhone', 'false'
    EXEC master..sp_OASetProperty @Object, 'vlanId', 0
    Exec master..sp_OAMethod @Object, 'send'
    Exec master..sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
    Select @ResponseText as ResponseText
    Exec master..sp_OADestroy @Object
    I use a SQL server 2000 and don't do anything else.
    But it doesn't work
    I don't know what to do ...
    the message is (1 row affected) but no tupple is written in my db...
    can you help me please ?

  • How to call webservices function - java importer 6i -Duncan?

    I've imported methods of a webservice from salcentral following instructions in otn.
    Now I need to figure out how to call the resulting function in forms
    Here is the function, the pl/sql error is wrong number or type of arguments
    Anyone done this and know how to get the function signature correct?
    I want to call checkemail
    PACKAGE BODY MXCheckerStub IS
    -- DO NOT EDIT THIS FILE - it is machine generated!
    cls ORA_JAVA.JCLASS;
    fid ORA_JAVA.JFIELD;
    mid ORA_JAVA.JMETHOD;
    args JNI.ARGLIST;
    -- Constructor for signature ()V
    FUNCTION new RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    cls := JNI.GET_CLASS('mypackage/MXCheckerStub');
    mid := JNI.GET_METHOD(FALSE, cls, '<init>', '()V');
    args := NULL;
    RETURN (JNI.NEW_OBJECT(cls, mid, args));
    END;
    -- Method: CheckEmail (Lorg/w3c/dom/Element;)Ljava/util/Vector;
    FUNCTION CheckEmail(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT) RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    cls := JNI.GET_CLASS('mypackage/MXCheckerStub');
    mid := JNI.GET_METHOD(FALSE, cls, 'CheckEmail', '(Lorg/w3c/dom/Element;)Ljava/util/Vector;');
    args := JNI.CREATE_ARG_LIST(1);
    JNI.ADD_OBJECT_ARG(args, a0, JNI.GET_CLASS('org/w3c/dom/Element'));
    RETURN JNI.CALL_OBJECT_METHOD(obj, mid, args);
    END;

    I would try to take an aproach where I'll generate a stub for the WSDL in JDeveloper, and also write a
    Java class that calls this stub and return a simple variable (String, int, or boolean).
    Then I would call this class from Forms.
    I believe this would make it easier.

  • How to call a particular mathod

    the problem is with my method for the binary search i believe its coded properly but i'm not sure how too call it at the bottom of the program.[b[]
    here's the error i'm receiving
    Binary (int[],int) cannot be applied to ()
    how should i call it then? the binary search is marked with a comment
    import java.io.*;
    import java.util.Random;
    public class ArraySort{
         int[] myArray, tobesaved;
         int myArraySize, myArrayHigh, findthis;
         long timeBegin, timeEnd;
         public ArraySort(){
         public int[] createIntegerArray(){
              System.out.print("\nEnter how large the array should be: ");
              BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
              try {
                   String theinput = br.readLine();
                   try {
                        myArraySize = Integer.parseInt(theinput);
                        if(myArraySize<=0){
                             System.out.println("The size of the array must be positive");
                             createIntegerArray();
                   catch(NumberFormatException e){
                        System.out.println("Size of the array must be a number");
                        createIntegerArray();
              catch(IOException e){
                   System.out.println("Input Error");
                   System.exit(0);
              return new int[myArraySize];
         public int promptArrayHigh(){
              System.out.print("Enter the high range of the array: ");
              BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
              try {
                   String theinput = br.readLine();
                   return Integer.parseInt(theinput);
              catch(IOException e){
                   System.out.println("Input Error"); System.exit(0);
              return 0;
         public void propagateArray(){
              tobesaved = new int[myArraySize];
              Random r = new Random();
              for(int i=0;i<myArraySize;i++){
                   myArray[i] = Math.abs(r.nextInt()) % myArrayHigh;
                   tobesaved[i] = myArray;
              System.out.print("Original Array: "+myArray[i]);
         public void displayStatus(){
              for(int i=0;i<myArray.length;i++){
                   System.out.print(myArray[i]+" ");
              System.out.println("");
         public void sCounter(){
              timeBegin = System.currentTimeMillis();
         public void eCounter(){
              timeEnd = System.currentTimeMillis();
         public void displayTimeDifference(String what){
              System.out.println(what+" took: "+(timeEnd-timeBegin)+" milliseconds");
         public int getInteger(String prompt){
              String word = null;
              int returnint = 0;
              System.out.print(prompt);
              BufferedReader intbuffer = new BufferedReader(new InputStreamReader(System.in));
              try {
                   word = intbuffer.readLine();
              catch(IOException ioe){
                   System.out.println("Error");
                   getInteger(prompt);
                   System.exit(1);
              try{
                   returnint = Integer.parseInt(word);
                   if(returnint<=0){
                        System.out.println("Must be positive.");
                        getInteger(prompt);
                        return returnint;
                   else {
                        return returnint;
              catch(NumberFormatException e){
                   System.out.println("Must be a number.");
                   getInteger(prompt);
                   return returnint;
    //Bubble Sort
         public void Bubble(){
              boolean swapoccured = true;
              int temp = 0;
              while(swapoccured){
                   swapoccured = false;
                   for(int i=0;i<(myArray.length-1);i++){
                        if(myArray[i]>myArray[i+1]){
                             temp = myArray[i];
                             myArray[i] = myArray[i+1];
                             myArray[i+1] = temp;
                             swapoccured = true;
    //Selection Sort
         public void Selection(){
              int temp = 0;
              int minposition = 0;
              for(int i=0;i<myArray.length;i++){
                   minposition = i;
                   for(int j=i;j<myArray.length;j++){
                        if(myArray[j]<myArray[minposition]){
                             minposition = j;
                   temp = myArray[i];
                   myArray[i] = myArray[minposition];
                   myArray[minposition] = temp;
    //Insertion Sort
         public void Insertion(){
              int value = 0;
              for(int i=1;i<myArray.length;i++){
                   value = myArray[i];
                   int j;
                   for(j=i-1;(j>=0) && (myArray[j]>value);j--){
                        myArray[j+1] = myArray[j];
                   myArray[j+1] = value;
    //Merge Sort
         public void Merge(int low, int high){
              if(low == high){
                   return;
              int length = high-low+1;
              int pivot = (low+high)/2;
              Merge(low, pivot);
              Merge(pivot+1, high);
              int working[] = new int[length];
              for(int i = 0; i < length; i++){
                   working[i] = myArray[low+i];
              int m1 = 0;
              int m2 = pivot-low+1;
              for(int i = 0; i < length; i++){
                   if(m2 <= high-low){
                        if(m1 <= pivot-low){
                             if(working[m1] > working[m2]){
                                  myArray[i+low] = working[m2++];
                             else {
                                  myArray[i+low] = working[m1++];
                        else {
                             myArray[i+low] = working[m2++];
                   else {
                        myArray[i+low] = working[m1++];
    //Shell Sort
    void Shell(){
         int h = 1;
    while ((h * 3 + 1) < myArray.length) {
         h = 3 * h + 1;
    while( h > 0 ) {
    for (int i = h - 1; i < myArray.length; i++) {
    int B = myArray[i];
    int j = i;
    for( j = i; (j >= h) && (myArray[j-h] > B); j -= h) {
    myArray[j] = myArray[j-h];
    myArray[j] = B;
    h = h / 3;
    //search of my choice
         public void search(){
              int counter = 0;
              findthis = getInteger("Seach for: ");
              for(int i=0;i<myArraySize;i++){
                   if(myArray[i]==findthis){
                        counter+=1;;
              System.out.println(findthis+" occurs "+counter+" times in the array");
         public void Linear(){
              int counter=0;
              int findthis1 = getInteger("Linear Search for: ");
              for(int index=0;index<myArray.length; index++)
              if(myArray[index]>findthis1)
                   break;
              if(myArray[index]==findthis1)
                   counter+=1;
              System.out.println(findthis1+" occurs " counter" times in the array");
         //***Here's part of the problem*****
         public int Binary(int[]myArray,int x){
                   int findthis2 = getInteger("Binary Search for: ");
              int left=0, right=myArray.length-1,mid;
              if(myArray.length==0 || x<myArray[0])return -1;
              if(x>myArray[right])return myArray.length;
              while (left<right)
                   mid=(left+right)/2;
                   if (x<myArray[mid])
                   right=mid-1;
                   else
                   left=mid+1;
                   System.out.println(myArray.length);
                   if (x==myArray[left])return left;
                   else return-1;
         public void setOriginal(){
              for(int i=0;i<myArraySize;i++){
                   myArray[i] = tobesaved[i];
         public static void main(String[] args){
              // INSTANTIATE OBJECT, CREATE ARRAY WITH HIGH VALUE, FILL WITH RANDOM VALUES
                   ArraySort as = new ArraySort();
    as.myArray = as.createIntegerArray();
                   as.myArrayHigh = as.promptArrayHigh();
                   System.out.println("");
                   as.propagateArray();
    //               as.displayStatus(); System.out.println("");
              // BUBBLE SORT
                   as.sCounter();
                   as.Bubble();
                   as.eCounter();
    //               as.displayStatus();
                   as.displayTimeDifference("Bubble Sort");
                   as.setOriginal();
              // SELECTION SORT
                   as.sCounter();
                   as.Selection();
                   as.eCounter();
    //               as.displayStatus();
                   as.displayTimeDifference("Selection Sort");
                   as.setOriginal();
              // INSERTION SORT
                   as.sCounter();
                   as.Insertion();
                   as.eCounter();
    //               as.displayStatus();
                   as.displayTimeDifference("Insertion Sort");
                   as.setOriginal();
              // MERGE SORT
                   as.sCounter();
                   as.Merge(0,(as.myArraySize-1));
                   as.eCounter();
    //               as.displayStatus();
                   as.displayTimeDifference("Merge Sort");
                   as.setOriginal();
              // SHELL SORT
                   as.sCounter();
                   as.Shell();
                   as.eCounter();
    //               as.displayStatus();
                   as.displayTimeDifference("Shell Sort");
    //search
                   as.search();
    //Linear
    as.Linear();
    //****Here's the problem****
    // as.Binary();

    here's the error i'm receiving
    Binary (int[],int) cannot be applied to ()
    how should i call it then? the binary search is
    marked with a commentThe error message is pretty straightforward: Binary (is that a constructor or a method? If it's a method, begin the method name with a lowercase "b".) needs an array of int and an int as arguments. They have some meaning to that method. You need to provide them.
    What they mean is something that you should know and that really has nothing to do with Java programming. It's like trying to call authorizeCreditCard(String cardNumber) without actually passing it a card number. You need to understand what Binary(...) does and why it needs those arguments. Once you understand that, you should know how to provide them.

  • How to call oracle function from ejb3

    i'm trying to call an oracle query-function from ejb3.
    The oracle function:
    create or replace FUNCTION getSecThreadCount(secId in NUMBER,avai in NUMBER)
    RETURN SYS_REFCURSOR is cur SYS_REFCURSOR;
    m_sql VARCHAR2(250);
    BEGIN
    m_sql:='select count(thrId) from thread where secId='|| secid||'
    and thrAvai='|| avai;
    open cur for m_sql;
    return cur;
    END;
    I'v tried several ways to call it,but all failed:
    1. the calling code:
    public Object getSectionThreadCount(int secId,int avai){
              Query query=manager.createNativeQuery("{call getSecThreadCount(?,?) }");     
              query.setParameter(1, secId);
              query.setParameter(2, avai);
              return query.getSingleResult();
    but i got the exception:
    Exception in thread "main" javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query; nested exception is: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    Caused by: java.sql.SQLException: ORA-06550: row 1, col 7:
    PLS-00221: 'GETSECTHREADCOUNT' not procedure or not defined
    ORA-06550: row 1, col 7:
    PL/SQL: Statement ignored
    2. the calling code:
    @SqlResultSetMapping(name = "getSecThreadCount_Mapping")
    @NamedNativeQuery(name = "getSecThreadCount",
    query = "{?=call getSecThreadCount(:secId,:avai)}",
    resultSetMapping = "getSecThreadCount_Mapping",
    hints = {@QueryHint(name = "org.hibernate.callable", value = "true"),
              @QueryHint(name = "org.hibernate.readOnly", value = "true")})
    public Object getSectionThreadCount(int secId,int avai){
              Query query=manager.createNamedQuery("getSecThreadCount");     
              query.setParameter("secId", secId);
              query.setParameter("avai", avai);
              return query.getSingleResult();
    but i run into the exception:
    Exception in thread "main" javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query; nested exception is: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
    Caused by: java.sql.SQLException: lost in index IN or OUT parameter:: 3
    By the way, i have successfully called the function from hibernate. And i use oracle 11g, JBoss5 RC1.
    Could anyone tell me how to call the function from EJB3?
    Thanks.

    Here's a working model:
    package.procedure: (created in example schema scott)
    CREATE OR REPLACE package  body data_pkg as
      type c_refcursor is ref cursor;
      -- function that return all emps of a certain dept
      function getEmployees ( p_deptId in number
      return c_refcursor
      is
        l_refcursor c_refcursor;
      begin
         open l_refcursor
        for
              select e.empno as emp_id
              ,        e.ename as emp_name
              ,        e.job   as emp_job
              ,        e.hiredate as emp_hiredate
              from   emp e
              where  e.DEPTNO = p_deptId;
        return l_refcursor;
      end getEmployees;
    end data_pkg;
    /entity class:
    package net.app.entity;
    import java.io.Serializable;
    import java.util.Date;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedNativeQuery;
    import javax.persistence.QueryHint;
    import javax.persistence.SequenceGenerator;
    import javax.persistence.Table;
    @SuppressWarnings("serial")
    @Entity
    @Table (name="emp")
    @SequenceGenerator(name = "EmployeeSequence", sequenceName = "emp_seq")
    @NamedNativeQuery( name = "getEmpsByDeptId"
                   , query = "{ ? = call data_pkg.getEmployees(?)}"
                   , resultClass = Employee.class
                   , hints = { @QueryHint(name = "org.hibernate.callable", value = "true")
                          , @QueryHint(name = "org.hibernate.readOnly", value = "true")
    public class Employee implements Serializable
        @Id
        @Column(name="emp_id")
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EmployeeSequence")
        private int id;
        @Column(name="emp_name")
        private String name;
        @Column(name="emp_job")
        private String job;
        @Column(name="emp_hiredate")
        private Date hiredate;
        // constructor
        public Employee (){}
        // getters and setters
        public int getId()
         return id;
    etc...session bean:
    package net.app.entity;
    import java.util.ArrayList;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import net.app.entity.Employee;
    import net.app.iface.ScottAdmin;
    @Stateless
    public class ScottAdminImpl implements ScottAdmin
        @PersistenceContext
        private EntityManager entityManager;
        @SuppressWarnings("unchecked")
        public List<Employee> getEmployeesByDeptId(int deptId)
         ArrayList<Employee> empList;
         try
             Query query = entityManager.createNamedQuery("getEmpsByDeptId");
             query.setParameter(1, deptId);
             empList = (ArrayList<Employee>) query.getResultList();
             return empList;
         catch (Exception e)
             e.printStackTrace(System.out);
             return null;
    }client:
    package net.app.client;
    import java.util.List;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import net.app.entity.Employee;
    import net.app.iface.ScottAdmin;
    public class ScottClient
        public static void main(String[] args)
         try
             // create local interface
             InitialContext ctx = new InitialContext();
             ScottAdmin adminInterface = (ScottAdmin) ctx.lookup("ScottAdminImpl/remote");
             // select employees by deptno
             int deptno = 20;
             List<Employee> empList = adminInterface.getEmployeesByDeptId(deptno);
             // output
             System.out.println("Listing employees:");
             for (Employee emp : empList)
              System.out.println(emp.getId() + ": " + emp.getName() + ", " + emp.getJob() + ", " + emp.getHiredate());
         catch (NamingException e)
             e.printStackTrace(System.out);
    }Basically you just ignore the refcursor outbound parameter.
    This is a stored function, have yet to try outbound refcursor parameters in stored procedures...
    Edited by: _Locutus on Apr 2, 2009 2:37 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to call a method

    Hello Every1,
       I have created a implementaion for some definition.
    Now I need to call a method from the implemenation in my program. Let me know how to call it?
    Regards,
    Siva.

    Hai
    Go through the following Code
    *& Report  ZABAPOBJECTS_01                                     *
    report  ZABAPOBJECTS_01                 .
    parameter : p_matnr like mara-matnr.
          CLASS lcl_material DEFINITION
    class lcl_material definition.
      public section.
        data: v_matnr type mara-matnr.
        methods : constructor importing matnr type mara-matnr,
                  get_material_description.
      private section.
        data : v_maktx type makt-maktx.
    endclass.                    "lcl_material DEFINITION
          CLASS lcl_material IMPLEMENTATION
    class lcl_material implementation.
      method get_material_description.
        clear v_maktx.
        select single maktx into v_maktx
                            from makt
                            where matnr = v_matnr and
                                  spras = 'E'.
      endmethod.                    "get_material_description
      method constructor.
        clear v_matnr.
        v_matnr = matnr.
      endmethod.                    "constructor
    endclass.                    "lcl_material IMPLEMENTATION
    data : obj type ref to lcl_material.
    start-of-selection.
      create object obj exporting matnr = p_matnr.
      call method obj->get_material_description.
    Thanks & regards
    Sreenivasulu P

  • Urgent how to call Webservice

    I have call the Webservice in flex2 successfully however
    after I deploy EAR / WAR, an error occur:
    MessageError message='Unknown destination 'Default HTTP'
    Anyone can help?

    Following is how I call the webservice in mxml:
    <mx:WebService id="wsBlogAggr" wsdl="
    http://ip_address?WSDL"
    useProxy="true" showBusyCursor="true">
    <mx:operation name="getAllAccounts"
    result="getAllAccountsInStringResult(event)"/>
    <mx:operation name="removeAccount"
    result="removeAccountResult(event)"/>
    </mx:WebService>
    private function UIComplete():void
    wsBlogAggr.getAllAccountsInString.send();
    private function
    getAllAccountsInStringResult(ev:ResultEvent):void
    // do sth
    I think my code is right. As I can call the webservice in
    flex2 server successfully, however, when i just open the generated
    swf file, it already show me the error about
    [RPC Fault faultString="Send failed"
    faultCode="Client.Error.MessageSend" faultDetail="Unable to load
    WSDL. If currently online, please verify the URI and/or format of
    the WSDL (
    http://ip_address?WSDL)"
    I verified that I can access to the wsdl url.
    So, after I deploy the EAR / WAR, also display that error to
    me.

  • How to call Backing Bean method from href tag in JSF. -- URGENT

    Hi guys,
    i am new to JSF. i want one option. how to call a backing bean method from href.
    I searched a lot. i found one component <commandLink>, but i cann't use <commandLink> i have to use only href which is client instructions.
    If anyone knows pls help me. Its Urgent. If u can, give me the code also.
    Suggestions will be appreciated.
    Thanks
    Rajesh

    You can make use of the constructor of the backing bean or the @PostConstruct annotation if you want to use managed properties.
    You may get some ideas out of this: [http://balusc.blogspot.com/2006/06/communication-in-jsf.html].

  • Calling constructor inside another constructor

    how to call a constructor in another constructor.
    Inside default constructor i want to call a parameterised constructor.
    Please help me.
    Thanks & Regards
    MK

    And it must be the first non-comment, non-blank line of the calling constructor, just like a call to super().

Maybe you are looking for

  • Transferring iTunes Purchases Between Accounts

    I have two Apple IDs, one iTunes ID and one Mobile Me ID. I don't want to have to move between the two. That is, use one for iTunes and another as my Mobile Me, but if I just use my Mobile Me one all my old purchases won't work or I'll have to consta

  • Multiple Languages editions 32/64 bit of Office 2010 SP2

    Hi In the site https://technet.microsoft.com/subscriptions/securedownloads/default.aspx#searchTerm=&ProductFamilyId=383&Languages=en&PageSize=10&PageIndex=0&FileId=0 , I find the Multiple Languages editions 32/64 bit (mu_office_2010_sp2_x86_dvd_28032

  • How to get request throughput, requests waiting data ?

    i'm trying to get the request throughput and requests waiting data real-time data through management mbeans... but i couldn't find any mbean that has methods relate to requests data... if you know how to get these data, please help...thanks a lot in

  • Acrobat Standard 7

    Can i flatten a pdf form with Acrobat Standard 7?

  • Merging of  two rows into one

    HI, Would you help me to write aquery such that merges two data into one, for example, Take a table Student Its content are Roll no Name 1 Rahul 2 Shyam We reqiure a query such that we get out put as Rahul;Shyam