F4fpackager generates bad tenant path?

Hi,
Now that f4fpackager is also encrypting the files, I tried playing them. When the player posts to the licenseserver (to flashaccessserver/tenants/sampletenant/flashaccess/license/v1) it gets an HTTP 500 Internal Server Error response, and there is exception information in the flashaccess-partition log file (see below).
It looks as though something in the data sent is looking for  /home/apache/apache-tomcat-6.0.29/licenseserver/flashaccessserver/tenants/tenants/flashac cess-tenant.xml
when in fact the file is located in  /home/apache/apache-tomcat-6.0.29/licenseserver/flashaccessserver/tenants/flashaccess-ten ant.xml
This is how the license server is defined in the f4fpackager config file:
<license-server-url>http://ootv3:8080/flashaccessserver/tenants/sampletenant</license-server-url>
Any help would be much appreciated.
Thanks,
- Naomi
From the flashaccess-partition log file:
[#:1] 2011-01-25 11:50:11,436 INFO  [[Partition(flashaccessserver)].com.adobe.flashaccess.server.license.context.SimpleContex tFactory] Creating class loader for partition 'flashaccessserver' with libraries '[file:/home/apache/apache-tomcat-6.0.29/licenseserver/flashaccessserver/libs/, file:/home/apache/apache-tomcat-6.0.29/licenseserver/flashaccessserver/libs/flashaccess-l icense-server-ext-sample.jar]'
[#:1] 2011-01-25 11:50:11,439 DEBUG [[Partition(flashaccessserver)].com.adobe.flashaccess.server.license.engine.LicenseEngine ] Started processing request...
[#:1] 2011-01-25 11:50:11,451 ERROR [[Partition(flashaccessserver)].com.adobe.flashaccess.server.license.engine.LicenseEngine ] Error occurred processing license acquisition request
net.sf.ehcache.constructs.blocking.LockTimeoutException: Could not update object for cache entry with key "flashaccessserver////tenants".
        at net.sf.ehcache.constructs.blocking.UpdatingSelfPopulatingCache.get(UpdatingSelfPopulating Cache.java:90)
        at net.sf.ehcache.constructs.blocking.BlockingCache.get(BlockingCache.java:558)
        at com.adobe.flashaccess.server.license.configuration.cachedecorator.CacheDecoratorConfigura tionFactory.getTenantConfiguration(CacheDecoratorConfigurationFactory.java:211)
        at com.adobe.flashaccess.server.license.context.ContextImpl.getTenantConfiguration(ContextIm pl.java:98)
        at com.adobe.flashaccess.server.license.extension.CustomAuthorizerChainExtension.setConfig(C ustomAuthorizerChainExtension.java:61)
        at com.adobe.flashaccess.server.license.extension.CustomAuthorizerChainExtension.setConfig(C ustomAuthorizerChainExtension.java:52)
        at com.adobe.flashaccess.server.generic.extension.ExtensionChain.<init>(ExtensionChain.java: 50)
        at com.adobe.flashaccess.server.generic.engine.AbstractEngine.processLicenseRequest(Abstract Engine.java:67)
        at com.adobe.flashaccess.server.license.servlet.LicenseEngineDelegatorServlet.doPost(License EngineDelegatorServlet.java:53)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java: 436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:342)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at com.adobe.flashaccess.server.license.servlet.LicenseRequestDispatchFilter.doFilter(Licens eRequestDispatchFilter.java:72)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.adobe.flashaccess.server.license.servlet.RequestCountFilter.doFilter(RequestCountFilt er.java:74)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava: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:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        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:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja va:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Unknown Source)
Caused by: net.sf.ehcache.CacheException: Could not fetch object for cache entry with key "flashaccessserver////tenants".
        at net.sf.ehcache.constructs.blocking.SelfPopulatingCache.get(SelfPopulatingCache.java:87)
        at net.sf.ehcache.constructs.blocking.UpdatingSelfPopulatingCache.get(UpdatingSelfPopulating Cache.java:76)
        ... 32 more
Caused by: com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment$DeploymentException: Could not find tenant configuration file 'flashaccess-tenant.xml' for partition 'flashaccessserver', tenant 'tenants'
        at com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment.getTenantConfigurationResource(MultiTenantDeployment.java:85)
        at com.adobe.flashaccess.server.license.configuration.commonsadapter.CommonsConfigurationBas edFactory.getTenantConfiguration(CommonsConfigurationBasedFactory.java:89)
        at com.adobe.flashaccess.server.license.configuration.cachedecorator.CacheDecoratorConfigura tionFactory$TenantConfigurationEntryFactory.getWrappedConfiguration(CacheDecoratorConfigur ationFactory.java:352)
        at com.adobe.flashaccess.server.license.configuration.cachedecorator.CacheDecoratorConfigura tionFactory$BaseUpdatingCacheEntryFactory.createEntry(CacheDecoratorConfigurationFactory.j ava:315)
        at net.sf.ehcache.constructs.blocking.SelfPopulatingCache.get(SelfPopulatingCache.java:71)
        ... 33 more
Caused by: java.io.FileNotFoundException: /home/apache/apache-tomcat-6.0.29/licenseserver/flashaccessserver/tenants/tenants/flashac cess-tenant.xml
        at com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment$UpdatableFileSystemResource.<init>(MultiTenantDeployment.java:263)
        at com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment.getTenantConfigurationResource(MultiTenantDeployment.java:83)
        ... 37 more
[#:2] 2011-01-25 11:50:11,577 DEBUG [[Partition(flashaccessserver)].com.adobe.flashaccess.server.license.engine.LicenseEngine ] Started processing request...
[#:2] 2011-01-25 11:50:11,578 ERROR [[Partition(flashaccessserver)].com.adobe.flashaccess.server.license.engine.LicenseEngine ] Error occurred processing license acquisition request
net.sf.ehcache.constructs.blocking.LockTimeoutException: Could not update object for cache entry with key "flashaccessserver////tenants".
        at net.sf.ehcache.constructs.blocking.UpdatingSelfPopulatingCache.get(UpdatingSelfPopulating Cache.java:90)
        at net.sf.ehcache.constructs.blocking.BlockingCache.get(BlockingCache.java:558)
        at com.adobe.flashaccess.server.license.configuration.cachedecorator.CacheDecoratorConfigura tionFactory.getTenantConfiguration(CacheDecoratorConfigurationFactory.java:211)
        at com.adobe.flashaccess.server.license.context.ContextImpl.getTenantConfiguration(ContextIm pl.java:98)
        at com.adobe.flashaccess.server.license.extension.CustomAuthorizerChainExtension.setConfig(C ustomAuthorizerChainExtension.java:61)
        at com.adobe.flashaccess.server.license.extension.CustomAuthorizerChainExtension.setConfig(C ustomAuthorizerChainExtension.java:52)
        at com.adobe.flashaccess.server.generic.extension.ExtensionChain.<init>(ExtensionChain.java: 50)
        at com.adobe.flashaccess.server.generic.engine.AbstractEngine.processLicenseRequest(Abstract Engine.java:67)
        at com.adobe.flashaccess.server.license.servlet.LicenseEngineDelegatorServlet.doPost(License EngineDelegatorServlet.java:53)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java: 436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:342)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at com.adobe.flashaccess.server.license.servlet.LicenseRequestDispatchFilter.doFilter(Licens eRequestDispatchFilter.java:72)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.adobe.flashaccess.server.license.servlet.RequestCountFilter.doFilter(RequestCountFilt er.java:74)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava: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:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        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:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja va:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Unknown Source)
Caused by: net.sf.ehcache.CacheException: Could not fetch object for cache entry with key "flashaccessserver////tenants".
        at net.sf.ehcache.constructs.blocking.SelfPopulatingCache.get(SelfPopulatingCache.java:87)
        at net.sf.ehcache.constructs.blocking.UpdatingSelfPopulatingCache.get(UpdatingSelfPopulating Cache.java:76)
        ... 32 more
Caused by: com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment$DeploymentException: Could not find tenant configuration file 'flashaccess-tenant.xml' for partition 'flashaccessserver', tenant 'tenants'
        at com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment.getTenantConfigurationResource(MultiTenantDeployment.java:85)
        at com.adobe.flashaccess.server.license.configuration.commonsadapter.CommonsConfigurationBas edFactory.getTenantConfiguration(CommonsConfigurationBasedFactory.java:89)
        at com.adobe.flashaccess.server.license.configuration.cachedecorator.CacheDecoratorConfigura tionFactory$TenantConfigurationEntryFactory.getWrappedConfiguration(CacheDecoratorConfigur ationFactory.java:352)
        at com.adobe.flashaccess.server.license.configuration.cachedecorator.CacheDecoratorConfigura tionFactory$BaseUpdatingCacheEntryFactory.createEntry(CacheDecoratorConfigurationFactory.j ava:315)
        at net.sf.ehcache.constructs.blocking.SelfPopulatingCache.get(SelfPopulatingCache.java:71)
        ... 33 more
Caused by: java.io.FileNotFoundException: /home/apache/apache-tomcat-6.0.29/licenseserver/flashaccessserver/tenants/tenants/flashac cess-tenant.xml
        at com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment$UpdatableFileSystemResource.<init>(MultiTenantDeployment.java:263)
        at com.adobe.flashaccess.server.license.configuration.deployment.filebased.MultiTenantDeploy ment.getTenantConfigurationResource(MultiTenantDeployment.java:83)
        ... 37 more

That was the problem! My apologies - I was sure I had lifted the license server URL from my configuration for the Flash Access packager but I see I typed it freehand without checking the documentation first.
Thanks and sorry for the trouble!
- Naomi

Similar Messages

  • O/R mapping tool generates bad descriptors for CMP2.0

    The O/R tool has many problems with EJB-CMP 2.0.
    It generates bad ejb-jar.xml (misses the <cmr-field-type> tag, has the same relationship field included in both the <entity> tag and the <relationships> tag).
    The worst part is that is generates bad TopLink descriptors!
    I have numerous indirect 1-1 bean-pojo (plain old java object). When I have the 'tool' generate the ejb-jar.xml and deployment xml it generates all these relationships incorrectly.
    The O/R 'tool' forces you to use transparent indirection for CMP 2.0 relationships; transparent indirection does not allow you to specify 'use method accessing'. Fine. But when I go to deploy the compiled jar, I get ALL sorts of errors complaining that:
    EXCEPTION [TOPLINK-1] (TopLink (WLS CMP) - 9.0.3 (Build 423)): oracle.toplink.exceptions.DescriptorException
    EXCEPTION DESCRIPTION: The attribute [addressToDesc] is not declared as type ValueHolderInterface, but its mapping uses indirection.
    MAPPING: oracle.toplink.mappings.OneToOneMapping[addressToDesc]
    DESCRIPTOR: Descriptor(...
    ARGH!! What the heck do I need to do to get this 'tool' to work? It won't LET me use valueholder in EJB-CMP2.0, but then it complains when when I don't!?!?!
    Frustrated,
    Andrew

    (from toplink support)
    Andrew,
    Hi there. I've performed some research regarding
    your question, and it appears that having an
    "automatic" 1:1 indirect relationship between an EJB
    2.0 Entity Bean and a dependent Java object is not
    currently supported by TopLink. Examining the
    documentation, this non-support unfortunately isn't
    documented. I have entered a feature request on your
    behalf so that we might be able to support it in a
    future major version of TopLink.
    However, there are a couple of alternatives which
    you can use:
    1) We do support non-indirect 1:1 relationships
    between an EJB 2.0 Entity Bean and a dependent Java
    object. You could disable indirection, and maybe
    make the relationship a batch read relationship so
    that your performance will not be degraded.
    2) You can write a concrete getter and setter, and
    provide an instance variable on the entity bean for
    your dependent object of type ValueHolderInterface.
    Provide the private getters and setters for set and
    get -Holder. Map this normally using TopLink, and
    make sure Indirection is specified in the Mapping
    Workbench.
    IMPORTANT: TopLink will handle the normal
    persistence management for this relationship,
    however you will need to handle the merging back of
    this object yourself (you had to do this in EJB 1.1
    in TopLink as well). Luckily there are good docs on
    this, and it's covered in detail - look at the
    TopLink for WebLogic documentation : Runtime
    Considerations > Managing dependent objects.
    Personally, I would implement solution 1) with batch
    reading on the attribute, because the dependent
    object shouldn't be that "big" (otherwise it would
    be an entity bean). This is an easier solution,
    however you should investigate 2) fully yourself.

  • Mappingtool generates bad DDL for sybase (J2ee tutorial)

    Running the mappingtool on the J2EE tutorial app (3.0.0RC1) generates bad
    DDL for sybase. It's trying to create a table with a column of type
    "IndexName":
    C:\devtools\kodo\samples\j2ee>mappingtool -a refresh package.jdo
    0 INFO [main] kodo.Tool - Mapping tool running on type "class
    samples.j2ee.Car" with action "refresh".
    0 INFO [main] kodo.Tool - The tool is now reading existing schema
    information; this process may take some time. En
    able the kodo.jdbc.Schema logging category to see messages about schema
    data. Also see the -readSchema tool flag.
    3716 INFO [main] kodo.Tool - Recording mapping and schema changes.
    Exception in thread "main" kodo.util.FatalException:
    com.solarmetric.jdbc.ReportingSQLException: Can't specify a length
    or scale on type 'IndexName'.
    {stmnt 7576378: CREATE TABLE CAR (COLOR IndexName(255) NULL, JDOCLASS
    IndexName(255) NULL, JDOID NUMERIC(38) NOT NULL,
    JDOVERSION INT NULL, MAKE IndexName(255) NULL, MODEL IndexName(255) NULL,
    YEAR0 IndexName(255) NULL, UNQ_INDEX NUMERIC I
    DENTITY UNIQUE, CONSTRAINT P_CAR PRIMARY KEY (JDOID))} [code=2716,
    state=ZZZZZ]
    NestedThrowables:
    com.solarmetric.jdbc.ReportingSQLException: Can't specify a length or
    scale on type 'IndexName'.
    {stmnt 7576378: CREATE TABLE CAR (COLOR IndexName(255) NULL, JDOCLASS
    IndexName(255) NULL, JDOID NUMERIC(38) NOT NULL,
    JDOVERSION INT NULL, MAKE IndexName(255) NULL, MODEL IndexName(255) NULL,
    YEAR0 IndexName(255) NULL, UNQ_INDEX NUMERIC I
    DENTITY UNIQUE, CONSTRAINT P_CAR PRIMARY KEY (JDOID))} [code=2716,
    state=ZZZZZ]
    at kodo.jdbc.meta.MappingTool.record(MappingTool.java:431)
    at kodo.jdbc.meta.MappingTool.run(MappingTool.java:790)
    at kodo.jdbc.meta.MappingTool.main(MappingTool.java:729)
    NestedThrowablesStackTrace:
    com.solarmetric.jdbc.ReportingSQLException: Can't specify a length or
    scale on type 'IndexName'.
    {stmnt 7576378: CREATE TABLE CAR (COLOR IndexName(255) NULL, JDOCLASS
    IndexName(255) NULL, JDOID NUMERIC(38) NOT NULL,
    JDOVERSION INT NULL, MAKE IndexName(255) NULL, MODEL IndexName(255) NULL,
    YEAR0 IndexName(255) NULL, UNQ_INDEX NUMERIC I
    DENTITY UNIQUE, CONSTRAINT P_CAR PRIMARY KEY (JDOID))} [code=2716,
    state=ZZZZZ]
    at
    com.solarmetric.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:67)
    at
    com.solarmetric.jdbc.LoggingConnectionDecorator.access$400(LoggingConnectionDecorator.java:19)
    at
    com.solarmetric.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConne
    ctionDecorator.java:506)
    at
    com.solarmetric.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:125)
    at kodo.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1042)
    at kodo.jdbc.schema.SchemaTool.createTable(SchemaTool.java:803)
    at kodo.jdbc.schema.SchemaTool.add(SchemaTool.java:334)
    at kodo.jdbc.schema.SchemaTool.add(SchemaTool.java:186)
    at kodo.jdbc.meta.MappingTool.record(MappingTool.java:364)
    at kodo.jdbc.meta.MappingTool.run(MappingTool.java:790)
    at kodo.jdbc.meta.MappingTool.main(MappingTool.java:729)
    Anyone else seen this? It works ok with Hypersonic (though i can't get the
    tutorial app to run with hypersonic - see my earlier post).
    Alex.

    Some bugs in RCs sometimes don't make it into Bugzilla as it is a
    release candidate and not production quality.
    I would reocmmend upgrading as it fixes a number of major bug fixes and
    you should be able to use the same eval key.
    Alex Robbins wrote:
    Abe White wrote:
    I should also have asked: what JDBC driver are you using?Hi Abe,
    I haven't tried with RC2 - has this been fixed in RC2? I didn't find this
    bug on bugzilla.
    I'm using Sybase JConnect JDBC driver (com.sybase.jdbc2.jdbc.SybDriver in
    jconn2.jar) - looks like this is the version:
    jConnect (TM) for JDBC(TM)/5.5(Build 25008)/P/JDK12/Tue May 29 14:37:46
    2001
    Should I upgrade from RC1 to RC2, and if so, can I continue to use the
    same eval license key or can i download a new one?
    thanks,
    alex
    Stephen Kim
    [email protected]
    SolarMetric, Inc.
    http://www.solarmetric.com

  • [svn:bz-trunk] 20738: Check for bad directory-path argument to destination-include and throw an exception .

    Revision: 20738
    Revision: 20738
    Author:   [email protected]
    Date:     2011-03-09 13:22:36 -0800 (Wed, 09 Mar 2011)
    Log Message:
    Check for bad directory-path argument to destination-include and throw an exception.
    Modified Paths:
        blazeds/trunk/modules/common/src/flex/messaging/config/LocalFileResolver.java
        blazeds/trunk/modules/common/src/flex/messaging/errors.properties
        blazeds/trunk/modules/core/src/flex/messaging/config/ServletResourceResolver.java

    Hi Matthias,
    Sorry, if this reply seems like a products plug (which it is), but this is really how we solve this software engineering challenge at JKI...
    At JKI, we create VI Packages (which are basically installers for LabVIEW instrument drivers and toolkits) of our reusable code (using the package building capabilities of VIPM Professional).  We keep a VI Package Configuration file (that includes a copy of the actual packages) in each of our project folders (and check it into source code control just as we do for all our project files).  We also use VIPM Enterprise to distribute new VI Packages over the network.
    Also, as others have mentioned, we use the JKI TortoiseSVN Tool to make it easy to use TortoiseSVN directly from LabVIEW.
    Please feel free to contact JKI if you have any specific questions about these products.
    Thanks,
    -Jim 

  • Studio 12: C compiler generates bad code with -m64 -KPIC -xO2

    Hello,
    after upgrading my Solaris 10/x64 machine from Studio 11 to Studio 12 some problems were fixed, but others came up; like this one:
    I have a code snippet that obviously causes the C compiler to generate wrong code if compiled with options -m64 -KPIC -xO2. If any of these options are missing, it runs fine. Here's the example code:
    #include <stdio.h>
    #include <strings.h>
    static int do_something() { return 0; }
    static int foo() {
        fprintf(stderr, "\n!! BUG: BAD CODE! unexpected function call foo()!\n\n");
        return 222;
    static int bar() {
        fprintf(stdout, "\nOK: bar() called\n\n");
        return 0;
    static const struct {
        const char* name;
        int (*func)();
        int flag;
    } tab[] = {
        { "foo",  &foo,  0 },
        { "bar",  &bar,  0 },
        { 0, 0, 0 }
    int main(int argc, const char** argv) {
        int i;
        for (i=0; tab.name; i++) {
    if( strcmp(tab[i].name, "bar") == 0 ) {
    if(tab[i].flag) {   /* not reached */
    if(!do_something()) {
    return 2;
    return (*tab[i].func)();
    return 1; /* not reached */
    Many lines seem to be bogus, but they are actually needed to reproduce the problem.
    This is what happens:# cc -m64 -KPIC -xO2 bug.c && ./a.out ; echo $?
    !! BUG: BAD CODE! unexpected function call foo()!
    222
    If I compile with debugging information (-g), I get expected behavior, which is:# cc -m64 -KPIC -g bug.c && ./a.out ; echo $?
    OK: bar() called
    0
    While creating the test case I've also seen SIGSEGV at runtime in the bug case - which is probably due to a wrong calculated function address for jmp (just guessing).
    Does anyone know if this is a known bug?
    Any help is appreciated.
    The rest of this posting is information about my system and Studio 12 patch level:# uname -a
    SunOS v20 5.10 Generic_137112-08 i86pc i386 i86pc
    # /usr/SUNWspro/bin/version
    Machine hardware: i86pc
    OS version: 5.10
    Processor type: i386
    Hardware: i86pc
    The following components are installed on your system:
    Sun Studio 12
    Sun Studio 12 C Compiler
    Sun Studio 12 C++ Compiler
    Sun Studio 12 Tools.h++ 7.1
    Sun Studio 12 C++ Standard 64-bit Class Library
    Sun Studio 12 Garbage Collector
    Sun Studio 12 Fortran 95
    Sun Studio 12 Debugging Tools (including dbx)
    Sun Studio 12 IDE
    Sun Studio 12 Debugger GUI
    Sun Studio 12 Performance Analyzer (including collect, ...)
    Sun Studio 12 X-Designer
    Sun Studio 12 VIM editor
    Sun Studio 12 XEmacs editor
    Sun Studio 12 Performance Library
    Sun Studio 12 LockLint
    Sun Studio 12 Building Software (including dmake)
    Sun Studio 12 Documentation Set
    Sun Studio 12 /usr symbolic links and GNOME menu item
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/cc": Sun C 5.9 SunOS_i386 Patch 124868-07 2008/10/07
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/CC": Sun C++ 5.9 SunOS_i386 Patch 124864-08 2008/10/16
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/f90": Sun Fortran 95 8.3 SunOS_i386 Patch 127002-04 2008/04/16
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/dbx": Sun Dbx Debugger 7.6 SunOS_i386 Patch 124873-06 2008/08/20
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/analyzer": Sun Analyzer 7.6 SunOS_i386 Patch 126996-04 2008/09/03
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/dmake": Sun Distributed Make 7.8 SunOS_i386 Patch 126504-01 2007/07/19

    I'm watching Bug ID: [6774287|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6774287] for quite a while and it seems to be fixed some time ago (State: 8-Fix Available, bug). Does anybody know if the fix made it in some officially available SunStudio 12 C compiler (backend) patch already? I'm using this SS12 patch-level meanwhile:
    # /usr/SUNWspro/bin/version
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/cc": Sun C 5.9 SunOS_i386 Patch 124868-08 2008/11/25
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/CC": Sun C++ 5.9 SunOS_i386 Patch 124864-09 2008/12/16
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/f90": Sun Fortran 95 8.3 SunOS_i386 Patch 127002-05 2008/10/21
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/dbx": Sun Dbx Debugger 7.6 SunOS_i386 Patch 124873-06 2008/08/20
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/analyzer": Sun Analyzer 7.6 SunOS_i386 Patch 126996-04 2008/09/03
    version of "/usr/SUNWspro/bin/../prod/bin/../../bin/dmake": Sun Distributed Make 7.8 SunOS_i386 Patch 126504-01 2007/07/19

  • How to generate bad records for varchar2 type

    Hi
    Iam using sqlldr to load records from a flat file to a table.
    Table columns contains varchar2 datatype
    Data is loaded by fixedlength position.
    There is no not null restriction on the fields.
    I want to have a bad file generated.
    Can anyone let me know how to get the bad file?
    What type of data can be modified in a file to get a bad record.
    Thanks in advance

    how to get the bad file?Make the field length longer than its corresponding DB field length?
    I.e. when your DB field length is varchar2(10) make one of the fields in the file greater than 10.

  • SQL LOADER NOT GENERATING BAD,LOG FILES

    Hi
    I am calling sqlloader from sql script using host command.We are using parameter file to mention about bad,log,ctl files.sql loader is running successfully all the records are inserted.but the problem is ,it is not creating log file,bad files ....Please give me suggestions.
    Thanks.

    Hi,
    As per ur saying the recodes are inserted successfully, so the bad file wont get created. And considering the log file, the path should mentioned in the CTL file and if not mentioned then the log file will created in the same area where the CTL file with the name of ctl file with extension .log instead of .ctl

  • Photoshop Images on illustrator, generate bad PDF Files !

    When editing a native illustrator file with linked photoshop images on layers (cuts, paths with transparent background), and we generate a PDF file from any version since 1.4, we got the cuts and /or paths marked with a stroke (line) between the image and the background.
    If we generate this file on version 1.3, this problem do not appear, but the images comes completely fragmented, what makes later edition impossible.

    1. Please show screenshots
    2. A PDF is not meant for editing. If you want to edit later, either save an AI file on top or save the PDF with Illustrator editing capabilities (this embeds a fully editable AI file into the PDF, of course making it bigger)
    3. in a PDF 1.3 every transparency gets flattened which causes the fragmentation. Read the documentation on transparency, you'll need it anyway. There's a PDF called
    A Designer's Guide to Transparency for Print Output
    4. PDF version has to be selected carefully depending only on the demands of whoever prints or displays it afterwards.

  • How to fix bad HD path?

    All of my pics and Catalog backups were on drive F: on my old computer. I bought a new computer and put drive F: in it but windows named it D: Now LR can't find the originals. I click on Find Missing and it looks like LR is working on that but I am afraid that maybe I am making things worse (LR paranoia :-) )  Please let me know how I should proceed from here.
    Thanks,
    Doug

    You can either relocate the folders in LR by right clicking on the missing highest level folder and selecting relocate folder.
    Or and perhaps a better solution, permanently allocate a drive letter in windows, in this case F. To do that go to control panel,administrative tools,computer management, disk management. Then right click on the disk, select change drive letter and change the letter from D to F.

  • ICal support page generating bad search?

    Anyone else notice that if you do a search from the iCal support web page and have the box checked to limit the search to iCal it actually limits it to Quicktime?

    click the Search Tips link and you see FAQs instead LOL!
    And to add insult to injury, it comes up in a non-resizeable window (at least in Firefox).

  • Path Finder in a 2D Grid Map With Different Terrain Types

         I have been thinking for a while on path finding game algoritms and I can up with one idea witch I want to publish. The goal of my project is when I have a 2 dimensional grid map where squares can have different movement cost, like in Civilization II, to find the shortest way from one point in the map to another. I've used the Breathed First Search Engine. If you are not familiar to this search engine it is better to read about it first because I am not fcusing on it and I assume that you now how it works. You can read about it at the book "Practical Artificial Intelligence Programming in Java" writen by Mark Watson, witch is freely distributed at www.markwatson.com.
         Actually the idea of this 2D grid path finder is to use a third dimension witch have a size equal to the highest movement cost among all terrain types. This helps solving the problem with the different movement cost of the squates. By adding this abstract third dimension it is posible to use the Breadth First Search Engine.
         I this example the movementcost of a terrain type is always the same, no matter from witch square to with are you going (like in Civilization II but I haven't included roads or railroads). For example if you want to go from one square A to another square B with movement cost X (A and B are attached) you must go "up stairs" in the third dimension X - 1 times and then move to square B. But when you step on square B you are again at the lowest floor. So if you want to come back to the previous square A and it have movement cost Y first you must go floor Y and then jump in square A. And now you are again at the lowest floor at square A. When you move from one square to another you go always at the lowest floor. This is the way I handle with different movement costs.
         When you find the path to the goal point it is in 3 dimensions. So you must just project it in the 2D map and that's all you have the shortest path.
         I am sure this is not the best way to code this search engine but this is just the first scratch with no optimisation and so on. If I make a 100x100 randomly generated map it takes on my configuration(400Mhz Pentium II CPU with ASUS P2B MotherBoard on 100 MHz and 256 MB SD RAM on 133 MHz but because of my MB on 100MHz) around 1000 miliseconds (1000 miliseconds = 1 second) to find the shortest path from (1, 1) to (100, 100) witch is pretty good compare to the goTo function in Civilization II witch does not finds the shortest path at all and have made hundrets of gamers angry. This is amazing that nowadays there are so many games with bad path finding.
         This project includes:
    1. The PathFinder class witch does the jub.
    2. The Map class witch has a generator for a random map in it.
    3. The class TerrainType, every square on the map is based on this class.
    4. The class TerrainTypes witch is the set of all terrain types used in the map.
    5. The class PathFinderTest witch just test the path finder.
    To test this project put all files in one directory and run PathFinderTest.java.
    Map.java:
    import java.util.Vector;
    import java.util.Random;
    //This class just creates a random map and keeps it. I will not comment on this.
    class Map {
      //here is kept the information about the terrain types placed in the map. Where
      //every terrain type has a specific movement cost.
      private int[][] terrain;
      public TerrainTypes terrainTypes;
      private int landMass;
      private int width;
      private int height;
      private int highestMovementCost;
      public Map(int aWidth, int aHeight) {
        width = aWidth;
        height = aHeight;
        terrainTypes = new TerrainTypes();
        highestMovementCost = terrainTypes.getHighestMovementCost();
        terrain = new int[width][height];
        landMass = 0;
        generateRandomMap();
      public void clearGoalAndStartLocFromWater(int sx, int sy, int gx, int gy) {
        terrain[gx][gy] = 0;
        terrain[sx][sy] = 0;
      private void expandWater() {
        int waterConstant = 40;
        int waterExpansion = 2;
        int[][] moreWater = new int[width][height];
        Random randomizer = new Random();
        for (int t = 0; waterExpansion > t; t++) {
          for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
              if (i + 1 >= 0 && j >= 0 && i + 1 < width && j < height) {
                if (terrain[i + 1][j] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i + 1][j] = 1;
              if (i + 1 >= 0 && j - 1 >= 0 && i + 1 < width && j - 1 < height) {
                if (terrain[i + 1][j - 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i + 1][j - 1] = 1;
              if (i >= 0 && j - 1 >= 0 && i < width && j - 1 < height) {
                if (terrain[i][j - 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i][j - 1] = 1;
              if (i - 1 >= 0 && j - 1 >= 0 && i - 1 < width && j - 1 < height) {
                if (terrain[i - 1][j - 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i - 1][j - 1] = 1;
              if (i - 1 >= 0 && j >= 0 && i - 1 < width && j < height) {
                if (terrain[i - 1][j] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i - 1][j] = 1;
              if (i - 1 >= 0 && j + 1 >= 0 && i - 1 < width && j + 1 < height) {
                if (terrain[i - 1][j + 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i - 1][j + 1] = 1;
              if (i >= 0 && j + 1 >= 0 && i < width && j + 1 < height) {
                if (terrain[i][j + 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i][j + 1] = 1;
              if (i + 1 >= 0 && j + 1 >= 0 && i + 1 < width && j + 1 < height) {
                if (terrain[i + 1][j + 1] != 4) {
                  if (randomizer.nextInt(waterConstant) == 0)
                    moreWater[i + 1][j + 1] = 1;
        for (int i = 0; i < width; i++) {
          for (int j = 0; j < height; j++) {
            if (moreWater[i][j] == 1) {
              terrain[i][j] = 4;
      private void generateRandomMap() {
        Random randomizer = new Random();
        for (int i = 0; i < width; i++) {
          for (int j = 0; j < height; j++) {
            if (randomizer.nextInt(3) == 1)
              terrain[i][j] = 0;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 1;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 3;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 2;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 2;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 1;
            else if (randomizer.nextInt(2) == 1)
              terrain[i][j] = 3;
            else
              terrain[i][j] = randomizer.nextInt(5);
        expandWater();
        for (int i = 0; i < width; i++) {
          for (int j = 0; j < height; j++) {
            if (terrain[i][j] != 0)
              landMass++;
      public int getMapHeight() {
        return height;
      public int getMapWidth() {
        return width;
      public int getSquareID(int x, int y) {
        return terrain[x][y];
      public int getSquareMovementCost(int x, int y) {
        return terrainTypes.getMovementCost(terrain[x][y]);
    }PathFinder.java:
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Vector;
    public class PathFinder {
      private BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
      //The array t3D[][] represents the 2D square map where t3D.leght = map width
      //and t3D[x].lenght = map width (-1 < x < t3D.leght). The third dimension
      //is refered to the square's movement cost, witch is definite by terrain.
      //The fourth dimension will be with lenght = 3. When running the search engine
      //(expanding the explored squares) this 3 values will keep the position of
      //the previous square in 3 dimension, witch are width, height and the maximum
      //movement cost among all squares.
      private int[][][][] squares3DReference;
      //Keeps information witch squares are visited.
      private boolean[][][] visitedSquares;
      private Map map;
      //this is the queue used in the Breathed First Seatch.
      private Vector queue3D;
      //Here is saved the shortest path
      private Vector path2D;
      private int highestMovementCost;
      public PathFinder(Map aMap) {
        map = aMap;
        queue3D = new Vector();
        path2D = new Vector();
        squares3DReference = new int[map.getMapWidth()][map.getMapHeight()][][];
        visitedSquares = new boolean[map.getMapWidth()][map.getMapHeight()][];
        highestMovementCost = map.terrainTypes.getHighestMovementCost();
        buildAbstract3DTerrain();
      private void buildAbstract3DTerrain() {
        for (int x = 0; x < map.getMapWidth(); x++) {
          for (int y = 0; y <map.getMapHeight(); y++) {
            int movementCost = map.terrainTypes.getMovementCost(map.getSquareID(x, y));
            if ( movementCost > 0) {
              visitedSquares[x][y] = new boolean[highestMovementCost];
              squares3DReference[x][y] = new int[highestMovementCost][3];
              for (int z = 0; z < highestMovementCost; z++) {
                for (int t = 0; t < 3; t++) {
                  squares3DReference[x][y][z][t] = -1;
      private boolean isMoveValid(int x, int y, int z, int x2, int y2, int z2) {
        if ( x < 0 || y < 0 || z < 0 || x2 < 0 || y2 < 0 || z2 < 0 || x >= map.getMapWidth() || y >= map.getMapHeight() || z >= highestMovementCost ||  x2 >= map.getMapWidth() || y2 >= map.getMapHeight() || z2 >= highestMovementCost)
          return false;
        if (map.terrainTypes.getMovementCost(map.getSquareID(x2, y2)) < 1)
          return false;
        if (visitedSquares[x2][y2][z2])
          return false;
        if (x == x2 && y == y2)
          return true;
        else {
          if (z == map.terrainTypes.getMovementCost(map.getSquareID(x2, y2)) - 1)
            return true;
          else
            return false;
      private void clearPreviousSearchData() {
        queue3D.clear();
        path2D.clear();
        for (int x = 0; x < map.getMapWidth(); x++) {
          for (int y = 0; y < map.getMapHeight(); y++) {
            if (squares3DReference[x][y] != null) {
              for (int z = 0; z < highestMovementCost; z++) {
                visitedSquares[x][y][z] = false;
                for (int t = 0; t < 3; t++) {
                  squares3DReference[x][y][z][t] = -1;
      private Vector copyPath2D() {
        Vector path = new Vector();
        for (int i = 0; i < path2D.size(); i++) {
          path.add(path2D.get(i));
        return path;
      public Vector findPath(int sX, int sY, int gX, int gY) {
        int head = 0;
        int tail = 0;
        int x = sX;
        int y = sY;
        int z = 0;
        visitedSquares[x][y][z] = true;
        mainLoop: {
          while (tail <= head) {
            int[][] moves = getPosibleMoves(x, y, z);
            for (int i = 0; i < 9; i++) {
              if (moves[i] != null) {
                squares3DReference[moves[0]][moves[i][1]][moves[i][2]][0] = x;
    squares3DReference[moves[i][0]][moves[i][1]][moves[i][2]][1] = y;
    squares3DReference[moves[i][0]][moves[i][1]][moves[i][2]][2] = z;
    queue3D.add(moves[i]);
    if (moves[i][0] == gX && moves[i][1] == gY) {
    break mainLoop;
    visitedSquares[moves[i][0]][moves[i][1]][moves[i][2]] = true;
    head++;
    if (queue3D.size() == 0 || queue3D.size() == tail)
    break mainLoop;
    int[] nextInQueue = ((int[]) queue3D.get(tail));
    x = nextInQueue[0];
    y = nextInQueue[1];
    z = nextInQueue[2];
    tail++;
    if (squares3DReference[gX][gY][0][0] == -1) {
    clearPreviousSearchData();
    return path2D;
    fillpath2D(sX, sY, gX, gY);
    Vector path = copyPath2D();
    clearPreviousSearchData();
    return path;
    private int[][] getPosibleMoves(int x, int y, int z) {
    int[][] moves = new int[9][3];
    if (isMoveValid(x, y, z, x + 1, y, 0)) {
    moves[0][0] = x + 1;
    moves[0][1] = y;
    moves[0][2] = 0;
    else
    moves[0] = null;
    if (isMoveValid(x, y, z, x + 1, y - 1, 0)) {
    moves[1][0] = x + 1;
    moves[1][1] = y - 1;
    moves[1][2] = 0;
    else
    moves[1] = null;
    if (isMoveValid(x, y, z, x, y - 1, 0)) {
    moves[2][0] = x;
    moves[2][1] = y - 1;
    moves[2][2] = 0;
    else
    moves[2] = null;
    if (isMoveValid(x, y, z, x - 1, y - 1, 0)) {
    moves[3][0] = x - 1;
    moves[3][1] = y - 1;
    moves[3][2] = 0;
    else
    moves[3] = null;
    if (isMoveValid(x, y, z, x - 1, y, 0)) {
    moves[4][0] = x - 1;
    moves[4][1] = y;
    moves[4][2] = 0;
    else
    moves[4] = null;
    if (isMoveValid(x, y, z, x - 1, y + 1, 0)) {
    moves[5][0] = x - 1;
    moves[5][1] = y + 1;
    moves[5][2] = 0;
    else
    moves[5] = null;
    if (isMoveValid(x, y, z, x, y + 1, 0)) {
    moves[6][0] = x;
    moves[6][1] = y + 1;
    moves[6][2] = 0;
    else
    moves[6] = null;
    if (isMoveValid(x, y, z, x + 1, y + 1, 0)) {
    moves[7][0] = x + 1;
    moves[7][1] = y + 1;
    moves[7][2] = 0;
    else
    moves[7] = null;
    if (isMoveValid(x, y, z, x, y, z + 1)) {
    moves[8][0] = x;
    moves[8][1] = y;
    moves[8][2] = z + 1;
    else
    moves[8] = null;
    return moves;
    private void fillpath2D(int sX, int sY, int gX, int gY) {
    int[] gLoc = {gX, gY};
    path2D.add(gLoc);
    int x = gX;
    int y = gY;
    int z = 0;
    while (x != sX || y != sY) {
    int x2 = squares3DReference[x][y][z][0];
    int y2 = squares3DReference[x][y][z][1];
    int z2 = squares3DReference[x][y][z][2];
    x = x2;
    y = y2;
    z = z2;
    if (z == 0) {
    int[] loc = {x, y};
    path2D.insertElementAt(loc, 0);
    PathFinderTest.java
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Vector;
    public class PathFinderTest {
      static BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
      static Map map;
      static int startX;
      static int startY;
      static int goalX;
      static int goalY;
      public static void main(String[] args) throws Exception {
        System.out.print("Enter map size.\nx = ");
        int width = Integer.parseInt(consoleReader.readLine());
        System.out.print("y = ");
        int height = Integer.parseInt(consoleReader.readLine());
        System.out.print("Enter strting location.\nx = ");
        startX = Integer.parseInt(consoleReader.readLine()) - 1;
        System.out.print("y = ");
        startY = Integer.parseInt(consoleReader.readLine()) - 1;
        System.out.print("Enter goal location.\nx = ");
        goalX = Integer.parseInt(consoleReader.readLine()) - 1;
        System.out.print("y = ");
        goalY = Integer.parseInt(consoleReader.readLine()) - 1;
        if (goalX < 0 || goalY < 0 || startX < 0 || startY < 0 || goalX >= width || goalY >= height || startX >= width || startY >= height) {
          System.out.println("Invalid parameters found. Program will exit");
          System.exit(0);
        map = new Map(width, height);
        map.clearGoalAndStartLocFromWater(startX, startY, goalX, goalY);
        printSolution(new Vector());
        PathFinder pathFinder = new PathFinder(map);
        long before = System.currentTimeMillis();
        Vector path = pathFinder.findPath(startX, startY, goalX, goalY);
        long after = System.currentTimeMillis();
        long time = after - before;
        printSolution(path);
        if (path.size() == 0)
          System.out.println("No path found.");
        else
          System.out.println("Path found.");
        System.out.println("Finding the path took " + time + " milliseconds");
      static void printSolution(Vector path) {
        boolean[][] pathOnMap = new boolean[map.getMapWidth()][map.getMapHeight()];
        for (int i = 0; path.size() > i; i++) {
          int[] move = (int[]) path.get(i);
          pathOnMap[move[0]][move[1]] = true;
        for (int y = 0; y < map.getMapHeight(); y++) {
          for (int x = 0; x < map.getMapWidth(); x++) {
            System.out.print(" ");
            if (pathOnMap[x][y] == false)
              System.out.print(" ");
            else
              System.out.print("0");
            if (x == startX && y == startY)
              System.out.print("S");
            else if (x == goalX && y == goalY)
              System.out.print("G");
            else
              System.out.print(map.terrainTypes.getNameFirstLetter(map.getSquareID(x, y)));
          System.out.println();
        System.out.println();
    }TerrainType.java:
    public class TerrainType {
      private int movementCost;
      private String name;
      TerrainType(int aMovementCost, String aName) {
        movementCost = aMovementCost;
        name = aName;
      public int getMovementCost() {
        return movementCost;
      public String getName() {
        return name;
      public String getNameFirstLetter() {
        return name.substring(0, 1).toUpperCase();
    }TerrainTypes.java:
    import java.util.Vector;
    public class TerrainTypes {
      //Here are saved the terrain types with the map has. ElementAt 'i' in
      //setOfTypes is represented by the number in Map.terrain[x][y] witch is
      //equal to i, were x, y are random integer as soon as they do not
      //throw ArrayIndexOutOfBoundsException. Actually this is a coding to know
      //a specific square in the map to witch terrain type is refered in setOfTypes.
      private Vector setOfTypes;
      public TerrainTypes() {
        setOfTypes = new Vector();
        setOfTypes.add(new TerrainType(1, "Plains"));
        setOfTypes.add(new TerrainType(2, "Forst"));
        setOfTypes.add(new TerrainType(3, "Jungle"));
        setOfTypes.add(new TerrainType(4, "Mountain"));
        setOfTypes.add(new TerrainType(-1, "X"));
      public int getMovementCost(int i) {
        return ((TerrainType) setOfTypes.get(i)).getMovementCost();
      public String getName(int i) {
        return ((TerrainType) setOfTypes.get(i)).getName();
      public String getNameFirstLetter(int i) {
        return ((TerrainType) setOfTypes.get(i)).getNameFirstLetter();
      public int getHighestMovementCost() {
        int max = 1;
        for (int i = 0; setOfTypes.size() > i; i++) {
          int movementCost = ((TerrainType) setOfTypes.get(i)).getMovementCost();
          if ( movementCost > 0) {
            if (max < movementCost)
              max = movementCost;
        return max;
    }I hope this program will be helpful.
    Sogartar

    Why is such a smart guy like you not using A*
    It is a general known algorithm which will find the
    optimal solution in a finite search-space (within a minimal time).
    The calculation time for the A* algorithm is influenced by two parameters:
    1 - cumulative cost
    2 - minimal expected additional cost
    The calculation of these two costs has a great influence on the
    solution.
    I think the actual problems most games experience with shortest path calculatoin are
    1 - very little time to spent calculating the shortest path
    The quickest solution might be the best for the game
    If your solution takes 1 second for the calculation of a path for one element on the board (100x100)
    What would it take for the game to calculate the path for all elements controlled by the computer ??
    If the computer controls two players which each have 50 elements to control, it would take forever...
    Don't even consider the usage of a larger board (200x200 would take 4 seconds/element when
    algorithm has complexity O(n))
    2 - low priority.
    Users tend to forgive a bad shortest path-algorithm most of the time,
    but not a bad display, bad pictures,...
    This is why most shortest-path algorithms within games were
    developed as a depth first search,
    within some earlier games this was even developed as
    a rule which went straight to the endlocation and
    takes a right/left turn when blocked by water/wall/...
    So the actual steps you should take are:
    1 - develop a normal breath-first search (to get going)
    2 - develop a normal depth-first search (to compare speed and solution with)
    3 - develop a normal dijkstra algorithm (sometimes called A)
    4 - develop a best first algorithm (called A*)
    5 - develop other AI-algorithms building upon A* (tabu-search, limited memory A*,...)
    6 - develop some other AI-algorithms (Genetic Algorithms, Simulated Annealing,...)
    7 - compare and tweak/change all search-algorithms for
    7 - a - size of maps (small versus huge)
    7 - b - optimality of the solution
    7 - c - actual usage for your game
    8 - !!! very important !!!
    Share the developed path algorithms along with remarks about speed, map-size,...
    with the rest of us. I would be very interested in such library.
    kind regards,

  • Web app security exception: Bad URLMatchMap

    Can anyone help me diagnose an error? I am simply trying to place a security constraint
    on a servlet within an ear-deployed web-application.
    The exception occurs as the first POST comes to the servlet I am trying to protect:
    <Apr 16, 2001 12:40:09 PM EDT> <Error> <Kernel> <ExecuteRequest failed
    java.lang.IllegalArgumentException: bad URLMatchMap path: 'version="1.0"'
    at weblogic.servlet.utils.URLMatchMap.get(URLMatchMap.java:196)
    at weblogic.servlet.security.internal.WebAppSecurity.getConstraint(WebAp
    pSecurity.java:135)
    at weblogic.servlet.security.internal.SecurityModule.checkTransport(Secu
    rityModule.java:177)
    at weblogic.servlet.security.internal.BasicSecurityModule.checkA(BasicSe
    curityModule.java:48)
    at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess
    (ServletSecurityManager.java:150)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:1250)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:1622)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >
    <?xml version="1.0" ?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN'
    'http://java.sun.com/j2ee/dtds/web-app_2.2.dtd'>
    <web-app>
    <display-name>ANSWeb</display-name>
    <description>no description</description>
    <servlet>
    <servlet-name>UPMessageServlet</servlet-name>
    <display-name>UPMessageServlet</display-name>
    <description>no description</description>
    <servlet-class>com.aether.ans.gateway.up.UPMessageServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>ANSServlet</servlet-name>
    <display-name>ANSServlet</display-name>
    <description>no description</description>
    <servlet-class>com.aether.ans.server.ANSServlet</servlet-class>
    <load-on-startup />
    </servlet>
    <servlet>
    <servlet-name>WCTPServlet</servlet-name>
    <display-name>WCTPServlet</display-name>
    <description>no description</description>
    <servlet-class>com.aether.ans.gateway.wctp.WCTPServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>UPMessageServlet</servlet-name>
    <url-pattern>/UPMessage</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>ANSServlet</servlet-name>
    <url-pattern>/Server</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>WCTPServlet</servlet-name>
    <url-pattern>/WCTPCallback</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <resource-ref>
    <description>no description</description>
    <res-ref-name>url/ANS.dtd</res-ref-name>
    <res-type>java.net.URL</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Protected Server</web-resource-name>
    <url-pattern>/Server</url-pattern>
    <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
    <role-name>Client</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    <security-role>
    <role-name>Client</role-name>
    </security-role>
    <ejb-ref>
    <description>no description</description>
    <ejb-ref-name>ejb/ANSServer</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.aether.ans.server.ANSServerHome</home>
    <remote>com.aether.ans.server.ANSServer</remote>
    </ejb-ref>
    <ejb-ref>
    <description>no description</description>
    <ejb-ref-name>ejb/Alert</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>com.aether.ans.entity.AlertHome</home>
    <remote>com.aether.ans.entity.Alert</remote>
    </ejb-ref>
    </web-app>
    <?xml version="1.0" ?>
    <!DOCTYPE weblogic-web-app PUBLIC '-//BEA Systems, Inc.//DTD Web Application 6.0//EN'
    'http://www.beasys.com/servers/wls600/dtd/weblogic-web-jar.dtd'>
    <weblogic-web-app>
    <description>no description</description>
    <security-role-assignment>
    <role-name>Client</role-name>
    <principal-name>Client</principal-name>
    </security-role-assignment>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>url/ANS.dtd</res-ref-name>
    <jndi-name>ans.url.dtd</jndi-name>
    </resource-description>
    <ejb-reference-description>
    <ejb-ref-name>ejb/Alert</ejb-ref-name>
    <jndi-name>ejb.Alert</jndi-name>
    </ejb-reference-description>
    <ejb-reference-description>
    <ejb-ref-name>ejb/ANSServer</ejb-ref-name>
    <jndi-name>ejb.ANSServer</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-web-app>

    Hi Andrew,
    Even without moderation enabled, any submission made through the BC platform is filtered through our protection engine to prevent XSS. Any type of potentially malicious code is immediately stripped from the submission, and this is not done at a client-side level.
    Kind Regards,
    Alex

  • Bad file is not created during the external table creation.

    Hello Experts,
    I have created a script for external table in Oracle 10g DB. Everything is working fine except it does not create the bad file, But it creates the log file. I Cann't figure out what is the issue. Because my shell scripts is failing and the entire program is failing. I am attaching the table creation script and the shell script where it is refering and the error. Kindly let me know if something is missing. Thanks in advance
    Table Creation Scripts:_-------------------------------
    create table RGIS_TCA_DATA_EXT
    guid VARCHAR2(250),
    badge VARCHAR2(250),
    scheduled_store_id VARCHAR2(250),
    parent_event_id VARCHAR2(250),
    event_id VARCHAR2(250),
    organization_number VARCHAR2(250),
    customer_number VARCHAR2(250),
    store_number VARCHAR2(250),
    inventory_date VARCHAR2(250),
    full_name VARCHAR2(250),
    punch_type VARCHAR2(250),
    punch_start_date_time VARCHAR2(250),
    punch_end_date_time VARCHAR2(250),
    event_meet_site_id VARCHAR2(250),
    vehicle_number VARCHAR2(250),
    vehicle_description VARCHAR2(250),
    vehicle_type VARCHAR2(250),
    is_owner VARCHAR2(250),
    driver_passenger VARCHAR2(250),
    mileage VARCHAR2(250),
    adder_code VARCHAR2(250),
    bonus_qualifier_code VARCHAR2(250),
    store_accuracy VARCHAR2(250),
    store_length VARCHAR2(250),
    badge_input_type VARCHAR2(250),
    source VARCHAR2(250),
    created_by VARCHAR2(250),
    created_date_time VARCHAR2(250),
    updated_by VARCHAR2(250),
    updated_date_time VARCHAR2(250),
    approver_badge_id VARCHAR2(250),
    approver_name VARCHAR2(250),
    orig_guid VARCHAR2(250),
    edit_type VARCHAR2(250)
    organization external
    type ORACLE_LOADER
    default directory ETIME_LOAD_DIR
    access parameters
    RECORDS DELIMITED BY NEWLINE
    BADFILE ETIME_LOAD_DIR:'tstlms.bad'
    LOGFILE ETIME_LOAD_DIR:'tstlms.log'
    READSIZE 1048576
    FIELDS TERMINATED BY '|'
    MISSING FIELD VALUES ARE NULL(
    GUID
    ,BADGE
    ,SCHEDULED_STORE_ID
    ,PARENT_EVENT_ID
    ,EVENT_ID
    ,ORGANIZATION_NUMBER
    ,CUSTOMER_NUMBER
    ,STORE_NUMBER
    ,INVENTORY_DATE char date_format date mask "YYYYMMDD HH24:MI:SS"
    ,FULL_NAME
    ,PUNCH_TYPE
    ,PUNCH_START_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
    ,PUNCH_END_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
    ,EVENT_MEET_SITE_ID
    ,VEHICLE_NUMBER
    ,VEHICLE_DESCRIPTION
    ,VEHICLE_TYPE
    ,IS_OWNER
    ,DRIVER_PASSENGER
    ,MILEAGE
    ,ADDER_CODE
    ,BONUS_QUALIFIER_CODE
    ,STORE_ACCURACY
    ,STORE_LENGTH
    ,BADGE_INPUT_TYPE
    ,SOURCE
    ,CREATED_BY
    ,CREATED_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
    ,UPDATED_BY
    ,UPDATED_DATE_TIME char date_format date mask "YYYYMMDD HH24:MI:SS"
    ,APPROVER_BADGE_ID
    ,APPROVER_NAME
    ,ORIG_GUID
    ,EDIT_TYPE
    location (ETIME_LOAD_DIR:'tstlms.dat')
    reject limit UNLIMITED;
    _***Shell Script*:*----------------_*
    version=1.0
    umask 000
    DATE=`date +%Y%m%d%H%M%S`
    TIME=`date +"%H%M%S"`
    SOURCE=`hostname`
    fcp_login=`echo $1|awk '{print $3}'|sed 's/"//g'|awk -F= '{print $2}'`
    fcp_reqid=`echo $1|awk '{print $2}'|sed 's/"//g'|awk -F= '{print $2}'`
    TXT1_PATH=/home/ac1/oracle/in/tsdata
    TXT2_PATH=/home/ac2/oracle/in/tsdata
    ARCH1_PATH=/home/ac1/oracle/in/tsdata
    ARCH2_PATH=/home/ac2/oracle/in/tsdata
    DEST_PATH=/home/custom/sched/in
    PROGLOG=/home/custom/sched/logs/rgis_tca_to_tlms_create.sh.log
    PROGNAME=`basename $0`
    PROGPATH=/home/custom/sched/scripts
    cd $TXT2_PATH
    FILELIST2="`ls -lrt tstlmsedits*.dat |awk '{print $9}'`"
    NO_OF_FILES2="`ls -lrt tstlmsedits*.dat |awk '{print $9}'|wc -l`"
    $DEST_PATH/tstlmsedits.dat for i in $FILELIST2
    do
    cat $i >> $DEST_PATH/tstlmsedits.dat
    printf "\n" >> $DEST_PATH/tstlmsedits.dat
    mv $i $i.$DATE
    #mv $i $TXT2_PATH/test/.
    mv $i.$DATE $TXT2_PATH/test/.
    done
    if test $NO_OF_FILES2 -eq 0
    then
    echo " no tstlmsedits.dat file exists " >> $PROGLOG
    else
    echo "created dat file tstlmsedits.dat at $DATE" >> $PROGLOG
    echo "-------------------------------------------" >> $PROGLOG
    fi
    NO_OF_FILES1="`ls -lrt tstlms*.dat |awk '{print $9}'|wc -l`"
    FILELIST1="`ls -lrt tstlms*.dat |awk '{print $9}'`"
    $DEST_PATH/tstlms.datfor i in $FILELIST1
    do
    cat $i >> $DEST_PATH/tstlms.dat
    printf "\n" >> $DEST_PATH/tstlms.dat
    mv $i $i.$DATE
    # mv $i $TXT2_PATH/test/.
    mv $i.$DATE $TXT2_PATH/test/.
    done
    if test $NO_OF_FILES1 -eq 0
    then
    echo " no tstlms.dat file exists " >> $PROGLOG
    else
    echo "created dat file tstlms.dat at $DATE" >> $PROGLOG
    fi
    cd $TXT1_PATH
    FILELIST3="`ls -lrt tstlmsedits*.dat |awk '{print $9}'`"
    NO_OF_FILES3="`ls -lrt tstlmsedits*.dat |awk '{print $9}'|wc -l`"
    $DEST_PATH/tstlmsedits.datfor i in $FILELIST3
    do
    cat $i >> $DEST_PATH/tstlmsedits.dat
    printf "\n" >> $DEST_PATH/tstlmsedits.dat
    mv $i $i.$DATE
    #mv $i $TXT1_PATH/test/.
    mv $i.$DATE $TXT1_PATH/test/.
    done
    if test $NO_OF_FILES3 -eq 0
    then
    echo " no tstlmsedits.dat file exists " >> $PROGLOG
    else
    echo "created dat file tstlmsedits.dat at $DATE" >> $PROGLOG
    echo "-------------------------------------------" >> $PROGLOG
    fi
    NO_OF_FILES4="`ls -lrt tstlms*.dat |awk '{print $9}'|wc -l`"
    FILELIST4="`ls -lrt tstlms*.dat |awk '{print $9}'`"
    $DEST_PATH/tstlms.datfor i in $FILELIST4
    do
    cat $i >> $DEST_PATH/tstlms.dat
    printf "\n" >> $DEST_PATH/tstlms.dat
    mv $i $i.$DATE
    # mv $i $TXT1_PATH/test/.
    mv $i.$DATE $TXT1_PATH/test/.
    done
    if test $NO_OF_FILES4 -eq 0
    then
    echo " no tstlms.dat file exists " >> $PROGLOG
    else
    echo "created dat file tstlms.dat at $DATE" >> $PROGLOG
    fi
    #connecting to oracle to generate bad files
    sqlplus -s $fcp_login<<EOF
    select count(*) from rgis_tca_data_ext;
    select count(*) from rgis_tca_data_history_ext;
    exit;
    EOF
    #counting the records in files
    tot_rec_in_tstlms=`wc -l $DEST_PATH/tstlms.dat | awk ' { print $1 } '`
    tot_rec_in_tstlmsedits=`wc -l $DEST_PATH/tstlmsedits.dat | awk ' { print $1 } '`
    tot_rec_in_tstlms_bad=`wc -l $DEST_PATH/tstlms.bad | awk ' { print $1 } '`
    tot_rec_in_tstlmsedits_bad=`wc -l $DEST_PATH/tstlmsedits.bad | awk ' { print $1 } '`
    #updating log table
    echo "pl/sql block started"
    sqlplus -s $fcp_login<<EOF
    define tot_rec_in_tstlms     = '$tot_rec_in_tstlms';
    define tot_rec_in_tstlmsedits     = '$tot_rec_in_tstlmsedits';
    define tot_rec_in_tstlms_bad     = '$tot_rec_in_tstlms_bad';
    define tot_rec_in_tstlmsedits_bad='$tot_rec_in_tstlmsedits_bad';
    define fcp_reqid ='$fcp_reqid';
    declare
    l_tstlms_file_id number := null;
    l_tstlmsedits_file_id number := null;
    l_tot_rec_in_tstlms number := 0;
    l_tot_rec_in_tstlmsedits number := 0;
    l_tot_rec_in_tstlms_bad number := 0;
    l_tot_rec_in_tstlmsedits_bad number := 0;
    l_request_id fnd_concurrent_requests.request_id%type;
    l_start_date fnd_concurrent_requests.actual_start_date%type;
    l_end_date fnd_concurrent_requests.actual_completion_date%type;
    l_conc_prog_name fnd_concurrent_programs.concurrent_program_name%type;
    l_requested_by fnd_concurrent_requests.requested_by%type;
    l_requested_date fnd_concurrent_requests.request_date%type;
    begin
    --getting concurrent request details
    begin
    SELECT fcp.concurrent_program_name,
    fcr.request_id,
    fcr.actual_start_date,
    fcr.actual_completion_date,
    fcr.requested_by,
    fcr.request_date
    INTO l_conc_prog_name,
    l_request_id,
    l_start_date,
    l_end_date,
    l_requested_by,
    l_requested_date
    FROM fnd_concurrent_requests fcr, fnd_concurrent_programs fcp
    WHERE fcp.concurrent_program_id = fcr.concurrent_program_id
    AND fcr.request_id = &fcp_reqid; --fnd_global.conc_request_id();
    exception
    when no_data_found then
    fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
    fnd_file.put_line(fnd_file.log, 'No data found for request_id');
    fnd_file.put_line(fnd_file.log, sqlerrm);
    raise_application_error(-20001,
    'Error occured when executing RGIS_TCA_TO_TLMS_CREATE.sh ' ||
    sqlerrm);
    when others then
    fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
    fnd_file.put_line(fnd_file.log,
    'Error occured when retrieving request_id request_id');
    fnd_file.put_line(fnd_file.log, sqlerrm);
    raise_application_error(-20001,
    'Error occured when executing RGIS_TCA_TO_TLMS_CREATE.sh ' ||
    sqlerrm);
    end;
    --calling ins_or_upd_tca_process_log to update log table for tstlms.dat file
    begin
    rgis_tca_to_tlms_process.ins_or_upd_tca_process_log
                   (l_tstlms_file_id,
                   'tstlms.dat',
                   l_conc_prog_name,
                   l_request_id,
                   l_start_date,
                   l_end_date,
                   &tot_rec_in_tstlms,
                   &tot_rec_in_tstlms_bad,
                   null,
                   null,               
                   null,
                   null,
                   null,
                   null,
                   null,
                   l_requested_by,
                   l_requested_date,
                   null,
                   null,
                   null,
                   null,
                   null);
    exception
    when others then
    fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
    fnd_file.put_line(fnd_file.log,
    'Error occured when executing rgis_tca_to_tlms_process.ins_or_upd_tca_process_log for tstlms file');
    fnd_file.put_line(fnd_file.log, sqlerrm);
    end;
    --calling ins_or_upd_tca_process_log to update log table for tstlmsedits.dat file
    begin
    rgis_tca_to_tlms_process.ins_or_upd_tca_process_log
                   (l_tstlmsedits_file_id,
                   'tstlmsedits.dat',
                   l_conc_prog_name,
                   l_request_id,
                   l_start_date,
                   l_end_date,
                   &tot_rec_in_tstlmsedits,
                   &tot_rec_in_tstlmsedits_bad,
                   null,
                   null,               
                   null,
                   null,
                   null,
                   null,
                   null,
                   l_requested_by,
                   l_requested_date,
                   null,
                   null,
                   null,
                   null,
                   null);
    exception
    when others then
    fnd_file.put_line(fnd_file.log, 'Error:RGIS_TCA_TO_TLMS_CREATE.sh');
    fnd_file.put_line(fnd_file.log,
    'Error occured when executing rgis_tca_to_tlms_process.ins_or_upd_tca_process_log for tstlmsedits file');
    fnd_file.put_line(fnd_file.log, sqlerrm);
    end;
    end;
    exit;
    EOF
    echo "rgis_tca_to_tlms_process.sql started"
    sqlplus -s $fcp_login @$SCHED_TOP/sql/rgis_tca_to_tlms_process.sql $fcp_reqid
    exit;
    echo "rgis_tca_to_tlms_process.sql ended"
    _**Error:*----------------------------------*_
    RGIS Scheduling: Version : UNKNOWN
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    TCATLMS module: TCA To TLMS Import Process
    Current system time is 18-AUG-2011 06:13:27
    COUNT(*)
         16
    COUNT(*)
         25
    wc: cannot open /home/custom/sched/in/tstlms.bad
    wc: cannot open /home/custom/sched/in/tstlmsedits.bad
    pl/sql block started
    old 33:     AND fcr.request_id = &fcp_reqid; --fnd_global.conc_request_id();
    new 33:     AND fcr.request_id = 18661823; --fnd_global.conc_request_id();
    old 63:                &tot_rec_in_tstlms,
    new 63:                16,
    old 64:                &tot_rec_in_tstlms_bad,
    new 64:                ,
    old 97:                &tot_rec_in_tstlmsedits,
    new 97:                25,
    old 98:                &tot_rec_in_tstlmsedits_bad,
    new 98:                ,
    ERROR at line 64:
    ORA-06550: line 64, column 4:
    PLS-00103: Encountered the symbol "," when expecting one of the following:
    ( - + case mod new not null others <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql stddev sum variance
    execute forall merge time timestamp interval date
    <a string literal with character set specification>
    <a number> <a single-quoted SQL string> pipe
    <an alternatively-quoted string literal with character set specification>
    <an alternatively-q
    ORA-06550: line 98, column 4:
    PLS-00103: Encountered the symbol "," when expecting one of the following:
    ( - + case mod new not null others <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> avg
    count current exists max min prior sql st
    rgis_tca_to_tlms_process.sql started
    old 12: and concurrent_request_id = '&1';
    new 12: and concurrent_request_id = '18661823';
    old 18: and concurrent_request_id = '&1';
    new 18: and concurrent_request_id = '18661823';
    old 22: rgis_tca_to_tlms_process.run_tca_data(l_tstlms_file_id,&1);
    new 22: rgis_tca_to_tlms_process.run_tca_data(l_tstlms_file_id,18661823);
    old 33: rgis_tca_to_tlms_process.run_tca_data_history(l_tstlmsedits_file_id,&1);
    new 33: rgis_tca_to_tlms_process.run_tca_data_history(l_tstlmsedits_file_id,18661823);
    old 44: rgis_tca_to_tlms_process.send_tca_email('TCATLMS',&1);
    new 44: rgis_tca_to_tlms_process.send_tca_email('TCATLMS',18661823);
    declare
    ERROR at line 1:
    ORA-20001: Error occured when executing RGIS_TCA_TO_TLMS_PROCESS.sql ORA-01403:
    no data found
    ORA-06512: at line 59
    Executing request completion options...
    ------------- 1) PRINT   -------------
    Printing output file.
    Request ID : 18661823      
    Number of copies : 0      
    Printer : noprint
    Finished executing request completion options.
    Concurrent request completed successfully
    Current system time is 18-AUG-2011 06:13:29
    ---------------------------------------------------------------------------

    Hi,
    Check the status of the batch in SM35 transaction.
    if the batch is locked by mistake or any other error, now you can release it and aslo you can process again.
    To Release -Shift+F4.
    Also you can analyse the job status through F2 button.
    Bye

  • Dynamic Configuration - Set Directory Path for File Receiver Adapter

    Hi Experts,
    I have a question regarding the dynamic configuration for the file adapter. Is it possible to set a directory path without a message mapping for the file receiver adapter? the problem is that I want to import a pdf document. this pdf document I want to store in a dynamic directory (depending on the filename). so I have to read the filename out of the dynamic configuration and generate (depending on the filename) a directory for this file. Is that possible without a message mapping? I cannot make a message mapping because the file has the pdf format and should not get changed.
    best regards
    Christopher Kühn

    Hi Gaurav,
    I use the ASMA (respectively the filename) for the sender adapter. After the pdf was imported into XI this filename is in the ASMA.
    But what then??? How can I get this filename with the help of the variable substitution? and if I have this filename I have to change this filename a bit to generate the name / path of the directory.
    Please explain it to me detailled
    Thanks and regards
    christopher

  • Web service ClassCastException in the generated Tie class

    I got the above exception when making a request from a client to an EJB webservice. The exception is in the generated tie class on the server side.
    I narrowed down the problem to this:
    In my function call in the tie class: (now call MyFunction):
    a function in the tie class is generated:
    private void invoke_MyFunction(StreamingHandlerState streaminghandlerstate) throws Exception{
    In this function, there's line:
    ((MyEJBInterfaceClass)getTarget()).MyFunction(...)
    Where MyEJBInterfaceClass is the name of the remote interface, which has MyFunction declaration in it.
    the getTarget() function is from TieBase class that the MyEJBInterfaceClass_Tie extended.
    The error is generated because getTarget() did not return an instance of MyEJBInterfaceClass.
    So, there must be some error in the generated code when I use the deploy tool to deploy my webservice.
    Could someone please shed some light?
    Sun, please fix your bugs. There are so many bugs that I found when using your server (App Server 8).
    From not releasing the context resource properly to not lookup properly using the context, to randomly generate bad client.jar file to this error.
    Very disappointed.

    Hello again
    I tried to reproduce your problem and could not so there must be something different than the following steps :
    1. Create the interface MyIntf.java
    package ejb;
    public interface MyIntf extends java.rmi.Remote {
    public String sayHello(String toWho)
    throws java.rmi.RemoteException;
    2. Create the EJB impl
    package ejb;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import java.rmi.RemoteException;
    public class MyEjb implements MyIntf, SessionBean {
    SessionContext sc = null;
    public MyEjb() { }
    public void ejbCreate() throws RemoteException {
    System.out.println("In MyEjb::ejbCreate !!");
    public void setSessionContext(SessionContext sc) {
    this.sc = sc;
    public void ejbRemove() throws RemoteException {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public String sayHello(String toWho) {
    return "hello " + toWho;
    3. Create the config.xml (slightly modified from yours)
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
    <service
    name="MyEjbIntfService"
    targetNamespace="http://java.sun.com"
    typeNamespace="http://java.sun.com"
    packageName="ejb">
    <interface name="ejb.MyIntf"/>
    </service>
    </configuration>
    4. Invoke wscompile
    javac -d build ejb/MyEjb.java
    wscompile -define -mapping build/mapping.xml -d build -nd build -classpath build config.xml
    5. look at wsdl, there is nothing line MyIntfSoapPort like you had
    in particular
    <portType name="MyIntf">
    complete wsdl is :
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="MyEjbIntfService" targetNamespace="http://java.sun.com" xmlns:tns="http://java.sun.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <types/>
    <message name="MyIntf_sayHello">
    <part name="String_1" type="xsd:string"/></message>
    <message name="MyIntf_sayHelloResponse">
    <part name="result" type="xsd:string"/></message>
    <portType name="MyIntf">
    <operation name="sayHello" parameterOrder="String_1">
    <input message="tns:MyIntf_sayHello"/>
    <output message="tns:MyIntf_sayHelloResponse"/></operation></portType>
    <binding name="MyIntfBinding" type="tns:MyIntf">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/> <operation name="sayHello">
    <soap:operation soapAction=""/>
    <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://java.sun.com"/></input>
    <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://java.sun.com"/></output></operation></binding>
    <service name="MyEjbIntfService">
    <port name="MyIntfPort" binding="tns:MyIntfBinding">
    <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>
    6. Package in deploytool.
    this is the webservices I got from the assembly tool.
    <webservices xmlns="http://java.sun.com/xml/ns/j2ee" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd">
    <webservice-description>
    <display-name>MyEjbIntfService</display-name>
    <webservice-description-name>MyEjbIntfService</webservice-description-name>
    <wsdl-file>META-INF/wsdl/MyEjbIntfService.wsdl</wsdl-file>
    <jaxrpc-mapping-file>mapping.xml</jaxrpc-mapping-file>
    <port-component>
    <display-name>MyIntf</display-name>
    <port-component-name>MyIntf</port-component-name>
    <wsdl-port xmlns:wsdl-port_ns__="http://java.sun.com">wsdl-port_ns__:MyIntfPort</wsdl-port>
    <service-endpoint-interface>ejb.MyIntf</service-endpoint-interface>
    <service-impl-bean>
    <ejb-link>MyEjb</ejb-link>
    </service-impl-bean>
    </port-component>
    </webservice-description>
    </webservices>
    So It works fine AFAIK, from your descriptrion, it seems that the wsdl file is incorrect so the problem starts far before the actual Tie generation. You wrote in a previous message that :
    "In the wsdl file this is one of the places it shows: <portType name="MyEjbIntfSoap">"
    This is where the problem is. Do you have any clue how you got that ? If you run again wscompile, do you have the same values ?
    Jerome

Maybe you are looking for

  • I can not install Oracle 8i 1.6 Client for NT on an Intel pentium 4 Machine

    Hi all, I've heard the java virtual m installed during the installation of oracle client manager 8i 1.6 on a Intel Pentium IV is bugy till now we could n't bring it to runn. Is there anyone who has the uptodate Patch or work around for that problem?

  • Problem with adobe reader when installing on mac book. "Internal error occured".

    Both me and my friend installed Adobe reader on our mac books this week, and it doesn't work. The only thing that happens when we try to open the program is an text message with "Internal error occured". And that's it. The PDF-file is not the problem

  • Account Not found on resource

    Hi frenz, I got the following error when I tried to edit the user A29666. Account 'A29666' not found in Resource 'SecurID - usatli69'. XPRESS exception: Can't call method listResourceObjects on class com.waveset.ui.FormUtil ==> com.waveset.util.Waves

  • Jsp & java

    Hi, can I write a java program (.class file) working with swing and called by jsp page (.jsp)

  • Help! Safari crashing when using finder to download/upload

    Any time I try to do anything which involves Finder popping up such as uploading photos to Facebook, I get a message saying, "Safari quit unexpectedly while using the FinderKit plug-in", can anybody help me?! This is the detailed feedback about it Pr