Validator in dataTable - bug?

Hi,
I am using validators in a dataTable, and it works, but in some cases the behaviour is not adequate.
Some code first :
<h:dataTable value='#{apps}' var='app'>
     <h:column>
          <f:facet name='header'>
                <h:outputText value='#{msgs.name}' />
             </f:facet>
          <h:message for='appname' style='color:red;'/>
       <h:inputText value='#{app.name}' id='appname' required='true' >
           <f:validator .... />
       </h:inputText>
     </h:column>
As I said - the validation works fine. What is strange is that if a validator is used outside a dataTable, and validation fails, then any new values in the dataTable are lost!! UNLESS (as is here) there is a validator on some field in the dataTable - then if validation fails in the dataTable (regardless if validation outside fails or not) values in the table are preserved, but     then when correct values are entered in the table and validation inside the dataTable succeeds, but fails outside - the validated values on the row in question of the dataTable disappear!!!!! (they are not displayed when the page is reloaded).
Seams like a bug?
Is there any way to correct that behaviour, e.g. to force the values in the table that are still not in the model to be kept on the page after outside validation fails and page reloads?
Thanks for any suggestions!
Message was edited by:
ing-uk

i nee to get the IDs of the component in the Datable
how can i achieve thatJust get the Object reference itself by getRowData(). Also see http://balusc.xs4all.nl/srv/dev-jep-dat.html how to use datatables.

