Using a bean method to perform validation via the validator attribute

The J2EE tutorial demonstrates a method to perform validation by adding a FacesMessage directly into the FacesContext ... INSTEAD OF throwing a ValidatorException within the method:
http://docs.oracle.com/javaee/6/tutorial/doc/bnavb.html#bnave
http://docs.oracle.com/javaee/6/tutorial/doc/bnatn.html#bnatr
What is NOT mentioned in the tutorials is that, if you simply add a FacesMessage into the FacesContext, the JSF lifecycle UPDATE_MODEL and INVOKE_APPLICATION are still executed even if the validation fails, which is probably not what one intends to happen if the validation fails.
Instead of simply adding a FacesMessage into the FacesContext, the method performing the validation should instead throw a ValidatorException(FacesMessage) or ValidatorException(Collection<FacesMessage>), so that the UPDATE_MODEL and INVOKE_APPLICATION are NOT executed and you go directly to RENDER_RESPONSE if the validation fails.
Does anyone see any reason why the tutorial would add the FacesMessage into the FacesContext instead of throwing a ValidatorException ?

gimbal2 wrote:
The whole intention of that section seems to be to give an alternative to using a validator. Its the type of validation I tend to use to be honest since I find it the least cumbersome. I agree with you on this one.
gimbal2 wrote:
I've hardly ever had any trouble with the extra phases happening... but .. isn't the whole point of PROCESS_VALIDATION lifecycle is to prevent updates to the model when the validation fails ... to skip straight to RENDER_RESPONSE ? I just don't see the point of having the validation failing ( by showing an error to the user ), and yet allowing the "illegal" value updated on the model / bean.
On a different matter ... I am still not sure how the JSR-303 validation fits in to the JSF lifecycle with regards to updating the model / bean. If you were using JSR-303 validations WITHOUT JSF, like so:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Bean>> constraintViolations = validator.validate(bean);.. the bean would have been updated already with the "illegal" values for the JSR-303 validation to work / "detect" that validation fails. Now going back to JSR-303 with JSF, that would suggest that model gets updated before the validation takes place ( to mimic the non-JSF validation above ) ... but that can't be the case as nowhere in the JSF / J2EE documentation ( unless I missed it ) that says that UPDATE_MODEL takes place before PROCESS_VALIDATION only if JSR-303 is used. The JSF lifecycle diagrams always say PROCESS_VALIDATION takes place before UPDATE_MODEL, and only if validation succeeds.
On the other hand, JBoss' <rich:graphValidator> is clearly documented so that it actually clones the bean and then updates the properties on the clone of the bean, not the bean itself. Hence, the bean must implement the Cloneable interface. ( http://docs.jboss.org/richfaces/4.2.X/4.2.2.Final/Component_Reference/en-US/html/chap-Component_Reference-Validation.html#sect-Component_Reference-Validation-richgraphValidator ). Okay, that link is saying that the use case for <rich:graphValidator> is for cross-field validation, but at least it documents that the model is not updated.

