Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    operation is not defined to the dataSource

    I can not understand where I made ​​a mistake.


    Console:
    Code:
    === 2012-11-25 23:15:57,317 [0-10] WARN  DataSourceDMI - DataSource workerview: received a request to execute an operation of type 'fetch' named 'fetchcurrentuser', but this operation is not defined to the dataSource.  Falling back to default behavior for operationType 'fetch'
    workerview.ds.xml
    Code:
    <DataSource ID="workerview" dataFormat="iscServer"
    	serverType="sql" dataSourceVersion="1" dbName="PostgreSQL" schema="public"
    	tableName="workerview">
    	<fields>
    		<field name="workerid" type="integer" required="true" 	primaryKey="true" />
    		<field name="companyid" type="integer" required="true" />
    		<field name="lastname" type="text" required="true" length="20" />
    		<field name="firstname" type="text" required="true" length="20" />
    		<field name="email" type="text" required="true" length="20" />
    		<field name="roleid" type="integer" required="true" />
    		<field name="rolehtml" type="text" required="true" length="20" />
    		<field name="companyname" type="text" required="true" length="80" />
    		<field name="companytypeid" type="integer" required="true" />
    		<field name="companytypedescription" type="text" required="true" length="30" />
    		<field name="currencyid" type="integer" required="true" />
    		<field name="currencydescription" type="text" required="true" length="5" />
    		<field name="timezoneid" type="integer" required="true" />
    		<field name="timezonetz" type="text" required="true" length="25" />
    		<field name="timezonedescription" type="text" required="true" length="50" />
    		<field name="parentcompanyid" type="integer" required="true" />
    	</fields>
    	<operationBinding operationType="fetch" operationId="fetchcurrentuser">
    		<whereClause>email == $servletRequest.getRemoteUser() AND ($defaultWhereClause)</whereClause>
    	</operationBinding>
    </DataSource>
    onModuleLoad()
    Code:
    DataSource workerviewDS = DataSource.get("workerview");
    DSRequest requestProperties = new DSRequest();
    requestProperties.setOperationId("fetchcurrentuser");
    workerviewDS.fetchData(null, workerviewCallback, requestProperties);
    html:
    Code:
    <script src="user/sc/DataSourceLoader?dataSource=workerview"></script>

    #2
    problem solved.
    the correct format for ds.xml:

    Code:
    	<operationBindings>
    		<operationBinding operationType="fetch" operationId="fetchcurrentuser">
    			<whereClause>email == $servletRequest.getRemoteUser() AND ($defaultWhereClause)</whereClause>
    		</operationBinding>
    	</operationBindings>

    Comment

    Working...
    X