Similar Messages

  • Input validation in datatable

    Hi all,
    I have a datatable displaying some records and allowing for each record to press a link to to something with that line. I am however facing problems with the field validation. Here's what I have:
    <t:dataTable style="width: 100%" id="tfopts" binding="#{quoteOptions.freeFormOptionTable}" value="#{quoteOptions.unselectedFreeFormOptions}" var="option">
         <t:column width="70%">
              <h:inputText style="width: 98%" value="#{option.description}" />
         </t:column>
         <t:column style="white-space:nowrap" width="15%">
              <h:inputText style="width: 100%" value="#{option.catalogPrice}">
                   <f:convertNumber/>
              </h:inputText>
         </t:column>
         <t:column style="white-space:nowrap" width="15%">
              <a4j:commandLink action="#{quoteOptions.addFreeFormOption}" value="#{msg.options_addoption}" reRender="selopts,tfopts" />
         </t:column>
    </t:dataTable>Now, I need to make sure that the description is not empty when hitting the commandLink. I have tried by setting the required attribute, but then it's set for all rows, which I do not want.
    Alternatively I approached it via Javascript, but it occurred to me that I don't know the id of the field on the row where the commandlink is clicked.
    Can anyone help me out with this?
    Thanks

    tombatore wrote:
    Now, I need to make sure that the description is not empty when hitting the commandLink. I have tried by setting the required attribute, but then it's set for all rows, which I do not want.This should work:required="#{!empty param['formId:dataTableId:rowId:commandLinkId']}"The 'rowId' part can be obtained from UIData#getRowIndex().
    Alternatively I approached it via Javascript, but it occurred to me that I don't know the id of the field on the row where the commandlink is clicked.Make use of the 'this' reference and pass the commandlink element itself as argument to the JS function.
    onclick="foo(this)"
    function foo(element) {
        var id = element.id;
        // You can do substring and/or replace here and then get element by id from document.
    }

  • "must choose at least one" validation in dataTable?

    Hello, group,
    How do you validate a set of checkboxes, one per table row, in which the user must select at least one?
    We have a page containing a dataTable, each row of which represents an object, one of whose attributes is "active". Our requirement is that at least one object must be selected as "active" by the user.
    How do we validate this?
    I'm considering the following:
    (1) Put a validator on each checkbox that simply increments a count in a request-scoped bean if the checkbox is checked (and always returns success).
    (2) Put a validator on a hidden field at the bottom of the form that requires the count be greater than zero.
    Is there a better way? (Will this even work at all? :) )
    Thanks.
    John.

    Looks interesting, thank you very much.
    I would actually need the multiple row selector, I think, since the requirement is at least one. I see there's no "validator" attribute, but I assume we could just hang a f:validator off of it (or write our attribute and submit a patch!).
    That jenia component set looks good for some other requirements we have.
    John.

  • Nested dataTable bug?

    I�m having a problem with nested dataTables. The complete source code is attached.
    My backing bean has properties keys and map. Keys is an array of strings. Map is a map keyed off keys with string array values.
    The faces jsp creates a table with one row per key. The key is displayed in the first column and the second column holds another table displaying the elements of the corresponding map entry.
    Various command links with nested <f:param> elements are in the cells and footers of the nested table. The parameter values reference the var property of either the inner or outer tables. All command links reference the same action listener which prints the value of the parameter to stdout.
    Clicking on outer var always works.
    Clicking on inner var yields the correct result only if you are in the last row of the outer table.
    Clicking once on any of the footer link command links causes the action listener to be invoked once for each row of the outer table.
    Have I found a bug, am I doing something wrong, or is this functionality not supported?
    Any help appreciated.
    Nick
    Backing Bean Source:
    package test;
    import java.util.*;
    import javax.faces.component.UIParameter;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
    public class NestedTableBean {
         private Map map;
         private String[] keys;
         public NestedTableBean() {
              keys = new String[]{"1", "2", "3"};
              map = new HashMap();
              map.put(keys[0], new String[]{"1a", "1b", "1c"});
              map.put(keys[1], new String[]{"2a", "2b", "2c"});
              map.put(keys[2], new String[]{"3a", "3b", "3c"});
         public Map getMap() {
              return map;
         public String[] getKeys() {
              return keys;
         public void doIt(ActionEvent actionEvent) {
              String param = null;
             List children = actionEvent.getComponent().getChildren();
             for (int i = 0; i < children.size(); i++) {
               if (children.get(i) instanceof UIParameter) {
                 UIParameter currentParam = (UIParameter) children.get(i);
                 if (currentParam.getName().equals("param") &&
                     currentParam.getValue() != null) {
                   param = currentParam.getValue().toString();
                   break;
             FacesContext context = FacesContext.getCurrentInstance();
             String id = actionEvent.getComponent().getClientId(context);
             System.out.println("In doIt(), component id: "+id+", param: "+param);
    }Faces JSP Source:
    <h:dataTable border="2" value="#{nestedTable.keys}" var="outerVar">
    <h:column>
      <h:outputText value="#{outerVar}"/>
    </h:column>
    <h:column>
      <h:dataTable  border="1" value="#{nestedTable.map[outerVar]}" var="innerVar">
       <h:column>
        <h:panelGrid columns="3">
         <h:outputText value="#{innerVar}"/>
         <h:commandLink actionListener="#{nestedTable.doIt}">
          <h:outputText value="outerVar"/>
          <f:param name="param" value="#{outerVar}"/>
         </h:commandLink>
         <h:commandLink actionListener="#{nestedTable.doIt}">
          <h:outputText value="innerVar"/>
          <f:param name="param" value="#{innerVar}"/>
         </h:commandLink>
        </h:panelGrid>
       </h:column>
       <f:facet name="footer">
        <h:panelGrid columns="2">
         <h:commandLink actionListener="#{nestedTable.doIt}">
          <h:outputText value="footer link"/>
          <f:param name="param" value="#{outerVar}"/>
         </h:commandLink>
        </h:panelGrid>
       </f:facet>
      </h:dataTable>
    </h:column>
    </h:dataTable>

    Hello,
    I have the same problem, when I use an nested dataTable the ActionEvent of the Second dataTable get always the Last Row of the First dataTable.
    The complete code :
    -=-=-=-=-=-=-=-=-=-=-=-=- PAGE.JSP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    <h:dataTable id="categorias" var="categoria" value="#{UserBean.allCategorias}">
        <h:column>
            <h:dataTable id="items" var="item" value="#{categoria.items}">
               <f:facet name="header">
                   <h:outputText value="#{categoria.nome}" />
               </f:facet>
               <h:column>
                   <f:facet name="header">
                       <h:outputText value="Item" />
                   </f:facet>
                   <h:outputText value="#{item.nome}" />
               </h:column>
               <h:column>
                   <f:facet name="header">
                       <h:outputText value="Qtd Solicitada" />
                   </f:facet>
                    <h:outputText value="#{item.qtdSolicitada}" />
                </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText value="Qtd Recebida" />
                </f:facet>
                <h:outputText value="#{item.qtdEfetivada}" />
             </h:column>
              <h:column>
                  <h:panelGrid columns="2">
                      <h:inputText id="selected" size="5" />
                      <h:commandButton id="confirmar" immediate="true" image="images/confirmar_1.gif" actionListener="#{UserBean.processAction}">
                          <f:param id="itemId" name="id" value="#{item.nome}" />
                      </h:commandButton>
                  </h:panelGrid>
             </h:column>
         </h:dataTable>
    </h:column>
    </h:dataTable>-=-=-=-=-=-=-=-=-=-=-=-=- UserBean.java -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    public void processAction(ActionEvent event) throws AbortProcessingException {
        /* Find the UIParameter component by expression */
       UIParameter component = (UIParameter) event.getComponent().findComponent("itemId");
       /* param itemId - Wrong (use Debug to see) */
    }

  • Validations in datatable

    Hi
    I have a form generate by a datatable and I want to validate my form with a validator.
    I need to acces to the value of inputs but I don't know how I can acces to it because when I use a binding it don't work.
    I 'll paste my code it will be more clear.
    <h:dataTable value="#{CreerDemandeBean.lesLignesDemandes}" var="uneLigne">
              <f:facet name="header">
                   <f:verbatim>
                        Nombre de jours pour chaque type de Cong�s
                   </f:verbatim>
              </f:facet>
              <h:column>
                   <h:outputText value="#{uneLigne.type.libelle}" />
              </h:column>
              <h:column binding="#{CreerDemandeBean.maListe}">
                   <h:inputText id="nb" value="#{uneLigne.nbjours}" ><f:convertNumber/></h:inputText>
              </h:column>
              <h:column>
                        <h:message for="nb"/>
              </h:column>
              <f:facet name="footer">
                   <h:panelGroup id="panel">
                        <h:commandButton value="Valider" action="#{CreerDemandeBean.validerDemande}"/>
                        <h:commandButton value="Reset" type="reset"/>
                   </h:panelGroup>
              </f:facet>
              </h:dataTable>
              <h:inputHidden id="validate" value="needed" required="true" validator="#{CreerDemandeBean.validate}"/>
              <h:message for="validate" />
    Please help me .....

    In your CreerDemandeBean class, you can have an array list that keeps track of the rows in your table. Example:
    public class CreerDemandeBean {
        private ArrayList lignesDemandes;
        public CreerDemandeBean() {
            lesLignesDemandes = new ArrayList();
            // Add all rows in your table here.
        public ArrayList getLesLignesDemandes() {
            return lesLignesDemandes;
        public void validate(FacesContext context, UIComponent component,
                                           Object value) {
            int i;
            for (i= 0; i < lesLignesDemandes.size(); i++) {
                UneLigne uneLigne = (UneLigne) lesLignesDemandes.get(i);
                // Check content of UneLigne. If not valid, throw ValidatorException.
                // ex.:
                // if (uneLigne.nbjours < 0) {
                //     FacesMessage errMsg = new FacesMessage(msg);
                //     errMsg.setSeverity(FacesMessage.SEVERITY_ERROR);
                //     throw new ValidatorException(errMsg);
       }

  • Validation with DTD: Bug in Oracle 10g?

    Hi
    The following example works with Oracle 11g, but not with Oracle 10g.
    I have a XML-document (familie.xml) and a DTD-Document (familie.dtd). The XML-document is not valide, because I changed the tag "Vater" into "Dad". Within
    the DTD the "Vater"-element is described as follow: <!ELEMENT Familie (Vater, Mutter, Kind) >. If I validate the document, I get in Oracle 11g this exception:
    Unexpected Error: ORA-31011: XML-Parsing not succesful
    LPX-00104: Warning: Element "Dad" is not declared in the DTD.
    Error at line 3 occured.
    This Error is right!! But if I try the SAME example in Oracle 10g, I don't get a Exception!!!! But I should become one.
    Have anyone tested DTD-Validation in Oracle 10g or is it a bug?
    <?xml version='1.0' encoding='ISO-8859-15' ?>
    <!-- Dokument beschreibt eine Familie -->
    <Familie>
         <Dad>
              <Name>Meier</Name>
    <Vorname>David</Vorname>
         </Dad>
         <Mutter>
              <Name>Baumann</Name>
              <Vorname>Charlotte</Vorname>
         </Mutter>
         <Kind>
              <Name>Slota</Name>
              <Vorname>Kaharina</Vorname>
         </Kind>
    </Familie>
    <!ELEMENT Familie (Vater, Mutter, Kind) >
    <!ELEMENT Vater (Name, Vorname)>
    <!ELEMENT Mutter (Name, Vorname)>
    <!ELEMENT Kind (Name, Vorname) >
    <!ELEMENT Name (#PCDATA) >
    <!ELEMENT Vorname (#PCDATA) >
    set directory TEST_DIR as '....';
    DECLARE
    v_parser xmlparser.parser;
    v_document xmldom.DOMDocument;
    v_nodeList xmldom.DOMNodeList;
    v_number NUMBER;
    v_xmlDatei VARCHAR2(32);
    v_dtdDatei varchar2(32);
    parserError EXCEPTION;
    PRAGMA EXCEPTION_INIT(parserError, -20100);
    BEGIN
    v_xmlDatei := 'familie.xml';
    v_dtdDatei := 'familie.dtd';
    v_parser := xmlparser.newParser();
    DBMS_XMLPARSER.setBaseDir(v_parser, 'TEST_DIR');
    xmlparser.setValidationMode(v_parser, TRUE);
    xmlparser.parseDTD(v_parser, v_dtdDatei, 'Familie');
    xmlparser.parse(v_parser, v_xmlDatei);
    v_document:=xmlparser.getDocument(v_parser);
    xmlparser.freeParser(v_parser);
    xmldom.freeDocument(v_document);
    EXCEPTION
    WHEN parserError THEN
    xmlparser.freeParser(v_parser);
    dbms_output.put_line('Fehler beim Parsen: ' || SQLERRM);
    WHEN OTHERS THEN
    dbms_output.put_line('Unerwarteter Fehler: ' || ' ' || SQLERRM);
    END;
    null
    Message was edited by:
    user638576

    Do your sequence and column have the same name? In your code sample, it looks like they do:
    INSERT INTO LSTKPI (KPIIDD, PRMNME, KPISUP, TEMIDD1)
    VALUES (KPIIDD.NEXTVAL, NEXTPRM.PRMNME, NEXTSTA.STANAM, PDRTEM_PKG_1.rids(i));
    Maybe that has confused the parser.
    As Oracle moves forward, you can expect more object-oriented functionality. That could mean that columns could have their own attributes or methods. If so, how is the parser to know whether in this code the value KPIIDD.NEXTVAL refers to the (external) sequence or a column attribute?
    As a suggestion, try renaming the sequence.
    create sequence KPIIDD_SEQ start with ... ;
    INSERT INTO LSTKPI (KPIIDD, PRMNME, KPISUP, TEMIDD1)
    VALUES (KPIIDD_SEQ.NEXTVAL, NEXTPRM.PRMNME, NEXTSTA.STANAM, PDRTEM_PKG_1.rids(i));
    HTH,
    - Doug

  • Jdev3.1/ Validator problem or bug???

    Hi,
    On one of the entity attributes, i have added a listValidator. this validates against a list of values from a select statement. The problem is that while testing the appl module, once i enter a correct value in the concerned field and tab out. now if i want to go to that field and make it blank, the validation still fires and fails. I want the user to be able to enter a blank value but also want to make sure that if the value is not blank, it is correct.
    is there any way of doing it in jdeveloper or will i have to write my own class for such a small thing.
    Aparna.

    This is actually quite simple once you know how.
    All you need to do is write a method:
    public boolean validate<Column>( String nv )
    I had the liberty of doing this on one
    of my entity objects - Customer -
    on the attribute name WebSite, so I wrote:
    public boolean validateWebSite(String nv) {
    //TODO: Add custom implementation.
    boolean bValid =
    ( nv == null ) &#0124; &#0124;
    ( nv.trim().length() == 0 ) &#0124; &#0124;
    ( nv.compareTo( "Sample1" ) == 0 ) &#0124; &#0124;
    ( nv.compareTo( "Sample2" ) == 0 ) &#0124; &#0124;
    ( nv.compareTo( "Sample3" ) == 0 ) &#0124; &#0124;
    ( nv.compareTo( "Sample4" ) == 0 ) &#0124; &#0124;
    ( nv.compareTo( "SampleN" ) == 0 )
    return bValid;
    And then I went into the Entity Editor
    -Right click on Entity and select Edit ...
    Click on the Validation tab to go there
    Select attribute of choice <WebSite>
    Press the Add... button to add a rule to this attribute - Up opens the next dialog.
    In the top list of - Rules: - Select MethodValidator
    Given a correctly defined method
    name and signature, then the method name would appear in the list of candidate methods below and then select it and press OK to accept this method as your validator.
    If it does not appear, edit the code so it is correct & compiles.
    I did just such a test and what happend
    was I could enter Sample1, Sample2, Blank
    but nothing else - as I had designed it.
    So, it may seem like alot, but writing
    one boolean validation method is not alot
    of work given how easy the hookup of logic
    to the framework happens.
    I hope this helps,
    -John
    null

  • DataTable bug?

    I cant seem to get this working and have no idea why.
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <html>
    <head>
    <title>evidence</title>
    </head>
    <body>
          <f:view> 
          <h:outputText value="#{bean.evidence.evidenceid}" />
            <h:form>
                <rich:datascroller align="left"  for="evidenceList" maxPages="20" />
                <rich:spacer height="30" />
                <rich:dataTable  rows="10" id="evidenceList" value="#{bean.allEvidence}" var="ev">
                   <h:column>
                        <f:facet name="header">
                             <h:outputText value="EvidenceId" />
                        </f:facet>
                        <h:outputText value="#{ev.evidenceid}" />
                   </h:column>
                   </rich:dataTable>
            </h:form>
    </f:view>
    </body>
    </html>
    <h:outputText value="#{ev}" /> works and I see the bracketed toString output of the object e.g. [[1],[1]]
    Bean -:
    package uk.ac.ukoln.impact.bean;
    import java.util.ArrayList;
    import java.util.List;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import uk.ac.ukoln.impact.entity.Evidence;
    public class Bean {
         String text;
         public Bean() {
         public String getText() {
         return text;
         public void setText(String text) {
         this.text = text;
         public Evidence getEvidence() {
              Evidence e = new Evidence();
              e.setEvidenceid(100);
              e.setMsginid(100);
              return e;
         public List<Evidence> getAllEvidence() {
              EntityManagerFactory emf = Persistence.createEntityManagerFactory("example");     
            EntityManager  em = emf.createEntityManager();
            List<Evidence> evidences = null;
            try {
                em.getTransaction().begin();
                return em.createNativeQuery("SELECT * FROM evidence").getResultList();
            } catch(Exception ex) {
                em.getTransaction().rollback();
            } finally {
                em.close();
              return null;
    }Entity -:
    package uk.ac.ukoln.impact.entity;
    import java.io.Serializable;
    import java.util.Set;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.OneToOne;
    @Entity
    public class Evidence implements Serializable {
         @Id
         private int evidenceid;
         private int msginid;
         @OneToOne
         @JoinTable(name="report_evidence",
              joinColumns=@JoinColumn(name="evidenceId"),
              inverseJoinColumns=@JoinColumn(name="reportId"))
         private Set<Report> reportCollection;
         private static final long serialVersionUID = 1L;
         public Evidence() {
              super();
         public int getEvidenceid() {
              return this.evidenceid;
         public void setEvidenceid(int evidenceid) {
              this.evidenceid = evidenceid;
         public String getEid() {
              return "jggf";
         public void setEid(String Eid) {
         public int getMsginid() {
              return this.msginid;
         public void setMsginid(int msginid) {
              this.msginid = msginid;
         public Set<Report> getReportCollection() {
              return this.reportCollection;
         public void setReportCollection(Set<Report> reportCollection) {
              this.reportCollection = reportCollection;
    }I am using tomcat 6, jsf1.2 latest and richfaces - the problem is still there with h:dataTable and all standard taglibs.
    I am sure I must be missing something easy but cant figure this one out. Any help appreciated.

    Forgot the stack
    SEVERE: Servlet.service() for servlet Faces Servlet threw exception
    java.lang.NumberFormatException: For input string: "evidenceid"
         at java.lang.NumberFormatException.forInputString(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)
         at javax.el.ListELResolver.coerce(ListELResolver.java:166)
         at javax.el.ListELResolver.getValue(ListELResolver.java:51)
         at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
         at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:73)
         at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
         at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
         at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
         at javax.faces.component.UIOutput.getValue(UIOutput.java:184)
         at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
         at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:284)
         at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:154)
         at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:850)
         at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286)
         at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
         at org.richfaces.renderkit.AbstractTableRenderer.encodeOneRow(AbstractTableRenderer.java:246)
         at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:87)
         at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
         at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:994)
         at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:107)
         at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:92)
         at org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:139)
         at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:826)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
         at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
         at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:826)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
         at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:273)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:204)
         at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
         at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
         at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)

  • DataTable in dataTable fix details (JSF 1.1)

    I posted a message yesterday indicating that some of the problems with nested dataTables had not been fixed in the JSF 1.1 release. Since that posting, I have done some more research, and have more specific information regarding the remaining problems and a way to fix them. The remaining problems are:
    1) Values from inputText fields in the inner dataTable are ignored on submit (except for the last row of the table). The problem is that processDecodes is called on the inner table component multiple times (once per row of the outer table), and the "saved = new HashMap();" statement effectively wipes out any values that were decoded from the previous row, so that at the end of the process, the only decoded values that remain are those from the last row. My suggested fix for that problem is:
    a) to create a "boolean isOuterTable()" method on UIData that determines whether or not this table is the outermost table (i.e. go up through the parent chain and see if there are any UIData ancestors).
    b) create a "clearSaved" method on UIData as follows:
    protected void clearSaved() {
        saved = new HashMap();
    }c) create a "clearDescendants" method on UIData that goes visits all of the UIData's descendants (i.e. facets and children, and their facets and children, recursively), and calls clearSaved on any UIData components that are found
    d) in the processDecodes method for UIData, replace:
    saved = new HashMap();with
    if (isOuterTable()) {
        clearSaved();
        clearDescendants();
    }2) When a commandButton in the inner dataTable is clicked, actions are fired for all rows of the outer dataTable. This is one case of a larger problem. The implementation of getClientId in UIComponentBase uses a cached value, if the ID has been computed previously. For components within dataTables, this is a problem because these components are referenced multiple times for different rows of the outer table, and the row number of the outer table is part of the client ID. To fix this, I suggest the following (maybe overkill, but it works):
    a) Create a "clearCachedValues" method on UIData, which visits all of the UIData's descendants, and sets their clientId to null. A hack to do this is:
    descendant.setId(descendant.getId())It would be better to have a method on UIComponent for this. NOTE: I have also found that if I come across a descendant that is a UIData, I also need to set that component's "model" attribute to null, because the calculation of this model refers to that dataTable's value valueBinding, which may be defined in terms of the current row of the outer table.
    b) Add a call to clearCachedValues to the end of the setRowIndex method on UIData.
    There may be other, better ways to fix these problems, but I thought it might be helpful to describe my fixes in detail, so that whoever is responsible for fixing the reference implementation can at least have the benefit of my research.
    I would like to see a bug opened for these problems, and I would like to be able to see the descriptions of known JSF bugs. Before JSF 1.1 came out I was worried that the nested dataTables bug (C026) description (which I was unable to find) might not be complete, and that as a result, the problems with nested dataTables would not be completely fixed in JSF 1.1. As it turned out my worries were not unfounded.

    JD> 2) When a commandButton in the inner dataTable is clicked, actions
    JD> are fired for all rows of the outer dataTable. This is one case of a
    JD> larger problem. The implementation of getClientId in UIComponentBase
    JD> uses a cached value, if the ID has been computed previously. For
    JD> components within dataTables, this is a problem because these
    JD> components are referenced multiple times for different rows of the
    JD> outer table, and the row number of the outer table is part of the
    JD> client ID. To fix this, I suggest the following (maybe overkill, but
    JD> it works):
    I've fixed part 1). I've essentially done as you suggested.
    I can't reproduce part 2). I've posted the webapp where I try to do
    this at
    http://blogs.sun.com/roller/resources/edburns/jsf-nested-datatables.war
    Please put the JSF 1.1 jars in common lib, or WEB-INF/lib in this war
    and then visit
    http://host:port/jsf-nested-datatables/faces/test2.jsp
    Click on the outer buttons, you'll see that the outer listener fires
    once.
    Click on the inner buttons, you'll see that the inner listener once.
    Can you please help me reproduce this?
    Ed

  • Arch bug triage howto or good practices

    Hello,
    I have been looking around the wiki and the forum and I did not found relevant information about how to help with Arch's bug tracker.
    Also searching with keywords around "bugs" return a lot of posts in the forum and I might have missed the relevant post.
    So I am wondering how I could help with triaging bugs at Arch ? I might also create a wiki page with any information from this post, to help newcomers willing to help.
    If it is quite obvious that one could help by submitting patches, try to reproduce some bugs, invalidate some others, report bugs upstream, there are a few cases where I do not know what to do.
    Lets take 2 examples :
    http://bugs.archlinux.org/task/9052
    The bug is related to some old versions of xorg, xulrunner and epiphany in testing. There are some new packages in core/extra.
    Can I request a closure for this bug since it is related to old packages (and even the bug does not seem Arch related), or shall I just post a comment asking for confirmation of the validity of this bug with the new versions ?
    http://bugs.archlinux.org/task/10101
    In this bug a problem was raised with f-spot. I tried to help the user, and even provided a PKGBUILD with a patch from upstream so that he can recompile and test again. But the user seems to be disapointed by Arch and wants to quit. He does not seem to want to provide more information about his problem and do not answer to my request for more information. As the user might be away for a while, is there a period after which I can request a closure for this bug (a month after the last post), since I am pretty sure that the patch from upstream fixed the issue, and nobody else confirmed the bug, and the user seems to not answer to my request for more information ?
    My problem is : in such cases, shall I request a closure for the bug, taking the risk that the user re-open it, or shall I just put a comment to say why I think this bug should be closed ? What is the best way to help you devs at making your work easier with bugs, after submitting patched of course ?
    Thank you for your help !

    I don't remember a specific page.  Essentially to bug squash all you have to do is look at bugs and see if they are valid.  If not, ask for them to be closed.  If they are still valid, see if you can find a fix.  Google often turns up fixes for older bugs, particularly in other distros bug trackers or the mailing lists for the software itself.
    Occasionally there is an organized bug day which gets announced everywhere.  There is somethings a list of bugs that are targeted (e.g. http://wiki.archlinux.org/index.php/Bug_Day_TODO which is probably out of date) but most often people just browse the bug reports looking for bug they may be able to help with.  However, you don't have to wait for these.  Just get in and help!
    If you want to create a wiki page, post a link here when you are done and I will give it a look over.

  • GeoRaptor 3.0 for SQL Developer 3.0 and 2.1 has now been released

    Folks,
    I am pleased to announce that, after 5 months of development and testing, a new release of GeoRaptor for SQL Developer 2.1 and 3.0 is now available.
    GeoRaptor for SQL Developer 3 is available via the SQL Developer Update centre. GeoRaptor 3 for SQL Developer 2.1 is being made available
    via a download fro the GeoRaptor website.
    No release notes have been compiled as the principal developer (oops, that's me!) is currently busy doing real work for a change (another 3 weeks), earning a living
    and keeping the wolves at bay. More extensive notes (with images) will be compiled when I get back. (Unless anyone is offering! See next.)
    We are still looking for people to:
    1. Provide translations of the English dialog menus etc.
    2. Write more extensive user documentation. If you use a particular part of GeoRaptor a lot and think
    you have found out all its functionality and quirks, contact us and offer to write a few pages of
    documentation on it. (Open Office or Microsoft Word is fine.) Easiest way to do this is to simply
    make screen captures and annotate with text.
    3. Conduct beta testing.
    Here are the things that are in the new release.
    New functionality:
    Overhaul of Validation Functionality.
    1. User can specify own validation SELECT SQL as long as it returns three required columns. The SQL is thus totally editable.
    2. Validation update code now allows user to associate a PL/SQL function with an error number which is applied in the UPDATE SQL.
    3. UPDATE SQL can use WHERE clause of validation SELECT SQL (1) to update specific errors.
       NOTE: The generated UPDATE statement can be manually edited. It is NEVER run by GeoRaptor. To run any UPDATE, copy the statement
       to the clipboard and run in an appropriate SQL Worksheet session within SQL Developer.
    4. Main validation table allows:
       a. Sorting (click on column header) and
       b. Filtering.
       c. Copying to Clipboard via right mouse click sub menu of:
          - Geometry's SDO_ELEM_INFO array constructor.
          - SDO_GEOMETRY constructor
          - Error + validation string.
       d. Access to Draw/Zoom functions which were previously buttons.
       e. Added a new right mouse click menu "Show Feature's Individual Errors" that gathers up all the errors
          it can process - along with the ring / element that is host to the error (if it can) - and displays
          them in the Attribute/Geometry tabs at the bottom of the Map Window (where "Identify" places its results).
          The power of this will be evident to all those who have wanted a way of stepping through errors in a geometry.
       f. Selected rows can now be deleted (select rows: press <DELETE> key or right mouse click>Delete).
       g. Table now has only one primary key column, and has a separate error column holding the actual error code.
       h. Right mouse click men added to table menu to display description of error in the new column (drawn from Oracle documentation)
       i. Optimisations added to improve performance for large error lists.
    5. Functionality now has its own validation layer that is automatically added to the correct view.
       Access to layer properties via button on validation dialog or via normal right mouse click in view/layer tree.
    Improved Rendering Options.
    1. Linestring colour can now be random or drawn from column in database (as per Fill and Point colouring)
    2. Marking of SDO_GEOMETRY objects overhauled.
       - Ability to mark or LABEL vertices/points of all SDO_GEOMETRY types with coordinate identifier and
         option {X,Y} location. Access is via Labelling tab in layer>properties. Thus, coordinate 25 of a linestring
         could be shown as: <25> or {x,y} or <25> {x,y}
       - There is a nice "stacked" option where the coordinate {x,y} can be written one line below the id.
       - For linestrings and polygons the <id> {x,y} label can be oriented to the angle between the vectors or
         edges that come in, and go out of, a vertex. Access is via "Orient" tick box in Labelling tab.
       - Uses Tools>Preferences>GeoRaptor>Visualisation>SDO_ORDINATE_ARRAY bracket around x,y string.
    3. Start point of linestring/polygon and all other vertices can be marked with user selectable point marker
       rather than previously fixed markers.
    4. Can now set a NULL point marker by selecting "None" for point marker style pulldown menu.
    5. Positioning of the arrow for linestring/polygons has extra options:
       * NONE
       * START    - All segments of a line have the arrow positioned at the start
       * MIDDLE   - All segments of a line have the arrow positioning in the middle.
       * END      - All segments of a line have the arrow positioning in the END.
       * END_ONLY - Only the last segment has an arrow and at its end.
    ScaleBar.
    1. A new graphic ScaleBar option has been added for the map of each view.
       For geographic/geodetic SRIDs distances are currently shown in meters;
       For all SRIDs an attempt is made to "adapt" the scaleBar units depending
       on the zoom level. So, if you zoom right in you might get the distance shown
       as mm, and as you zoom out, cm/m/km as appropriate.
    2. As the scaleBar is drawn, a 1:<DEMONINATOR> style MapScale value is written
       to the map's right most status bar element.
    3. ScaleBar and MapScale can be turned off/on in View>Properties right mouse
       click menu.
    Export Capabilities.
    1. The ability to export a selection from a result set table (ie result of
       executing ad-hoc SQL SELECT statement to GML, KML, SHP/TAB (TAB file
       adds TAB file "wrapper" over SHP) has been added.
    2. Ability to export table/view/materialised view to GML, KML, SHP/TAB also
       added. If no attributes are selected when exporting to a SHP/TAB file, GeoRaptor
       automatically adds a field that holds a unique row number.
    3. When exporting to KML:
       * one can optionally export attributes.
       * Web sensitive characters < > & etc for KML export are replaced with &gt; &lt; &amp; etc.
       * If a column in the SELECTION or table/view/Mview equals "name" then its value is
         written to the KML tag <name> and not to the list of associated attributes.
         - Similarly for "description" -> <description> AND "styleUrl" -> <styleUrl>
    4. When exporting to GML one can optionally export attributes in FME or OGR "flavour".
    5. Exporting Measured SDO_GEOMETRY objects to SHP not supported until missing functionality
       in GeoTools is corrected (working with GeoTools community to fix).
    6. Writing PRJ and MapInfo CoordSys is done by pasting a string into appropriate export dialog box.
       Last value pasted is remembered between sessions which is useful for users who work with a single SRID.
    7. Export directory is remembered between sessions in case a user uses a standard export directory.
    8. Result sets containing MDSYS.SDO_POINT and/or MDSYS.VERTEX_TYPE can also be written to GML/KML/SHP/TAB.
       Example:
       SELECT a.geom.sdo_point as point
         FROM (SELECT sdo_geometry(2002,null,sdo_point_type(1,2,null),sdo_elem_info_array(1,2,1),sdo_ordinate_array(1,1,2,2)) as geom
                 FROM DUAL) a;
       SELECT mdsys.vertex_type(a.x,a.y,a.z,a.w,a.v5,a.v6,a.v7,a.v8,a.v9,a.v10,a.v11,a.id) as vertex
         FROM TABLE(mdsys.sdo_util.getVertices(mdsys.sdo_geometry(2002,null,null,sdo_elem_info_array(1,2,1),sdo_ordinate_array(1,1,2,2)))) a;
    9. A dialog appears at the end of each export which details (eg total) what was exported when the exported recordset/table contains more
       than on shape type. For example, if you export only points eg 2001/3001 from a table that also contains multipoints eg 2005/3005 then
       the number of points exported, and multipoints skipped will be displayed.
    10. SHP/TAB export is "transactional". If you set the commit interval to 100 then only 100 records are held in memory before writing.
        However, this does not currently apply to the associated DBASE records.
    11. SHP/TAB export supports dBase III, dBase III + Memo, dBase IV and dBase IV + Memo.
        Note: Memo allows text columns > 255 characters to be exported. Non-Memo formats do not and any varchar2 columns will be truncated
        to 255 chars. Some GIS packages support MEMO eg Manifold GIS, some do not.
    12. Note. GeoRaptor does not ensure that the SRID of SDO_GEOMETRY data exported to KML is in the correct Google Projection.
        Please read the Oracle documentation on how to project your data is this is necessary. An example is:
        SELECT OBJECTID,
               CODIGO as name,
               NOME as description,
               MI_STYLE,
               SDO_CS.TRANSFORM(shape,'USE_SPHERICAL',4055) as shape
          FROM MUB.REGIONAL;
    13. NOTE: The SHP exporter uses the Java Topology Suite (JTS) to convert from SDO_GEOMETRY to the ESRI Shape format. JTS does not handle
        circular curves in SDO_GEOMETRY objects you must "stroke" them using sdo_util.arc_densify(). See the Oracle documentation on how
        to use this.
    Miscellaneous.
    1. Selection View - Measurement has been modified so that the final result only shows those geometry
       types that were actually measured.
    2. In Layer Properties the Miscellaneous tab has been removed because the only elements in it were the
       Geometry Output options which have now been replaced by the new GML/KML/etc export capabilities.
    3. Shapefile import's user entered tablename now checked for Oracle naming convention compliance.
    4. Identify based on SDO_NN has been removed from GeoRaptor given the myriad problems that it seems to create across versions
       and partitioned/non-partitioned tables. Instead SDO_WITHIN_DISTANCE is now used with the actual search distance (see circle
       in map display): everything within that distance is returned.
    5. Displaying/Not displaying embedded sdo_point in line/polygon (Jamie Keene), is now controlled by
       a preference.
    6. New View Menu options to switch all layers on/off
    7. Tools/Preferences/GeoRaptor layout has been improved.
    8. If Identify is called on a geometry a new right mouse click menu entry has been added called "Mark" which
       has two sub-menus called ID and ID(X,Y) that will add the labeling to the selected geometry independently of
       what the layer is set to being.
    9. Two new methods for rendering an SDO_GEOMETRY object in a table or SQL recordset have been added: a) Show geometry as ICON
       and b) Show geometry as THUMBNAIL. When the latter is chosen, the actual geometry is shown in an image _inside_ the row/column cell it occupies.
       In addition, the existing textual methods for visualisation: WKT, KML, GML etc have been collected together with ICON and THUMBNAIL in a new
       right mouse click menu.
    10. Tables/Views/MViews without spatial indexes can now be added to a Spatial View. To stop large tables from killing rendering, a new preference
        has been added "Table Count Limit" (default 1,000) which controls how many geometry records can be displayed. A table without a spatial
        index will have its layer name rendered in Italics and will write a warning message in red to the status bar for each redraw. Adding an index
        which the layer exists will be recognised by GeoRaptor during drawing and switch the layer across to normal rendering.
    Some Bug Fixes.
    * Error in manage metadata related to getting metadata across all schemas
    * Bug with no display of rowid in Identify results fixed;
    * Some fixes relating to where clause application in geometry validation.
    * Fixes bug with scrollbars on view/layer tree not working.
    * Problem with the spatial networks fixed. Actions for spatial networks can now only be done in the
      schema of the current user, as it could happen that a user opens the tree for another schema that
      has the same network as in the user's schema. Dropping a drops only the network of the current connected user.
    * Recordset "find sdo_geometry cell" code has been modified so that it now appears only if a suitable geometry object is
      in a recordset.  Please note that there is a bug in SQL Developer (2.1 and 3.0) that causes SQL Developer to not
      register a change in selection from a single cell to a whole row when one left clicks at the left-most "row number"
      column that is not part of the SELECT statements user columns, as a short cut to selecting a whole row.  It appears
      that this is a SQL Developer bug so nothing can be done about it until it is fixed. To select a whole row, select all
      cells in the row.
    * Copy to clipboard of SDO_GEOMETRY with M and Z values forgot has extraneous "," at the end.
    * Column based colouring of markers fixed
    * Bunch of performance improvements.
    * Plus (happily) others that I can't remember!If you find any bugs register a bug report at our website.
    If you want to help with testing, contact us at our website.
    My thanks for help in this release to:
    1. John O'Toole
    2. Holger Labe
    3. Sandro Costa
    4. Marco Giana
    5. Luc van Linden
    6. Pieter Minnaar
    7. Warwick Wilson
    8. Jody Garnett (GeoTools bug issues)
    Finally, when at the Washington User Conference I explained the willingness of the GeoRaptor Team to work
    for some sort of integration of our "product" with the new Spatial extension that has just been released in SQL
    Developer 3.0. Nothing much has come of that initial contact and I hope more will come of it.
    In the end, it is you, the real users who should and will decide the way forward. If you have ideas, wishes etc,
    please contact the GeoRaptor team via our SourceForge website, or start a "wishlist" thread on this forum
    expressing ideas for future functionality and integration opportunities.
    regards
    Simon
    Edited by: sgreener on Jun 12, 2011 2:15 PM

    Thank you for this.
    I have been messing around with this last few days, and i really love the feature to pinpoint the validation errors on map.
    I has always been so annoying to try pinpoint these errors using some other GIS software while doing your sql.
    I have stumbled to few bugs:
    1. In "Validate geometry column" dialog checking option "Use DimInfo" actually still uses value entered in tolerance text box.
    I found this because in my language settings , is the decimal operators
    2. In "Validate geometry column" dialog textboxs showing sql, doesn't always show everything from long lines of text (clipping text from right)
    3. In "Validate geometry column" dialog the "Create Update SQL" has few bugs:
    - if you have selected multiple rows from results and check the "Use Selected Geometries" the generated IN-clause in SQL with have same rowid (rowid for first selected result) for all entries
    Also the other generated IN clause in WHERE-clause is missing separator if you select more than one corrective function
    4. "Validate geometry column" dialog stays annoyingly top most when using "Create Update SQL" dialog

  • Imminent Release of new GeoRaptor Version

    Folks,
    I am pleased to announce, after 4 months of development and testing, that a new release of GeoRaptor should be released hopefully before
    the 2011 Oracle Spatial User Conference in Washington DC this Thursday 19th.
    The release manager will make that release but firstly we have to work out how to handle support for SQL Developer 2.1 (which a lot of you
    use) and 3.0 (which has recently been released). The reason for this is that the SQL Developer team changed some API calls such that
    we have to make separate compilations. We are not sure how to support these within the SQL Developer extensions distribution framework.
    It may be that we support download of the 3.0 version via the Oracle extension publication mechanism and the 2.1 version via direct download
    from our Sourceforge website. We will inform you when this has been resolved.
    No release notes have been compiled as the principal developer (oops, that's me!) will be leaving Australia tomorrow to attend the DC User Conference.
    More extensive notes (with images) will be compiled when I get back.
    We are still looking for people to:
    1. Provide translations of the English dialog menus etc.
    2. Write more extensive user documentation. If you use a particular part of GeoRaptor a lot and think you have found out all its functionality and quirks, contact
    us and offer to write a few pages of documentation on it. (Open Office or Microsoft Word is fine.)
    Here are the things that are in the next release.
    New functionality:
    Overhaul of Validation Functionality.
    1. User can specify own validation SELECT SQL as long as it returns three required columns. The SQL is thus totally editable.
    2. Validation update code now allows user to associate a PL/SQL function with an error number which is applied in the UPDATE SQL.
    3. UPDATE SQL can use WHERE clause of validation SELECT SQL (1) to update specific errors.
       NOTE: The generated UPDATE statement can be manually edited. It is NEVER run by GeoRaptor. To run any UPDATE, copy the statement
       to the clipboard and run in an appropriate SQL Worksheet session within SQL Developer.
    4. Main validation table allows:
       a. Sorting (click on column header) and
       b. Filtering.
       c. Copying to Clipboard via right mouse click sub menu of:
          - Geometry's SDO_ELEM_INFO array constructor.
          - SDO_GEOMETRY constructor
          - Error + validation string.
       d. Access to Draw/Zoom functions which were previously buttons.
       e. Added a new right mouse click menu "Show Feature's Individual Errors" that gathers up all the errors
          it can process - along with the ring / element that is host to the error (if it can) - and displays
          them in the Attribute/Geometry tabs at the bottom of the Map Window (where "Identify" places its results).
          The power of this will be evident to all those who have wanted a way of stepping through errors in a geometry.
       f. Selected rows can now be deleted (select rows: press <DELETE> key or right mouse click>Delete).
       g. Table now has only one primary key column, and has a separate error column holding the actual error code.
       h. Right mouse click men added to table menu to display description of error in the new column (drawn from Oracle documentation)
       i. Optimisations added to improve performance for large error lists.
    5. Functionality now has its own validation layer that is automatically added to the correct view.
       Access to layer properties via button on validation dialog or via normal right mouse click in view/layer tree.
    Improved Rendering Options.
    1. Linestring colour can now be random or drawn from column in database (as per Fill and Point colouring)
    2. Marking of SDO_GEOMETRY objects overhauled.
       - Ability to mark or LABEL vertices/points of all SDO_GEOMETRY types with coordinate identifier and
         option {X,Y} location. Access is via Labelling tab in layer>properties. Thus, coordinate 25 of a linestring
         could be shown as: <25> or {x,y} or <25> {x,y}
       - There is a nice "stacked" option where the coordinate {x,y} can be written one line below the id.
       - For linestrings and polygons the <id> {x,y} label can be oriented to the angle between the vectors or
         edges that come in, and go out of, a vertex. Access is via "Orient" tick box in Labelling tab.
       - Uses Tools>Preferences>GeoRaptor>Visualisation>SDO_ORDINATE_ARRAY bracket around x,y string.
    3. Start point of linestring/polygon and all other vertices can be marked with user selectable point marker
       rather than previously fixed markers.
    4. Can now set a NULL point marker by selecting "None" for point marker style pulldown menu.
    5. Positioning of the arrow for linestring/polygons has extra options:
       * NONE
       * START    - All segments of a line have the arrow positioned at the start
       * MIDDLE   - All segments of a line have the arrow positioning in the middle.
       * END      - All segments of a line have the arrow positioning in the END.
       * END_ONLY - Only the last segment has an arrow and at its end.
    ScaleBar.
    1. A new graphic ScaleBar option has been added for the map of each view.
       For geographic/geodetic SRIDs distances are currently shown in meters;
       For all SRIDs an attempt is made to "adapt" the scaleBar units depending
       on the zoom level. So, if you zoom right in you might get the distance shown
       as mm, and as you zoom out, cm/m/km as appropriate.
    2. As the scaleBar is drawn, a 1:<DEMONINATOR> style MapScale value is written
       to the map's left most element in the status bar.
    3. ScaleBar and MapScale can be turned off/on in View>Properties right mouse
       click menu.
    Export Capabilities.
    1. The ability to export a selection from a result set table (ie result of
       executing ad-hoc SQL SELECT statement to GML, KML, SHP/TAB (TAB file
       adds TAB file "wrapper" over SHP) has been added.
    2. Ability to export table/view/materialised view to GML, KML, SHP/TAB also
       added. If no attributes are selected when exporting to a SHP/TAB file, GeoRaptor
       automatically adds a field that holds a unique row number.
    3. When exporting to KML:
       * one can optionally export attributes.
       * Web sensitive characters < > & etc for KML export are replaced with &gt; &lt; &amp; etc.
       * If a column in the SELECTION or table/view/Mview equals "name" then its value is
         written to the KML tag <name> and not to the list of associated attributes.
         - Similarly for "description" -> <description> AND "styleUrl" -> <styleUrl>
    4. When exporting to GML one can optionally export attributes in FME or OGR "flavour".
    5. Exporting Measured SDO_GEOMETRY objects to SHP not supported until missing functionality
       in GeoTools is corrected (working with GeoTools community to fix).
    6. Writing PRJ and MapInfo CoordSys is done by pasting a string into appropriate export dialog box.
       Last value pasted is remembered between sessions which is useful for users who work with a single SRID.
    7. Export directory is remembered between sessions in case a user uses a standard export directory.
    8. Result sets containing MDSYS.SDO_POINT and/or MDSYS.VERTEX_TYPE can also be written to GML/KML/SHP/TAB.
       Example:
       SELECT a.geom.sdo_point as point
         FROM (SELECT sdo_geometry(2002,null,sdo_point_type(1,2,null),sdo_elem_info_array(1,2,1),sdo_ordinate_array(1,1,2,2)) as geom
                 FROM DUAL) a;
       SELECT mdsys.vertex_type(a.x,a.y,a.z,a.w,a.v5,a.v6,a.v7,a.v8,a.v9,a.v10,a.v11,a.id) as vertex
         FROM TABLE(mdsys.sdo_util.getVertices(mdsys.sdo_geometry(2002,null,null,sdo_elem_info_array(1,2,1),sdo_ordinate_array(1,1,2,2)))) a;
    9. A dialog appears at the end of each export which details (eg total) what was exported when the exported recordset/table contains more
       than on shape type. For example, if you export only points eg 2001/3001 from a table that also contains multipoints eg 2005/3005 then
       the number of points exported, and multipoints skipped will be displayed.
    10. SHP/TAB export is "transactional". If you set the commit interval to 100 then only 100 records are held in memory before writing.
        However, this does not currently apply to the associated DBASE records.
    11. SHP/TAB export supports dBase III, dBase III + Memo, dBase IV and dBase IV + Memo.
        Note: Memo allows text columns > 255 characters to be exported. Non-Memo formats do not and any varchar2 columns will be truncated
        to 255 chars. Some GIS packages support MEMO eg Manifold GIS, some do not.
    12. Note. GeoRaptor does not ensure that the SRID of SDO_GEOMETRY data exported to KML is in the correct Google Projection.
        Please read the Oracle documentation on how to project your data is this is necessary. An example is:
        SELECT OBJECTID,
               CODIGO as name,
               NOME as description,
               MI_STYLE,
               SDO_CS.TRANSFORM(shape,'USE_SPHERICAL',4055) as shape
          FROM MUB.REGIONAL;
    13. NOTE: The SHP exporter uses the Java Topology Suite (JTS) to convert from SDO_GEOMETRY to the ESRI Shape format. JTS does not handle
        circular curves in SDO_GEOMETRY objects you must "stroke" them using sdo_util.arc_densify(). See the Oracle documentation on how
        to use this.
    Miscellaneous.
    1. Selection View - Measurement has been modified so that the final result only shows those geometry
       types that were actually measured.
    2. In Layer Properties the Miscellaneous tab has been removed because the only elements in it were the
       Geometry Output options which have now been replaced by the new GML/KML/etc export capabilities.
    3. Shapefile import's user entered tablename now checked for Oracle naming convention compliance.
    4. Identify based on SDO_NN has been removed from GeoRaptor given the myriad problems that it seems to create across versions
       and partitioned/non-partitioned tables. Instead SDO_WITHIN_DISTANCE is now used with the actual search distance (see circle
       in map display): everything within that distance is returned.
    5. Displaying/Not displaying embedded sdo_point in line/polygon (Jamie Keene), is now controlled by
       a preference.
    6. New View Menu options to switch all layers on/off
    7. Tools/Preferences/GeoRaptor layout has been improved.
    8. If Identify is called on a geometry a new right mouse click menu entry has been added called "Mark" which
       has two sub-menus called ID and ID(X,Y) that will add the labeling to the selected geometry independently of
       what the layer is set to being.
    Some Bug Fixes.
    * Error in manage metadata related to getting metadata across all schemas
    * Bug with no display of rowid in Identify results fixed;
    * Some fixes relating to where clause application in geometry validation.
    * Fixes bug with scrollbars on view/layer tree not working.
    * Problem with the spatial networks fixed. Actions for spatial networks can now only be done in the
      schema of the current user, as it could happen that a user opens the tree for another schema that
      has the same network as in the user's schema. Dropping a drops only the network of the current connected user.
    * Recordset "find sdo_geometry cell" code has been modified so that it now appears only if a suitable geometry object is
      in a recordset.  Please note that there is a bug in SQL Developer (2.1 and 3.0) that causes SQL Developer to not
      register a change in selection from a single cell to a whole row when one left clicks at the left-most "row number"
      column that is not part of the SELECT statements user columns, as a short cut to selecting a whole row.  It appears
      that this is a SQL Developer bug so nothing can be done about it until it is fixed. To select a whole row, select all
      cells in the row.
    * Copy to clipboard of SDO_GEOMETRY with M and Z values forgot has extraneous "," at the end.
    * Column based colouring of markers fixed
    * Bunch of performance improvements.
    * Plus (happily) others that I can't remember!If you find any bugs register a bug report at our website.
    If you want to help with testing, contact us at our website.
    regards
    Simon

    Hi buddy,
    > Yes, it is: Intel site not Toshiba, I'm sorry!
    No problem but not its clear what we talk about ;)
    > why Toshiba don't pretest latest driver and I must install it on my own risk? The last update is from 1,5 years ago...
    I think because Tecra A10 is older model and there is already a successor on the market, Tecra A11.
    Well, dont worry about this. Usually the Intel drivers also work. I have tested this on my Satellite U400 and its running with Intel display driver. No problems so installation is worth a try.
    Please send some feedback after Intel display driver installation, its really interesting! :)

  • Google Voice Won't Work With Bluetooth Headset After Jelly Bean

    I am SO frustrated. I had no idea I was installing the Jelly Bean update when I updated the software on my phone. Note to Verizon Communications team: PLEASE do a better job of communicating significant software updates. I would not have installed Jelly Bean. I learned long ago to stick with factory OS on my phones.
    Since the update, I noticed that I could no longer dictate texts and emails. Also, my call recording app no longer worked. I switched to Swype and it would work for a few minutes and then stop.  I could still use my bluetooth headset to make calls and S voice worked (although, like others here, I noticed that it's now worse--it doesn't recognize any contact names I request anymore). After trolling Android forums I found that the problem is with the bluetooth headset. You can still dictate when the phone's bluetooth is on, but when a device is connected, all bets are off.
    I almost did a factory reset, but then I read that a hard reset will not restore ICS, nor did it resolve this bluetooth Google Voice issue for the few people who tried it already. In fact, resetting caused more problems (eg., more battery drain and removal of Adobe Flash, etc.).
    Does anyone know how I can go back to ICS? Bluetooth and Google Voice are the two features I value most in my phones. This is a NIGHTMARE.

    rcschnoor -
    The Bluetooth/Voice Search/Dictation issue is a valid issue for the OP, a valid issue for me and oh yeah, the hundreds of other people affected by the, "Google Voice Search stuck on "Initializing" bug filed here on the Google Android Project page.  Here is yet another reference to the same issue from Android Central.
    The "Google Music freezing after Jelly Bean Update on Galaxy S3" is also a valid and documented bug located here also on the Google Android Project page.
    So I ask, how does sharing with these people that do have these issues, and are affected by them, that you are not experiencing these issues help in any way?  Isn't that the whole purpose of a community forum to help others?

  • VLD-1141, Template cannot contain escape characters.

    Hi All,
    I need help about mapping deployment. I am working on a mapping. I can deploy it before to 9i target location. But after upgrading target database to 10g, I get the error VLD-1141 when I deploy it. The detail is Template cannot contain escape characters.
    And the full error message is as following:
    VLD-1141: Internal error during mapping generation.
    java.lang.IllegalArgumentException: Template cannot contain escape characters.
    at oracle.wh.util.expr.WBLiteralExpression.<init>(WBLiteralExpression.java:34)
    at oracle.wh.service.impl.mapping.component.transforms.GenericTransformGenerationDelegate.addContextExpressionsForGroups(GenericTransformGenerationDelegate.java:345)
    at oracle.wh.service.impl.mapping.component.transforms.GenericTransformGenerationDelegate.prepareOutputContextPlSql(GenericTransformGenerationDelegate.java:1433)
    at oracle.wh.service.impl.mapping.component.transforms.GenericTransformPlSqlDelegate.prepareOutputContext(GenericTransformPlSqlDelegate.java:147)
    at oracle.wh.service.impl.mapping.generation.WBMappingGenerator.generate(WBMappingGenerator.java:239)
    at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assembleCursorLoopInternal(PlSqlGenerationMediator.java:3206)
    at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assembleCursorLoop(PlSqlGenerationMediator.java:3190)
    at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assembleRowBased(PlSqlGenerationMediator.java:3115)
    at oracle.wh.service.impl.mapping.generation.PlSqlGenerationMediator.assemble(PlSqlGenerationMediator.java:538)
    at oracle.wh.service.impl.mapping.generation.WBMappingGenerator.generate(WBMappingGenerator.java:770)
    at oracle.wh.service.impl.mapping.generation.WBMappingGenerator.generate(WBMappingGenerator.java:316)
    at oracle.wh.service.impl.mapping.generation.WBDeployableMappingGenerator.generate(WBDeployableMappingGenerator.java:99)
    at oracle.wh.service.impl.generation.common.WBGenerationService.generateCode(WBGenerationService.java:433)
    at oracle.wh.service.impl.generation.common.WBGenerationService.generateCode(WBGenerationService.java:311)
    at oracle.wh.service.impl.generation.service.WhValidationGenerationTransaction.run(WhValidationGenerationTransaction.java:241)

    There are to bugs:
    Bug 5403652 - ERROR 'TEMPLATE CANNOT CONTAIN ESCAPE CHARACTERS' WHEN VALIDATING A MAPPING
    Bug 5561224 - MIGRATION OF MAPPING REQUIRES CHANGE IN CONFIG TO ALLOW VALIDATION
    against OWB 10.2.0.1
    but these bugs are fixed from 10.2.0.2
    The bug is related to pre/post mapping operators...
    If you are on 10.2.0.3 or your mapping does not have these operators then have no clue...

  • Need help on case statements to validate records

    Hi Experts ,
    My table :
    seq_num
    col2
    col3
    col4
    1
    A
    12345
    P
    2
    B
    1
    123%23
    3
    C
    1
    23AB
    4
    D
    1
    20131001
    5
    E
    1
    6
    A
    13245
    Q
    7
    B
    1
    12345
    8
    C
    2
    1234*AB
    9
    D
    5
    20140112
    10
    E
    1
    00020
    my output
    seq_num
    col2
    col3
    col4
    Status
    Reason
    1
    A
    12345
    P
    Valid
    2
    B
    1
    123%23
    invalid
    Special Character for col4
    3
    C
    1
    23AB
    Valid
    4
    D
    1
    20131001
    Valid
    5
    E
    1
    invalid
    null for col4
    6
    A
    13245
    Q
    invalid
    Invalid character col4 || invalid number for col3
    7
    B
    1
    12345
    Valid
    8
    C
    2
    1234*AB
    Invalid
    Special Character col4 ||invalid col3
    9
    D
    5
    20140112
    invalid
    Future dates col4 ||invalid col3
    10
    E
    1
    00020
    Valid
    Sql :
    with t as
    ( select 1 as seq_num,'A' as col2 ,12345 as col3 ,'P' as col4 from dual
    union all
    select 2 ,'B',1,'123%23' from dual
    union all
    select 3,'C',1,'23AB' from dual
    union all
    select 4,'D',1,'21-02-2013' from dual
    union all
    select 5,'E',1,null from dual
    union all
    select 6,'A,13245,'Q' from dual
    union all
    select 7,'B',1,12345 from dual
    union all
    select 8,'C',2,'1234*AB' from dual
    union all
    select 9,'D',5,'25-01-2014' from dual
    union all
    select 10,'E',1,20 from dual
    I am applying rules on col3 and col4 for each records row-wise.
    I need case statements to populate status and reason columns after applying below rules
    Rules
    Col3 :
    For A record ,it should be 12345 always .
    For B,C,D,E , record should be always 1
    col4
    For A record , it should be either P or R
    No null values for all A, B,C,D,E records
    for B record , it dont contain special charecters
    for C RECORD ,  it dont contain special charecters
    for D record ,it should not contain future dates (dates are in yyyymmdd format and  less than  sysdates are valid )
    I have other columns as well ,as i not included here
    .It would be great if you Could  help on case statements
    Thanks and Regards,
    Sumanth

    I've adjusted Gregs nice example a bit. This should work:
    with w_base as (
          select seq_num, col2, col3, col4,
                 case when (col2 = 'A'                 AND col3 = 12345 )
                        OR (col2 in ('B','C','D','E')  AND col3 = 1)
                            then '' else '||invalid col3' end ||
                 case when (col2 = 'A'        AND col4 not IN ( 'P', 'R' ) )
                            then '||invalid col4' else '' end ||
                 case when (col2 IN ( 'B', 'C' )   AND col4 != translate(col4, 'a!@#$%^*()','a') )
                            then '||special character for col4' else '' end ||
                 case when (col2 = 'D'        AND col4 >= to_char(sysdate,'yyyymmdd') )
                            then '||future dates col4' else '' end
                   reason
          from ( select 1 as seq_num, 'A' as col2, 12345 as col3, 'P' as col4  from dual union all
                 select 2,            'B',         1,             '123%23'     from dual union all
                 select 3,            'C',         1,             '23AB'       from dual union all
                 select 4,            'D',         1,             '20130212'   from dual union all
                 select 5,            'E',         1,             null         from dual union all
                 select 6,            'A',         13245,         'Q'          from dual union all
                 select 7,            'B',         1,             '12345'      from dual union all
                 select 8,            'C',         2,             '1234*AB'    from dual union all
                 select 9,            'D',         5,             '20140125'   from dual union all
                 select 10,           'E',         1,             '20'         from dual )
    Select seq_num, col2, col3, col4,
           case when reason is null then 'Valid' else 'Invalid' end status,
           substr(reason, 3 ) reason
    from w_base
    It returns
    SEQ_NUM
    COL2
    COL3
    COL4
    STATUS
    REASON
    1
    A
    12345
    P
    Valid
    2
    B
    1
    123%23
    Invalid
    special character for col4
    3
    C
    1
    23AB
    Valid
    4
    D
    1
    20130212
    Valid
    5
    E
    1
    Valid
    6
    A
    13245
    Q
    Invalid
    invalid col3||invalid col4
    7
    B
    1
    12345
    Valid
    8
    C
    2
    1234*AB
    Invalid
    invalid col3||special character for col4
    9
    D
    5
    20140125
    Invalid
    invalid col3||future dates col4
    10
    E
    1
    20
    Valid
    edited some bugs :) now it should be fine! really

Maybe you are looking for

  • Can I transfer my purchased items to a new apple device

    My 3rd Generation Ipod Touch stopped working recently and it looks like it can't be repaired and is no longer any use, I am wondering if it is possible to recover my downloaded / purchased items onto an new Ipod Touch? I plugged it into charge in  a

  • Free space on boot drive constantly decreases until reboot

    Hi there. I have a really weird thing happening that I've never seen before. I'm running 10.7.4 on an iMac, and have about 45GB free on the system drive. At least that's right after I boot up the system. After that, the free space available on my HD

  • I cannot empty my Trash can. I get error code - 8003

    I have been trying to empty my Trash Can but I keep getting a message that says that the operation cannot be completed Error Code - 8003. I did open the trash and found s set of file that were highlited in red. I tryed to remove them from the trash b

  • Zen 20GB DAP-HD0015 - Lost

    Have lost my CD's for my 20GB Zen player was wondering where I can download the firmware from? Thanks

  • Java Bean for Marquee or scrolling text

    Can anybody help to make the simple java bean for scrolling a text in ORacle forms 10g? Regards Omama Khurshid