Similar Messages

  • Using managed bean method in expression builder

    Hello,
    I'm new to adf and I have the following problem.
    I have a managed bean in session scope that has the following method:
    public boolean alertMessages() throws NamingException,
    SQLException {
    if (condition)
    {  return true;}
    else
    {return false;}
    I have a page that has a link. Using the expression builder and according the function result I want to make the link bold or not.
    I use the expression #{sessionScope.backing_pages_index.alertMessages ?'bold':'normal'} but it does'n work.
    Could anybody help me.
    Thank you,

    Hi..
    If you add your bean as sessionScope No need to add sessionScope to EL front,and should setter and getter for alertMessages
    use *font-weight:#{backing_pages_index.alertMessages ? 'bold':'normal'}*
    try as follows it is working for me
    > private boolean alertMessages;
    > public void setAlertMessages(boolean alertMessages) {
    > this.alertMessages = alertMessages;
    > }
    > public boolean isAlertMessages() {
    > if (true) {
    > return true;
    > } else {
    > return false;
    > }
    > }
         <af:commandLink text="commandLink 1" id="cl1" action="CustomPage"> inlineStyle="font-weight:#{backing_pages_index.alertMessages ? 'bold':'normal'};"/>

  • I am aware that iMacs do not support Blu-ray. However could I use am   a Blu-ray player connected via the audio/optical digital in port to watch Blu-ray on my iMac screen ?

    I am aware that iMacs donot support Blu-ray. However, could I use a blu-ray player connected via the audio/optical digital in port to watch blu-ray on my iMac screen ?

    You could connect a FireWire Blu-Ray drive and use non-Apple player software.
    <http://eshop.macsales.com/search/external+blu+ray>
    <http://www.macblurayplayer.com>
    <http://www.macblurayplayer.com/download.htm>
    <http://www.mcetech.com/blu-ray/>

  • How can i use my iPad 2 as a display via the 30 pin connector ?

    i want to use my ipad as a display from a range of devises like my video camer, computer and dvd player. The ipad outputs its display, so is there a way of using the 30 pin connector to input video?

    Hi there,
    At this time you cannot use your iPad as a display like you describe.
    However, you can buy the extra Camera Connection Kit, to import video and pictures from some camera's and SD Cards.
    I urge you to submit feedback to Apple:
    iPad feedback
    Nathan

  • Defining the path for the use of beans in a JSP

              Hello,
              I would like to use a bean in a JSP file, via the <jsp:usebean> directive.
              I didn't find any property (weblogic property) which could define the path
              to the directory of my beans classes.
              So :
              1) i have put the path of this directory in the weblogic classpath in the weblogic
              start script.
              2) i made the same with the java classpath.
              Both solutions don't work at all.
              Any suggestion would be appreciated.
              Thanks in advance.
              

              We use the \weblogic\myserver\serverclasses for beans..
              of course we pack beans into jar files, and these jar files are included into
              the wls classpath..
              "Sylvain R." <[email protected]> wrote:
              >
              >Hello,
              >I would like to use a bean in a JSP file, via the <jsp:usebean> directive.
              >I didn't find any property (weblogic property) which could define the
              >path
              > to the directory of my beans classes.
              >So :
              >1) i have put the path of this directory in the weblogic classpath in
              >the weblogic
              >start script.
              >2) i made the same with the java classpath.
              >
              >Both solutions don't work at all.
              >
              >Any suggestion would be appreciated.
              >Thanks in advance.
              >
              

  • JSF Problem invoking backing bean method

    I want a backing bean method to be invoked when the submit button is clicked but for some strange reason the method is not getting invoked any Help in this regards would be great.
    I am able to properly get the values from database and display on the page , after the user types in some more additional information like password , hint question the form has to be submitted when clicked on the submit button..
    Register.jsp
    <body>
         <f:view>
         <h:graphicImage url="/header.jpg"></h:graphicImage>
               <br><h:form id="user">
                        <table>
                        <tr>
                             <td>
                                  <h:outputLabel for="" value="uUser Name:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                                  <h:inputText onblur="JavaScript:doSubmit();" value="#{registerFormBean.userName}" id="userName"></h:inputText>
                             </td>
                        </tr>
                        <tr>     
                             <td>
                             <h:outputLabel for="" value="First Name:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                             <h:inputText value="#{registerFormBean.firstName}" id="firstName"></h:inputText></td>
                        </tr>
                        <tr>     
                             <td><h:outputLabel for="" value="Middle Name:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                             <h:inputText id="middleName" value="#{registerFormBean.middleName}"></h:inputText></td>
                        </tr>
                        <tr>     
                             <td><h:outputLabel for="" value="Last Name:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                             <h:inputText id="lastName" value="#{registerFormBean.lastName}"></h:inputText></td>
                        </tr>
                        <tr>
                             <td>
                                  <h:outputLabel for="" value="Password:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                                  <h:inputText id="password" value="#{registerFormBean.password}"></h:inputText>
                             </td>
                        </tr>
                        <tr>     
                             <td><h:outputLabel for="" value="Re-type Password:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                             <h:inputText></h:inputText></td>
                        </tr>
                        <tr>     
                             <td><h:outputLabel for="" value="Password Hint Question:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                             <h:inputTextarea id="hintQuestion" value="#{registerFormBean.hintQuestion}"></h:inputTextarea></td>
                        </tr>
                        <tr>     
                             <td><h:outputLabel for="" value="Password Hint Answer:" styleClass="orderlabelcell"></h:outputLabel></td><td>
                             <h:inputTextarea id="hintAnswer" value="#{registerFormBean.hintAnswer}"></h:inputTextarea></td>
                        </tr>
                        <tr>     
                             <td>
                                  <h:commandButton id="submit" value="Submit" type="submit" action="#{registerFormBean.saveUser}"/>
                                  <h:commandButton id="Reset" value="Reset" type="reset"/>
                                  </td>
                        </tr>
                        </table>
                   </h:form>
         </f:view>
    </body> 
    RegisterFormBean.java
      package services;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import dao.DatabaseHandler;
    import model.User;
    public class RegisterFormBean {
    User selectedUser;
    String userName;
    String firstName;
    String middleName;
    String lastName;
    String password;
    String hintQuestion;
    String hintAnswer;
    String errMsg;
    private DatabaseHandler dbHandle;
    public RegisterFormBean() {
         javax.faces.context.FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();
         javax.faces.application.Application app = context.getApplication();
         dbHandle = (DatabaseHandler)app.createValueBinding("#{databaseHandler}").getValue(context);
    public void setUserDetails() {
         try{
              System.out.println("gettting Details for user: "+userName);
              selectedUser = (User)dbHandle.getUser(userName);
         catch (SQLException e) {
              errMsg = "Problem gettting records";
    public String getUserName() {
         if(null!=userName){
              setUserDetails();
         if(null!=selectedUser)
              return selectedUser.getLoginName();
         else
         return "";
    public void setUserName(String userName){
         this.userName = userName;
    public String getFirstName() {
         if(null!=selectedUser)
              return selectedUser.getFirstName();
         else
         return "";
    public void setFirstName(String firstName) {
         System.out.println("in setFirst name");
         this.firstName = firstName;
    public String getMiddleName() {
         if(null!=selectedUser)
              return selectedUser.getMiddleName();
         else
         return "";
    public void setMiddleName(String middleName) {
         System.out.println("in set middle name...");
         this.middleName = middleName;
    public String getLastName() {
         if(null!=selectedUser)
              return selectedUser.getLastName();
         else
         return "";
    public void setLastName(String lastName) {
         System.out.println("in set last name....");
         this.lastName = lastName;
    public String getPassword() {
         return password;
    public void setPassword(String password) {
         if(null!=password){
              System.out.println("$$$$$$$$$$$$ setting password.."+password);
              selectedUser.setPassword(password);
    public String getHintQuestion() {
         return hintQuestion;
    public void setHintQuestion(String hintQuestion) {
         if(null!=hintQuestion){
              System.out.println("#########  Hint Question "+hintQuestion);
              selectedUser.setHintQuestion(hintQuestion);
    public String getHintAnswer() {
         return hintAnswer;
    public void setHintAnswer(String hintAnswer) {
         if(null!=hintAnswer){
              System.out.println("@@@@@@@  Hint Answer"+hintAnswer);
              selectedUser.setHintQuestion(hintAnswer);
    public String saveUser(){
         String flag = "";
         System.out.println("IN registerUser Method....");
         try{
              if(null!=selectedUser){
                   flag = dbHandle.registerUser(setUserDefaults(selectedUser));
         catch(SQLException se){
         flag="fail";
         System.out.println("FAILED DUE TO THE EXCEPTION :- "+se.getMessage());
         errMsg = "Unable to Register the User...";
         return flag;
    public User setUserDefaults(User user){
         System.out.println("SETTING USER DEFAULTS.....");
         user.setActive(true);
         user.setLoginType("False");
         user.setCreatedUserName("SOMEUSERNAME");
         user.setSecIdFunctionGroup(17);
         user.setChallangeWord("CHANGE IT");
         user.setTrusted(false);
         user.setUserTypeIdTypeOf(1);
         user.setChangePwdNextLogin("False");
         user.setLoginIsDisabled(false);
         user.setPasswordNeverExpires(false);
         user.setThinWorkOrder(false);
         user.setCurrencyTypeId(2);
         return user;
    I am able to fetch the details from Database and display on the page so DAO is working properly hence not copying here
    faces-config.xml
      <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
                                  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
    <managed-bean>
      <managed-bean-name>databaseHandler</managed-bean-name>
      <managed-bean-class>dao.DatabaseHandler</managed-bean-class>
      <managed-bean-scope>application</managed-bean-scope>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>registerFormBean</managed-bean-name>
      <managed-bean-class>services.RegisterFormBean</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
      <from-view-id>/Register.jsp</from-view-id>
      <navigation-case>
       <from-outcome>success</from-outcome>
       <to-view-id>/Success.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    </faces-config>

    A conversion or validation error may have been occurred. Add <h:messages/> to the page to note them all. If you're using at least Sun Mojarra 1.2, then you should be able to note them all in the application server logs.

  • Problem using a bean in JSP on Tomcat 5.0.28

    Hi,
    I'm new to JSP, I've installed Tomcat 5.0.28 and I'm able to run JSP but when I try an asp wich uses a bean it gives me this error, the directory structure is
    testingProject with the first.jsp
    testingProject\WEB-INF\classes\myPackage with the test.class
    the first.asp
    <%@ page import="myPackage.Test" %>
    <html><head><title>Test</title></head>
    <body bgcolor=white>
    <jsp:useBean id="list" class="myPackage.Test"> </jsp:useBean>
    <jsp:getProperty name="list" property="value1" />
    <%=list.value1%>
    <p>
    </body></html>
    the Test.java
    package myPackage;
    public class Test{
    String value1="testinggggggggg";
    public void Test(){
    public String getValue1(){ return value1}
    the error
    thanks in advance
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 6 in the jsp file: /first.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat 5.0\work\Catalina\localhost\testingProject\org\apache\jsp\first_jsp.java:60: cannot resolve symbol
    symbol : variable value1
    location: class myPackage.Test
    out.print(list.value1);
    ^
    1 error
         org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
         org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
         org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)

    There are two ways of getting info from the bean.
    1) the jsp:getProperty tag, which seems correct in your code
    2) the <%= ... tag. In that case you must write a valid java expression. In your case: list.getValue1()

  • af:fileDownloadActionListener not calling the bean method

    Hello,
    I am using Jdev 11.1.1.6.
    I have a page where user can generate the report and download it. I am using <af:fileDownloadActionListener> for this on my jsff (implemented as region using BTF).
    The commandbutton with <af:fileDownloadActionListener> is calling a backing bean method. When user clicks the "Print" button, it is supposed to generate the report and allow user to download it.
    The issue here is that the control never goes to bean method after button press. The browser keeps showing busy but no control passed to bean method. Interestingly, after you close the browser, it immediately goes to bean method.
    I have tried waiting for long time (some times 15-20 min) but it never goes there during execution.
    What could be going wrong here?
    Code snippet from my jsff:
    <af:commandButton id="cb1"
                      textAndAccessKey="Print"
                      partialSubmit="false"
                      clientComponent="true">
                   <af:fileDownloadActionListener method="#{someMethod}"
                                                  filename="#{someName}"/>
    </af:commandButton>This is really frustrating as I have no clue what is going wrong here. The similar code works in other page but not here.
    I would highly appreciate help here.
    Thanks,
    Jai

    Like I said, it is working fine on my other pages and I tried on new page, just like yours, and it worked. It is not working where I need it.
    I know the issue is somewhere with my page [child or parent, explained later] and I am looking for help on finding the root cause. Some direction/tip which I can follow and figure out the issue.
    Other buttons are working fine on the page but <af:fileDownloadActionListener> does not work. The page seems to go in loop as it keeps printing generic messages that are generally printed when page is submitted.
    This will continue until you close the page/browser and then the control goes to bean method.
    Let me explain page structure:
    My application is based on UIShell and is basically based one page application. Every page (jsff) is implemented as region using BTF. When user clicks on menu, MainPage is opened. This MainPage represents main structure using layout components like panelGroupLayout, panelTabbed, showDetailItem etc. These layout components contains <af:region> implemented using BTF.
    The MainPage which has this issue is large page with almost 100+ BTF af:regions implemented under panelTabbed+showDetailItem combination.
    <af:fileDownloadActionListener> has been implemented on one of the <af:region>, which is part of this MainPage.
    Few Observations:
    1. If I move this button [with <af:fileDownloadActionListener>] to any of the af:region under current MainPage then it does not work.
    2. If I move this button [with <af:fileDownloadActionListener>] to any independent page or any <af:region> which is part of some other MainPage, then it works.
    3. Other MainPage where it is working fine is also a fairly large page with almost 150+ BTF af:regions
    4. All our MainPages are based on template, so there is very high level of consistency in behavior and other handlings.
    For whatever reason, it is not working on my current page and I would highly appreciate any input based on above info [or otherwise] to find a root cause for this issue.
    If I need to debug, where should I start? What could be causing that looping behavior, specially with <af:fileDownloadActionListener>.
    Thanks,
    Jai

  • Connecting oracle using Directory Naming Method

    Hi,
    I am just checking the possibilities of implementing Directory Naming Method in our organization. currently we are using Local Naming method (using tnsnames.ora).
    I did google to find the pre-requsites to use directory naming method and I couldnt' find the right document.
    could somebody who has implemented and using directory naming method (via centralized LDAP-compliant directory server) could help me in finding the pre-requistes and what kind of infrastucture we should be having to implement the same in our organization.
    Thanks in advace for your help.
    Krishna.

    I'm trying to figure these things out myself.
    I have some questions for you:
    1. What operating systems does your server and workstations use?
    If they're all Windows and you're on a Windows Domain, consider Active Directory as the directory service.
    2. If it is all unix-like operating systems, consider using Oracle Internet Directory as the directory service.
    3. Mixed Windows and Unix-like operating systems - use whatever you are currently using as the directory service.
    At http://tahiti.oracle.com/ you may want to read some of the following books from oracle:
    - Platform Guide for Microsoft Windows (if you're using Windows)
    - Advanced Security Administrator's Guide
    - Enterprise User Security Administrator's Guide
    - Net Services Administrator's Guide
    - Net Services Reference
    - Oracle Internet Directory Administrator's Guide
    - Oracle Database 2 Day DBA
    Options to consider: Kerberos or Active Directory
    If using Windows and you already using Active Directory, consider this:
    Microsoft Environment: Configuring Oracle Advanced Security Option (ASO) Kerberos Adapter with Windows 2003 Active Directory
    See Metalink doc-id: 368321.1

  • How can I using java bean to insert new record

    Hi everybody,
    I'd some problem when I insert a record using java bean. When insert a record, the resultset executeUpdate return 0 anc cannot add record to database. Would you please tell me what's wrong in my code?
    java bean
    package miniproj;
    import java.sql.*;
    public class Register{
    private String sql;
    private String username;
    private String usertype;
    private String password;
    private String blocknum;
    private int floornum;
    private String owner;
    private int rows;
    private String s;
    // set parameter to database
    public int setMember(){
    try{
    //load database driver
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    // Get a connection to the database
    Connection sqlConn = java.sql.DriverManager.getConnection("jdbc.odbc:WFBS");
    // Get a statement from the connection
    Statement sqlStmt = sqlConn.createStatement();
    sql = "INSERT INTO USERS(user_name, password) VALEUS ('aaa', 'aaa')";
    // sql = "INSERT INTO USERS(user_name, password) VALEUS (" + user_name + "," + password + ")" ;
    rows = sqlStmt.executeUpdate(sql);
    // sqlRst.close();
    sqlStmt.close();
    sqlConn.close();
    catch(SQLException se){
    catch(Exception e){
    return rows;
    // set user name method
    public void setUsername(String name){
    username = name;
    // set passwrod method
    public void setPassword(String pwd){
    password = pwd;
    // set block num mehtod
    public void setBlockNum(String block){
    blocknum = block;
    // set floor num method
    public void setFloorNum(int floor){
    floornum = floor;
    // set owner method
    public void setOnwer(String own){
    owner = own;
    // get user name method
    public String getUsername(){
    return username;
    // get password method
    public String getPassword(){
    return password;
    jsp code
    <%@ include file="Header.jsp" %>
    <%@ page errorPage="Error.jsp" %>
    <jsp:useBean id="register" class="miniproj.Register" />
    <jsp:setProperty name="register" property="*" />
    User name : <%=register.getUsername()%><br>
    Password : <%=register.getPassword()%><br>
    <%
    int i = register.setMember();
    out.println(i);
    %>
    Thanks a lot
    Chris

    Seems to me that executeUpdate() would throw an SQLException, which in turn would get caught by your empty catch. The SQL keyword VALUES is misspelled. Put a 'se.printStackTrace()' in your catch to confirm this.

  • Lsmw using ALE/IDOC Method

    Hi Team,
    I am trying for lsmw using ALE/IDOC Method.
    I have defined the segment type, message type, defined a basic type and defined a partner profile of the receiver system.
    When i try to execute the Start Idoc Generation step in generating LSMW creation steps. I am getting below error "No partner exists with the nae ", type".
    Please help me in resolving the warining.
    No partner exists with the name '', type ''
    Regards
    Sunil
    Edited by: sunil kumar on Jul 30, 2009 11:26 AM

    Hi,
    for LSMW , you have to create partner profile type as 'US'.
    once the partner profile created in we20,
    goto tcode  lsmw , in menu select "Settings -> Inbound Idoc Processing"
    maintain FilePort, partner type and Partner number and then press Activiate Idoc Inbound pricessing.
    Then you will not get this error message.
    Regards,
    Bhavana

  • Error while installing Agent using Agent Push Method

    Hi All,
    I have installed Oracle EM Grid 10.2.0.1 on Linux 4 (Enterprise). I have moved my repository database to another host. Grid(oms,repo db,agent) is working fine. But i am trying to install one agent in remote host using Agent push method. I am getting the error
    Manual Fixes (1)
    The following corrective actions need to be taken before proceeding. For your convinience check mark each item when you have fixed that issue.
    There are some targets that cannot be monitered by the Agent.Hostname IP Address Details
    *<host> <ip-addr> PROBLEM : There are some targets on the host which agent can not monitor since they are installed by different group.*
    ERROR : Check complete. The overall result of this check is: Failed <<<<
    RECOMMENDATION : Your Oracle Home is incompatible.
    I verified SSH connectivity,TZ...
    In remote host, 2 oracle application instances are running and repository DB. I have created one directory in repository db location and installing in that directory. This error is coming in Install Stage. I checked the oracle inventory permission and other 2 instance installed directory permission. Inventory owner is oracle. Oracle EBS mount point owner is root. But it is having read, write permission.
    Is this a bug? Will this resolve after applying 10.2.0.5 patch.
    Please let me know a solution for this.
    Thanks,
    Manikandan

    Hi Rob/Nazim,
    Thanks for the Replay.... I will try to update to patch 10.2.0.5
    Regards,
    Manikandan.

  • I use Garageband 09 to record voice overs via podcasting, female narrator noisy, but keep getting an intermittent clicking sound. It's not the metronome. I have a good quality external USB mic plugged in. Any ideas?

    I use GarageBand 09 to record voice overs via the Podcasting then Female Narrator Noisy utility. I have a good quality external mic plugged in. I keep getting an intermittent clicking sound on the audio track. It's not the metronome as that is turned off. I have to edit out the clicking after recording. I can see the spikes on the waveline. Any ideas how I can prevent this happening?

    Hi again and thanks so much for replying.
    The 'mic jack' on the old mic is both wide and large, measuring about an inch and a quarter from the base (where it comes out of the black encasing) to the edge of the tip (sort of cone shaped). As I can't plug this in directly to any port in the back of the Mac, I thought it might be possible to to buy some sort of adapter so that I could plug in the jack at one end, with a USB connector at the other end to go straight into the Mac. But I see from your comment that you are suggesting a smaller jack itself (i.e., large size jack to small size jack and then plug in to the small round port, instead of jack to USB port)?
    At the Mac shop I bought a USB adapter to connect up a second monitor (screen). I've just dug out the package and it's called a mini display port to VGA adapter. But back to the mic issue, I don't want to use the old mic really, I'm just trying to eliminate whether or not my usual mic, or its USB cable, is at fault and causing the clicking.
    I looked on Amazon for a suitable adapter but there was mention of these little gadgets having a sound card. As the Mac obviously has its own internal sound card, I couldn't see the point of another (exernal) one, unless it was actually required to convert the sound from input to output (playback) or something. One review said sound quality was lost but the person had a problem with his speakers, not a ticking sound while playing back recordings - which is obviously my problem.
    I do have a headset that I used to use for Skype. It has a pink and a green jack. I could plug one into the "headphones symbol' port and try recording again with Garageband. At least the jack is the right size. Again, this is just for the purpose of eliminating whether my good mic on a stand with the anti-popping sheild is at fault.
    While my Mac does have both inbuilt speakers (I don't need external ones) and an inbuilt microphone, the latter is not of a high enough quality for voice overs, hence buying an external mic etc. But whatever is causing the clicking or ticking is obviously affecting the quality of my recordings. As you can imagine, it is very time-consuming to edit out the ticking spikes and if the noise appears during speech, you can't edit it out at all.
    Please keep the suggestions coming. I am determined to get to the bottom of this for my sake and everyone else who is suffering from the same problem!

  • Data validation at the UI level

    Hi
    I have a requirement like i need to validate the input data at the UI level.
    If the data is valid ,only then it should be allowed to be saved.
    If someone knows how to do the same.
    I have seen a method DO_VALIDATE_INPUT method in View controller (IMPL) class.No clue on how it is being used.
    Regards
    Leon

    Hi Leon,
    Are you talking about the Webclient as UI or something else??
    There are 2 options:
    1) You use the Get and Set methods of your context node attributes (The ...CN01 etc classes) (to be found under your IMPL class --> attributes TYPED_CONTEXT(...CTXT class) and in there you should have some ...CN01, CN02, etc. classes. Here are all the GET and SET methods. (you could also go via the views' attributes, this is the shortest way).
    Within the Get (put the value in the model) and Set (get the value from the model)methods you could do some checks and show an error.
    2) Use the Do_handle_data method of your IMPL class. Once data is entered in the screen, this method is always called when another action is performed (pressing a button). Here you can easily check the content of fields.
    3) Use the Do_handle_event method of your IMPL class. This method is called when there is an event that is being triggered (save button is pressed). You can redefine this method and before really saving the data you can perform your checks.
    Hope this helps.
    Kind regards,
    Micha

  • Shadow tables that have been created via the new partitioning schema

    Hi,
         Complete Partitioning :
                    In a complete partitioning, the fact table of the infocube are fully converted using shadow
    tables that have been created via the new partitioning schema.
                   in the above Explanation what is the meaning of shadow tables which perform the
                   partitioning of an info cube.

    Hi
    Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.
    Complete Partitioning
    Complete Partitioning fully converts the fact tables of the InfoCube. The system creates shadow tables with the new partitioning schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the system has successfully completed the partitioning request, both fact tables exist in the original state (shadow table), as well as in the modified state with the new partitioning schema (original table). You can manually delete the shadow tables after repartitioning has been successfully completed to free up the memory. Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.
    You can only use complete repartitioning for InfoCubes. A heterogeneous state is possible. For example, it is possible to have a partitioned InfoCube with non partitioned aggregates. This does not have an adverse effect on functionality. You can automatically modify all of the active aggregates by reactivating them.
    Hope it helps and clear

Maybe you are looking for

  • How do you make audio fast without changing pitch?

    How do you make audio fast without changing pitch?

  • BDC for F-22

    Hi All I have to develop a bdc for F-22 transaction. The data is stored in a flat file. The problem which i am facing is, after calling the function module  "GUI_UPLOAD", how should i transfer the data to the screen? A sample code will be appriciated

  • Features in Director11 - Disappointment

    NO FLV direct importing. NO DirectX9 features (what the F...!) NO 3D new features. NO serious documentation and tutorials on new Phisic engine. ...and more, add your comment and request! Director11 is NOT A SERIOUS update, we need more, Adobe! We nee

  • How do I change my printers e mail address to one I can remember

    I have to take my printers email address everywhere as I cant remember it how can I cahnge it to an easier one

  • Unable to extend segemet

    hi , aim getting the following error when iam trying to create some objects .... ORA-01652: unable to extend temp segment by 8192 in tablespace WEB_REPORTS1 when iam searching in the net, i found it speaks about the space shortage and to add some mor