Fix HelloWorld in IFS 9.0...
I am attaching a new version of the HelloWorld.java file that we
have gotten to compile.
The file was edited by an analyst here. A bug will be filed
soon on this issue but until we get a fix for this issue please
use the attached file.
Here's a description of what was changed.--
HelloWorld.java
line 39:
public class HelloWorld throws IfsExcpetion
should be
public class HelloWorld
line 46:
public void static main (String[] args)
should be
public static void main (String[] args)
line 61:
DocumentDefinition newDocDef = DocumentDefinition(ifsSession);
should be
DocumentDefinition newDocDef = new DocumentDefinition
(ifsSession);
line 65:
AttributeValue.newAttributeValue(~SHelloWorld.txt~T));
should be
AttributeValue.newAttributeValue("HelloWorld.txt"));
line 68:
newDocDef.setContent(~SHello world.~T);
should be
newDocDef.setContent("Hello world.");
line 88:
session.disconnect();
should be
ifsSession.disconnect();
Added:
//Class used represents a value
import oracle.ifs.common.AttributeValue;
Had to add try/catch block if ifsException.
Have a nice day!
Curtis Bellew
Oracle Support
Internet Products
[email protected]
package oracle.ifs.examples.documentation.helloworld;
// Class used to represent the current user at runtime
import oracle.ifs.beans.DirectoryUser;
// Class used to instantiate the Document object at runtime
import oracle.ifs.beans.Document;
// Class used to define the attributes of the new Document object
import oracle.ifs.beans.DocumentDefinition;
// Class used to represent a Folder object at runtime
import oracle.ifs.beans.Folder;
// Classes used to create the connection to the Oracle 9iFS
server
import oracle.ifs.beans.LibraryService;
import oracle.ifs.beans.LibrarySession;
// Class used to access information about the current user; in
this
// program, used to access the user's home folder.
import oracle.ifs.beans.PrimaryUserProfile;
// Class used to create the persistent Document object in the
repostiory
import oracle.ifs.beans.PublicObject;
// Class used to hold the user~Rs authentication information
import oracle.ifs.common.CleartextCredential;
// Class used to trap and report 9iFS specific exceptions
import oracle.ifs.common.IfsException;
//Class used represents a value
import oracle.ifs.common.AttributeValue;
* HelloWorld class. This class demonstrates the steps needed to
* connect to an instance of Oracle 9iFS, create a new document,
* insert the document in a folder, and disconnect from the
Oracle
* 9iFS server.
public class HelloWorld
* Connect to the Oracle 9iFS server. The arguments are
IfsService,
* IfsServicePassword, UserName, UserPassword.
public static void main (String[] args)
try {
// Start the LibraryService.
LibraryService service =
LibraryService.startService(args[0], args[1]);
// Create a CleartextCredential object with the user's
login
// information.
CleartextCredential cred =
new CleartextCredential(args[2], args[3]);
// Connect using the Service and Credential information.
LibrarySession ifsSession = service.connect(cred, null);
// Instantiate an empty DocumentDefinition object.
DocumentDefinition newDocDef = new DocumentDefinition
(ifsSession);
// Set the Name attribute for the new document.
newDocDef.setAttribute(PublicObject.NAME_ATTRIBUTE,
AttributeValue.newAttributeValue("HelloWorld.txt"));
// Set the content of the new document.
newDocDef.setContent("Hello world.");
// Create the document in the Oracle 9iFS repository.
Document doc = (Document) ifsSession.createPublicObject
(newDocDef);
// Begin the foldering process. First, instantiate a
DirectoryUser
// object representing the current user.
DirectoryUser thisUser = ifsSession.getDirectoryUser();
// Get the PrimaryUserProfile information for the current
user.
PrimaryUserProfile userProfile =
ifsSession.getPrimaryUserProfile(thisUser);
// Instantiate a runtime representation of the user's
home folder.
Folder homeFolder = userProfile.getHomeFolder();
// Insert the new document to the user's home folder.
homeFolder.addItem(doc);
// Close the connection to Oracle 9iFS.
ifsSession.disconnect();
catch (IfsException ifse)
ifse.printStackTrace();
}
9iFS version 9.0.2 was the first release to switch over to Oracle 9iAS v9.0.2 - previous releases ran from a Oracle9i (Database) Home.
The Web Server is Oracle HTTP Server (OHS / Apache) which is a foundation component of 9iAS.
The Java runtime environment for the Web UI is provided by OC4J (Oracle Containers for Java) , also a key component of 9iAS!
Matt.
Similar Messages
-
IFS-46113: No such server (IfsProtocols)
I get this message during shutdown. Why would the IfsProtocols server vanish?
ScottThanks for the reply. The IfsProtocols process dies very regulary about 60 minutes after I do a ifsstart. Sometimes its 50 minutes, sometimes 70, but it always dies. I have only one port open (SQL NET) between the ifs server and the database server. It seems like I am experiencing a network time out, but I have not seen anything in the documentation that address a mutilple node install through a firewall.
Is there a fix for the ifs-46113 error? What other symptoms should I be looking at?
Thanks
Scott
null -
IFS ALERT NOTICE FOR JDBC MEMORY LEAK FIX
IFS ALERT NOTICE FOR JDBC MEMORY LEAK FIX
Product and Version Affected:
Product: Oracle Internet File System
Product ID: 7
Version: 1.0
Description: There is a memory leak when retrieving or saving BLOBs through JDBC. IFS will appear to continue to increase in its memory consumption until the user runs out of swap space, and the machine stops functioning.
Platform Affected: Sun SPARC Solaris, Windows NT
Likelihood of Occurrence: Most iFS customers will notice this problem, since most will retrieve and store enough document content that they will notice the memory leak.
Symptoms:
- Performance becomes unacceptable on a minimally configured machine when doing significant retrievals and storage of documents.
- Significant swapping of the operating system.
- The user sees real memory and total memory continue to increase without bound when using any iFS protocols to retrieve and store document content.
- The memory usage goes back to normal when the iFS protocols are stopped.
Solution: Get the JDBC 8.1.6.0.1 patch for Solaris or NT (the OCI component, for JDK 1.1). Install it on all machines where the iFS protocols are running. The patch may be obtained on http://technet.oracle.com/software/tech/java/sqlj_jdbc/software_index.htm (you have to be logged into technet).
Be sure to get the OCI component of JDBC 8.1.6.0.1 for JDK 1.1.
nullMoving to Top
-
Revision: 15950
Revision: 15950
Author: [email protected]
Date: 2010-05-07 09:54:21 -0700 (Fri, 07 May 2010)
Log Message:
Fix broken resize behavior in HelloWorld sample.
Modified Paths:
osmf/trunk/apps/samples/framework/HelloWorld/HelloWorld7.as -
After I compile following HelloWorld.java, I have gotten a lot of error reports.
How can I solve this probleme. I am expecting your help
Yiping
Following are reports and programme.
//reports
Obtaining LibraryService.
oracle.ifs.common.IfsException: IFS-20102: Unable to start service (IfsDefault)
oracle.ifs.common.IfsException: IFS-20122: Unable to construct service
oracle.ifs.common.IfsException: IFS-10620: Unable to construct connection pool
oracle.ifs.common.IfsException: IFS-10633: Unable to create library connection
oracle.ifs.common.IfsException: IFS-10600: Unable to construct library connection
java.sql.SQLException: Zeichensatz nicht unterst|tzt !!: DBConversion
void oracle.jdbc.dbaccess.DBError.throwSqlException(java.lang.String, java.lang.String, int)
void oracle.jdbc.dbaccess.DBError.throwSqlException(int, java.lang.Object)
void oracle.jdbc.dbaccess.DBError.check_error(int, java.lang.Object)
void oracle.jdbc.dbaccess.DBConversion.unexpectedCharset(short)
void oracle.jdbc.dbaccess.DBConversion.<init>(short, short, short)
oracle.jdbc.dbaccess.DBConversion oracle.jdbc.oci8.OCIDBAccess.logon(java.lang.String, java.lang.String, java.lang.String, java.util.Properties)
void oracle.jdbc.driver.OracleConnection.<init>(oracle.jdbc.dbaccess.DBAccess, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Properties)
java.sql.Connection oracle.jdbc.driver.OracleDriver.getConnectionInstance(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Properties)
java.sql.Connection oracle.jdbc.driver.OracleDriver.connect(java.lang.String, java.util.Properties)
java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.util.Properties, java.lang.ClassLoader)
java.sql.Connection java.sql.DriverManager.getConnection(java.lang.String, java.lang.String, java.lang.String)
void oracle.ifs.server.LibraryConnection.<init>(long, oracle.ifs.server.S_LibraryService, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.io.PrintStream, int)
oracle.ifs.server.LibraryConnection oracle.ifs.server.ConnectionPool.constructLibraryConnection(int)
void oracle.ifs.server.ConnectionPool.createLibraryConnection()
void oracle.ifs.server.ConnectionPool.<init>(oracle.ifs.server.S_LibraryService, oracle.ifs.server.ConnectionPoolConfiguration)
void oracle.ifs.server.S_LibraryService.resetConnectionPools(boolean)
void oracle.ifs.server.S_LibraryService.<init>(java.lang.String, java.lang.String, oracle.ifs.common.AttributeValue[])
oracle.ifs.server.S_LibraryService oracle.ifs.server.S_LibraryService.startService(java.lang.String, java.lang.String, oracle.ifs.common.AttributeValue[])
oracle.ifs.beans.LibraryService oracle.ifs.beans.LibraryService.startService(java.lang.String, java.lang.String, oracle.ifs.common.AttributeValue[])
oracle.ifs.beans.LibraryService oracle.ifs.beans.LibraryService.startService(java.lang.String, java.lang.String)
void de.adstec.sam.adapter.ifs.HelloWorld.run()
void java.lang.Thread.run()
Process exited with exit code 0.
//Programm
package de.adstec.sam.adapter.ifs;
import oracle.ifs.beans.LibraryService;
import oracle.ifs.beans.LibrarySession;
import oracle.ifs.common.CleartextCredential;
import oracle.ifs.common.ConnectOptions;
import oracle.ifs.common.IfsException;
import oracle.ifs.common.ParameterTable;
public class HelloWorld implements Runnable
ParameterTable params = null;
String username = null;
String password = null;
String servicename = null;
String schemapassword = null;
public HelloWorld(String[] args)
params = new ParameterTable(args);
username = params.getString("user", "system");
password = params.getString("password","manager9ifs");
servicename = params.getString("service","IfsDefault");
schemapassword = params.getString("schemapassword","ifssys");
System.out.println("Running with arguments : ");
System.out.println(" username = " + username);
System.out.println(" password = " + password);
System.out.println(" servicename = " + servicename);
System.out.println(" schemapassword = " + schemapassword);
System.out.println("---------Results----------");
public static void main (String[] args)
new Thread(new HelloWorld(args)).start();
public void run()
try
System.out.println("Obtaining LibraryService.");
LibraryService lsrvc = LibraryService.startService(servicename,schemapassword);
System.out.println("LibraryService obtained for Oracle iFS version: " +
lsrvc.getVersionString());
System.out.println("Obtaining LibrarySession.");
CleartextCredential cr = new CleartextCredential(username,password);
ConnectOptions cop = new ConnectOptions();
LibrarySession session = lsrvc.connect(cr, cop);
System.out.println("LibrarySession obtained for user : " + session.getUser().getName());
catch(IfsException e )
e.printStackTrace();
//Classpath
W:\libs\external\Oracle\9ifs\adk.jar;W:\libs\external\Oracle\9ifs\email.jar;W:\libs\external\Oracle\9ifs\repos.jar;W:\libs\external\Oracle\9ifs\utils.jar;W:\libs\external\Oracle\9ifs\settings;C:\9ifs\jdbc\lib\classes12.zipyou can get the right name for ifsservice by starting
the ifsmgr
the right name are displayed
you shoud start the script on the ifs-Server
if you want to test the script
if you want to start from a other host as ifs-Server i don't known how it work -
When the installation is done according to the documentation,
web access does not work because the scripts that add entries to
the jserv.properties file add duplicate references to
wrapper.env and wrapper.classpath. Look at the jserv.properties
file below and look at the remarked-out (#) lines of the
duplicate references. For example, look at the references to the
wrapper.env=LD_LIBRARY_PATH
Oracle, please note this bug so the web access problems are
minimized when the product is intstalled.
Thank you,
William T.
# Apache JServ Configuration
File #
################################ W A R N I N G
# Unlike normal Java properties, JServ configurations have some
important
# extensions:
# 1) commas are used as token separators
# 2) multiple definitions of the same key are concatenated in
a
# comma separated list.
# Execution parameters
# The Java Virtual Machine interpreter.
# Syntax: wrapper.bin=[filename] (String)
# Note: specify a full path if the interpreter is not visible in
your path.
wrapper.bin=/d3/Apache/jdk/bin/java
# Arguments passed to Java interpreter (optional)
# Syntax: wrapper.bin.parameters=[parameters] (String)
# Default: NONE
wrapper.bin.parameters=-Xms64m
wrapper.bin.parameters=-Xmx128m
# Apache JServ entry point class (should not be changed)
# Syntax: wrapper.class=[classname] (String)
# Default: "org.apache.jserv.JServ"
# Arguments passed to main class after the properties filename
(not used)
# Syntax: wrapper.class.parameters=[parameters] (String)
# Default: NONE
# Note: currently not used
# PATH environment value passed to the JVM
# Syntax: wrapper.path=[path] (String)
# Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
# "c:\(windows-dir);c:\(windows-system-dir)" for Win32
systems
# Notes: if more than one line is supplied these will be
concatenated using
# ":" or ";" (depending wether Unix or Win32) characters
# Under Win32 (windows-dir) and (windows-system-dir) will
be
# automatically evaluated to match your system
requirements
# CLASSPATH environment value passed to the JVM
# Syntax: wrapper.classpath=[path] (String)
# Default: NONE (Sun's JDK/JRE already have a default classpath)
# Note: if more than one line is supplied these will be
concatenated using
# ":" or ";" (depending wether Unix or Win32) characters.
JVM must be
# able to find JSDK and JServ classes and any utility
classes used by
# your servlets.
# Note: the classes you want to be automatically reloaded upon
modification
# MUST NOT be in this classpath or the classpath of the
shell
# you start the Apache from.
wrapper.classpath=/d3/Apache/jdk/lib/tools.jar
wrapper.classpath=/d3/Apache/Jserv/libexec/ApacheJServ.jar
wrapper.classpath=/d3/Apache/Jsdk/lib/jsdk.jar
# An environment name with value passed to the JVM
# Syntax: wrapper.env=[name]=[value] (String)
# Default: NONE on Unix Systems
# SystemDrive and SystemRoot with appropriate values on
Win32 systems
wrapper.env=PATH=/d3/bin
# An environment name with value copied from caller to Java
Virtual Machine
# Syntax: wrapper.env.copy=[name] (String)
# Default: NONE
# Uncomment the following lines to set the default locale and
NLS_LANG
# setting based on the environment variables.
# wrapper.env.copy=LANG
# wrapper.env.copy=NLS_LANG
# Copies all environment from caller to Java Virtual Machine
# Syntax: wrapper.env.copyall=true (boolean)
# Default: false
# Protocol used for signal handling
# Syntax: wrapper.protocol=[name] (String)
# Default: ajpv12
# General parameters
# Set the default IP address or hostname Apache JServ binds (or
listens) to.
# If you have a machine with multiple IP addresses, this address
# will be the one used. If you set the value to localhost, it
# will be resolved to the IP address configured for the locahost
# on your system (generally this is 127.0.0.1). This feature is
so
# that one can have multiple instances of Apache JServ listening
on
# the same port number, but different IP addresses on the same
machine.
# Use bindaddress=* only if you know exactly what you are doing
here,
# as it could let JServ wide open to the internet.
# You must understand that JServ has to answer only to Apache,
and should not
# be reachable by nobody but mod_jserv. So localhost is usually a
# good option. The second best choice would be an internal
network address
# (protected by a firewall) if JServ is running on another
machine than Apache.
# Ask your network admin.
# "*" may be used on boxes where some of the clients get
connected using
# "localhost"and others using another IP addr.
# Syntax: bindaddress=[ipaddress] or [localhost] or [*]
# Default: localhost
bindaddress=localhost
# Set the port Apache JServ listens to.
# Syntax: port=[1024,65535] (int)
# Default: 8007
port=8007
# Servlet Zones parameters
# List of servlet zones Apache JServ manages
# Syntax: zones=[servlet zone],[servlet zone]... (Comma
separated list of String)
# Default: NONE
zones=root
# Configuration file for each servlet zone (one per servlet zone)
# Syntax: [servlet zone name as on the zones list].properties=
[full path to configFile]
(String)
# Default: NONE
# Note: if the file could not be opened, try using absolute
paths.
root.properties=/d3/Apache/Jserv/etc/zone.properties
# Thread Pool parameters
# Enables or disables the use of the thread pool.
# Syntax: pool=true (boolean)
# Default: false
# WARNING: the pool has not been extensively tested and may
generate
deadlocks.
# For this reason, we advise against using this code in
production environments.
pool=false
# Indicates the number of idle threads that the pool may contain.
# Syntax: pool.capacity=(int)>0
# Default: 10
# NOTE: depending on your system load, this number should be low
for contantly
# loaded servers and should be increased depending on load
bursts.
pool.capacity=10
# Indicates the pool controller that should be used to control
the
# level of the recycled threads.
# Syntax: pool.controller=[full class of controller] (String)
# Default: org.apache.java.recycle.DefaultController
# NOTE: it is safe to leave this unchanged unless special
recycle behavior
# is needed. Look at the "org.apache.java.recycle" package
javadocs for more
# info on other pool controllers and their behavior.
pool.controller=org.apache.java.recycle.DefaultController
# Security parameters
# Enable/disable the execution of org.apache.jserv.JServ as a
servlet.
# This is disabled by default because it may give informations
that should
# be restricted.
# Note that the execution of Apache JServ as a servlet is
filtered by the web
# server modules by default so that both sides should be enabled
to let this
# service work.
# This service is useful for installation and configuration
since it gives
# feedback about the exact configurations Apache JServ is using,
but it should
# be disabled when both installation and configuration processes
are done.
# Syntax: security.selfservlet=true (boolean)
# Default: false
# WARNING: disable this in a production environment since may
give reserved
# information to untrusted users.
security.selfservlet=true
# Set the maximum number of socket connections Apache JServ may
handle
# simultaneously. Make sure your operating environment has
enough file
# descriptors to allow this number.
# Syntax: security.maxConnections=(int)>1
# Default: 50
security.maxConnections=50
# Backlog setting for very fine performance tunning of JServ.
# Unless you are familiar to sockets leave this value commented
out.
# security.backlog=5
# List of IP addresses allowed to connect to Apache JServ. This
is a first
# security filtering to reject possibly unsecure connections and
avoid the
# overhead of connection authentication.
# <warning>
# (please don't use the following one unless you know what you
are doing :
# security.allowedAddresses=DISABLED
# allows connections on JServ'port from entire internet.)
# You do need only to allow YOUR Apache to talk to JServ.
# </warning>
# Default: 127.0.0.1
# Syntax: security.allowedAddresses=[IP address],[IP Address]...
(Comma
separated list of IP addresses)
#security.allowedAddresses=127.0.0.1
# Enable/disable connection authentication.
# NOTE: unauthenticated connections are a little faster since
authentication
# handshake is not performed at connection creation.
# WARNING: authentication is disabled by default because we
believe that
# connection restriction from all IP addresses but localhost
reduces your
# time to get Apache JServ to run. If you allow other addresses
to connect and
# you don't trust it, you should enable authentication to
prevent untrusted
# execution of your servlets. Beware: if authentication is
disabled and the
# IP address is allowed, everyone on that machine can execute
your servlets!
# Syntax: security.authentication=[true,false] (boolean)
# Default: true
security.authentication=false
# Authentication secret key.
# The secret key is passed as a file that must be kept secure
and must
# be exactly the same of those used by clients to authenticate
themselves.
# Syntax: security.secretKey=[secret key path and filename]
(String)
# Default: NONE
# Note: if the file could not be opened, try using absolute
paths.
#security.secretKey=./etc/jserv.secret.key
# Length of the randomly generated challenge string (in bytes)
used to
# authenticate connections. 5 is the lowest possible choice to
force a safe
# level of security and reduce connection creation overhead.
# Syntax: security.challengeSize=(int)>5
# Default: 5
#security.challengeSize=5
# Logging parameters
# Enable/disable Apache JServ logging.
# WARNING: logging is a very expensive operation in terms of
performance. You
# should reduced the generated log to a minumum or even disable
it if fast
# execution is an issue. Note that if all log channels (see
below) are
# enabled, the log may become really big since each servlet
request may
# generate many Kb of log. Some log channels are mainly for
debugging
# purposes and should be disabled in a production environment.
# Syntax: log=[true,false] (boolean)
# Default: true
log=true
# Set the name of the trace/log file. To avoid possible
confusion about
# the location of this file, an absolute pathname is recommended.
# This log file is different than the log file that is in the
# jserv.conf file. This is the log file for the Java portion of
Apache
# JServ.
# On Unix, this file must have write permissions by the owner of
the JVM
# process. In other words, if you are running Apache JServ in
manual mode
# and Apache is running as user nobody, then the file must have
its
# permissions set so that that user can write to it.
# Syntax: log.file=[log path and filename] (String)
# Default: NONE
# Note: if the file could not be opened, try using absolute
paths.
log.file=/d3/Apache/Jserv/logs/jserv.log
# Enable the timestamp before the log message
# Syntax: log.timestamp=[true,false] (boolean)
# Default: true
log.timestamp=true
# Use the given string as a data format
# (see java.text.SimpleDateFormat for the list of options)
# Syntax: log.dateFormat=(String)
# Default: [dd/MM/yyyy HH:mm:ss:SSS zz]
log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz]
# Since all the messages logged are processed by a thread
running with
# minimum priority, it's of vital importance that this thread
gets a chance
# to run once in a while. If it doesn't, the log queue overflow
occurs,
# usually resulting in the OutOfMemoryError.
# To prevent this from happening, two parameters are used:
log.queue.maxage
# and log.queue.maxsize. The former defines the maximum time for
the logged
# message to stay in the queue, the latter defines maximum
number of
# messages in the queue.
# If one of those conditions becomes true (age > maxage || size
maxsize),# the log message stating that fact is generated and the log
queue is
# flushed in the separate thread.
# If you ever see such a message, either your system doesn't
live up to its
# expectations or you have a runaway loop (probably, but not
necessarily,
# generating a lot of log messages).
# WARNING: Default values are lousy, you probably want to tweak
them and
# report the results back to the development team.
# Syntax: log.queue.maxage = [milliseconds]
# Default: 5000
log.queue.maxage = 5000
# Syntax: log.queue.maxsize = [integer]
# Default: 1000
log.queue.maxsize = 1000
# Enable/disable logging the channel name
# Default: false
# log.channel=false
# Enable/disable channels, each logging different actions.
# Syntax: log.channel.[channel name]=[true,false] (boolean)
# Default: false
# Info channel - quite a lot of informational messages
# hopefully you don't need them under normal circumstances
# log.channel.info=true
# Servlets exception, i.e. exception caught during
# servlet.service() processing are monitored here
# you probably want to have this one switched on
log.channel.servletException=true
# JServ exception, caught internally in jserv
# we suggest to leave it on
log.channel.jservException=true
# Warning channel, it catches all the important
# messages that don't cause JServ to stop, leave it on
log.channel.warning=true
# Servlet log
# All messages logged by servlets. Probably you want
# this one to be switched on.
log.channel.servletLog=true
# Critical errors
# Messages produced by critical events causing jserv to stop
log.channel.critical=true
# Debug channel
# Only for internal debugging purposes
# log.channel.debug=true
#wrapper.classpath=/d3/ord/jlib/ordim.zip
#wrapper.classpath=/d3/ord/jlib/ordhttp.zip
# Oracle XSQL Servlet
wrapper.classpath=/d3/lib/oraclexsql.jar
# Oracle JDBC
wrapper.classpath=/d3/jdbc/lib/classes12.zip
# Oracle XML Parser V2 (with XSLT Engine)
wrapper.classpath=/d3/lib/xmlparserv2.jar
# Oracle XML SQL Components for Java
wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
# XSQLConfig.xml File location
wrapper.classpath=/d3/xdk/admin
# Oracle BC4J
wrapper.classpath=/d3/ord/jlib/ordim.zip
wrapper.classpath=/d3/ord/jlib/ordvir.zip
wrapper.classpath=/d3/ord/jlib/ordhttp.zip
wrapper.classpath=/d3/BC4J/lib/jndi.jar
wrapper.classpath=/d3/BC4J/lib/jbomt.zip
wrapper.classpath=/d3/BC4J/lib/javax_ejb.zip
wrapper.classpath=/d3/BC4J/lib/jdev-rt.jar
wrapper.classpath=/d3/BC4J/lib/jbohtml.zip
wrapper.classpath=/d3/BC4J/lib/jboremote.zip
wrapper.classpath=/d3/BC4J/lib/jdev-cm.jar
wrapper.classpath=/d3/BC4J/lib/jbodomorcl.zip
wrapper.classpath=/d3/BC4J/lib/jboimdomains.zip
wrapper.classpath=/d3/BC4J/lib/collections.jar
wrapper.classpath=/d3/Apache/Apache/htdocs/onlineorders_html
#wrapper.classpath=/d3/Apache/Apache/htdocs/OnlineOrders_html/Onl
ineOrders.jar
# The following classpath entries are necessary for EJBs to run
in IAS or DB when
present
wrapper.classpath=/d3/lib/aurora_client.jar
wrapper.classpath=/d3/lib/vbjorb.jar
wrapper.classpath=/d3/lib/vbjapp.jar
# Oracle Servlet
wrapper.classpath=/d3/lib/servlet.jar
# Oracle Java Server Pages
wrapper.classpath=/d3/jsp/lib/ojsp.jar
# Oracle Util
wrapper.classpath=/d3/jsp/lib/ojsputil.jar
# Oracle Java SQL
wrapper.classpath=/d3/sqlj/lib/translator.zip
# Oracle JDBC
#wrapper.classpath=/d3/jdbc/lib/classes12.zip
# SQLJ runtime
wrapper.classpath=/d3/sqlj/lib/runtime12.zip
# Oracle Messaging
wrapper.classpath=/d3/rdbms/jlib/aqapi.jar
wrapper.classpath=/d3/rdbms/jlib/jmscommon.jar
# OJSP environment settings
#wrapper.env=ORACLE_HOME=/d3
# The next line should be modified to reflect the value of the
SID for your
webserver.
#wrapper.env=ORACLE_SID=cmpdb
#wrapper.env=LD_LIBRARY_PATH=/d3/lib
## Enable the flag below if you are using jdk 1.2.2_05a or above
#wrapper.env=JAVA_COMPILER=NONE
# Advanced Queuing - AQXML
wrapper.classpath=/d3/rdbms/jlib/aqxml.jar
#wrapper.classpath=/d3/rdbms/jlib/xsu12.jar
#wrapper.classpath=/d3/lib/xmlparserv2.jar
wrapper.classpath=/d3/lib/xschema.jar
#wrapper.classpath=/d3/jlib/jndi.jar
wrapper.classpath=/d3/jlib/jta.jar
oemreporting.properties=/d3/Apache/Jserv/oemreporting/oemreportin
g.properties
zones = root, oemreporting
wrapper.classpath=/d3/jlib/share-opt-1_1_9.zip
wrapper.classpath=/d3/jlib/caboshare-opt-1_0_3.zip
wrapper.classpath=/d3/jlib/marlin-opt-1_0_7.zip
wrapper.classpath=/d3/jlib/tecate-opt-1_0_4.zip
wrapper.classpath=/d3/jlib/ocelot-opt-1_0_2.zip
wrapper.classpath=/d3/jlib/regexp.jar
wrapper.classpath=/d3/jlib/sax2.jar
#wrapper.classpath=/d3/jlib/servlet.jar
wrapper.bin.parameters= -DORACLE_HOME=/d3
#wrapper.env=LD_LIBRARY_PATH=/d3/lib32
wrapper.env.copy=DISPLAY
wrapper.bin.parameters=-DORACLE_HOME=/d3
#wrapper.classpath=/d3/lib/vbjorb.jar
#wrapper.classpath=/d3/lib/vbjapp.jar
wrapper.classpath=/d3/classes/classesFromIDLVisi
wrapper.classpath=/d3/jlib/swingall-1_1_1.jar
wrapper.classpath=/d3/jlib/ewtcompat3_3_15.jar
wrapper.classpath=/d3/jlib/ewt-3_3_18.jar
wrapper.classpath=/d3/jlib/share-1_1_9.jar
wrapper.classpath=/d3/jlib/help-3_2_9.jar
wrapper.classpath=/d3/jlib/ice-5_06_3.jar
wrapper.classpath=/d3/jdbc/lib/classes111.zip
wrapper.classpath=/d3/classes
wrapper.classpath=/d3/jlib/oembase-9_0_1.jar
wrapper.classpath=/d3/jlib/oemtools-9_0_1.jar
wrapper.classpath=/d3/jlib
wrapper.classpath=/d3/jlib/javax-ssl-1_1.jar
wrapper.classpath=/d3/jlib/jssl-1_1.jar
wrapper.classpath=/d3/jlib/netcfg.jar
wrapper.classpath=/d3/jlib/dbui-2_1_2.jar
#wrapper.classpath=/d3/lib/aurora_client.jar
#wrapper.classpath=/d3/lib/xmlparserv2.jar
wrapper.classpath=/d3/network/jlib/netmgrm.jar
wrapper.classpath=/d3/network/jlib/netmgr.jar
wrapper.classpath=/d3/network/tools
wrapper.classpath=/d3/jlib/kodiak-1_2_1.jar
wrapper.classpath=/d3/sysman/jlib/netchart360.jar
wrapper.classpath=/d3/jlib/pfjbean.jar
wrapper.env=SHLIB_PATH=/d3/lib32
wrapper.env=LIBPATH=/d3/lib32
wrapper.classpath=/d3/ultrasearch/lib/isearch_midtier.jar
wrapper.classpath=/d3/ultrasearch/lib/isearch_query.jar
wrapper.classpath=/d3/ultrasearch/lib/jgl3.1.0.jar
wrapper.classpath=/d3/lib/mail.jar
wrapper.classpath=/d3/lib/activation.jar
wrapper.classpath=/d3/ultrasearch/jsp/admin/config
# Additions for iFS
## DO NOT REMOVE OR ALTER THE FOLLOWING LINE ....
# iFS true
# Uncomment if you want to use the same Jserv as other
applications
wrapper.classpath=/d3/9ifs/custom_classes
wrapper.classpath=/d3/9ifs/settings
wrapper.classpath=/d3/9ifs/lib/adk.jar
wrapper.classpath=/d3/9ifs/lib/email.jar
wrapper.classpath=/d3/9ifs/lib/http.jar
wrapper.classpath=/d3/9ifs/lib/release.jar
wrapper.classpath=/d3/9ifs/lib/repos.jar
wrapper.classpath=/d3/9ifs/lib/utils.jar
wrapper.classpath=/d3/9ifs/lib/webui.jar
wrapper.classpath=/d3/9ifs/lib/provider.jar
wrapper.classpath=/d3/jlib/javax-ssl-1_2.jar
wrapper.classpath=/d3/jlib/jssl-1_2.jar
wrapper.env=ORACLE_HOME=/d3
wrapper.env=ORACLE_SID=cmpdb
wrapper.env=LD_LIBRARY_PATH=/d3/lib:/d3/ctx/lib:/d3/lib32
wrapper.env=NLS_LANG=.US7ASCII
## Additions for the iFS zone
# Uncomment if you want to use the same Jserv as other
applications
zones=ifs
ifs.properties=/d3/Apache/Jserv/etc/ifs.properties
# End iFS sectionAbout your home page; Manually set up Firefox with the window(s) and tab(s)
the way you want them to be. Then;
'''''Firefox Options > General > Homepage'''''.
Press the button labeled ''''Use Current'''.'
=====================================
Open a new window or tab. In the address bar, type '''''about:config'''''.
If a warning screen comes up, press the '''''Be Careful''''' button.
This is where Firefox finds information it needs to run.
At the top of the screen is a search bar. Enter '''''browser.newtab.url'''''
and press enter. '''''browser.newtab.url'''''
tells Firefox what to show when a new tab is opened.
If you want, right click and select '''''Modify'''''. You can change the
setting to;<BR><BR>about:home (Firefox default home page),<BR>
about:newtab (shows the sites most visited),<BR>
about:blank (a blank page),<BR>
or you can enter any web page you want.<BR><BR>
The same instructions are used for the new window setting, listed as
'''''browser.startup.homepage'''''. -
Error while executing HelloWorld.java program
Hi All,
I am trying to execute the samples(HelloWorld.java) program from Jdeveloper and provided the following details in runtime.defaults:
CONTENT_DB_URL
ADMIN_USER_NAME
ADMIN_USER_PASSWORD
however getting the following exception:
FdkException:
Error Code: ORACLE.FDK.UnexpectedError
Detailed Error Code: ORACLE.FDK.FeatureNotEnabled
Trace Id:
info (NamedValue[]): null
can any one please help me to resolve this issue.
Thanks
Krrish.See the Cleartext Authentication note in the running_client_samples.html file of the CDB devkit.
The default configuration for an out-of-box Oracle Content DB installation allows Cleartext Authentication only if SSL has been enabled (and the Web Services connection string begins with https). See the authentication topic for details.
To allow Cleartext Authentication to take place over standard (non-SSL) HTTP, set the Oracle Content DB domain property IFS.DOMAIN.WS.CleartextAuthenticationRequiresHttps to false using Enterprise Manager (Application Server Control). See the Content DB Administration Guide for details.
If the domain property above is not modified to false and Cleartext Authentication is attempted using using standard HTTP, an FdkException will be thrown:
ORACLE.FDK.UnexpectedError : ORACLE.FDK.FeatureNotEnabled
cheers
Matt. -
Attn: Installing the Sample Applications from the ifs Development Kit
There are a number of problems with the sample Applications included in the
Developer's kit. These need to manually fixed in order to get the demos to work.
#1: Solaris Only
The install of the iFS Development Kit, replaces the existing adk.jar with a new
one containing some additional classes. Unfortunately the install process does not
set the correct privileges on the new version of adk.jar. Please ensure that the
file $ORACLE_HOME/ifs/lib/adk.jar is world readable.
Bug # 1304730
This issue will be resolved on the next drop of the Oracle Internet File System
development kit.
#2: Generic
There is a problem with the way in which the login.jsp establishes a connection to
the repository. The current code makes incorrect assumptions about the name of the
iFS Service and the schema password.
The following changes are required.
In order to connect to the repository 4 pieces of information are required.
1. The iFS User Name
2. The iFS User's password
3. The properties file to be used
4. The database password of the user who owns the iFS Schema
The Login.jsp needs to be altered so that it requests these four arguments before
attempting to establish a connection to the repository.
(The current version only requests username and password).
All four arguments need to be provided as arguments to the login method on the
underlying JavaBean that the JSP invokes when it want to open a connection
to the repository.
***************** HERE IS THE REVISED CODE FOR INSURANCE APPLICATIONS ************
********************************** LOGIN.JSP *************************************
<%@ page import = "ifsdevkit.sampleapps.insurance.InsuranceLogin" %>
<%@ page import = "oracle.ifs.adk.security.IfsHttpLogin" %>
<html><head>
<jsp:useBean id="inslogin" scope="session" class="ifsdevkit.sampleapps.insurance.InsuranceLogin" />
<jsp:setProperty name="inslogin" property="*"/>
<%
String REDIRECT_PATH = "/public/examples/insuranceApp/claims";
boolean loggedIn = false;
if (inslogin.getSession() != null && inslogin.getResolver() != null)
// Use existing insurance login
loggedIn = true;
else
// No existing insurance login
IfsHttpLogin login = (IfsHttpLogin) request.getSession(true).getValue("IfsHttpLogin");
if (login != null && login.getSession() != null && login.getResolver() != null)
// Use existing IfsHttpLogin login
inslogin.init(login.getSession(), login.getResolver());
loggedIn = true;
if (!loggedIn)
String username = request.getParameter("username");
String password = request.getParameter("password");
String serviceName = request.getParameter("serviceName");
String schemaPassword = request.getParameter("schemaPassword");
if (username != null && password != null &&
!username.trim().equals("") && !password.trim().equals(""))
// Login using username/password
try
if (serviceName == null | | serviceName.trim().equals(""))
serviceName = "IfsDefault";
inslogin.init(username, password, serviceName, schemaPassword);
request.getSession(true).putValue("IfsHttpLogin", inslogin);
loggedIn = true;
catch (Exception e)
%>
<SCRIPT LANGUAGE="JavaScript1.2">
alert("The username or Password was not valid, please try again.");
</SCRIPT>
<%
if (loggedIn)
// Redirect to the directory where the claim files reside
response.sendRedirect(REDIRECT_PATH);
else
%>
<title>Insurance Demo App Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<form METHOD=POST NAME="loginform" ACTION="login.jsp">
<table>
<tr>
<td><b>Username:</b></td>
<td><input type="text" name="username" value=""></td>
</tr>
<tr>
<td><b>Password:</b></td>
<td><input type="password" name="password" value=""></td>
& lt;/tr>
<tr>
<td><b>Service Name:</b></td>
<td><input type="text" name="serviceName" value="IfsDefault"></td>
</tr>
<tr>
<td><b>Schema Password:</b></td>
<td><input type="password" name="schemaPassword" value=""></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
<input type="submit" value="Log in">
</td>
<td>
<input type="reset" value="Reset">
</td>
</tr>
</table>
</form>
</body>
</html>
<% } %>
*************************** END INSURANCE LOGIN.JSP ******************************
This code has been changed so that it requests the four agruments that are required
to connect to the repository and passes them to the login method on the underlying
bean. Note that we have provided the complete source code to this file in order to
make it simple to deploy the revised version of the code. Simply cut and paste this
code into a new file called login.jsp. Copy the File into the iFS
repository folder /ifs/jsp-bin/ifsdevkit/sampleapps/insurance.
****************************** INSURANCELOGIN.JAVA *******************************
package ifsdevkit.sampleapps.insurance;
* Copyright (c) 2000 Oracle Corporation. All rights reserved.
import java.util.Locale;
import javax.servlet.http.HttpSessionBindingEvent;
import oracle.ifs.beans.DirectoryUser;
import oracle.ifs.beans.FolderPathResolver;
import oracle.ifs.beans.LibrarySession;
import oracle.ifs.beans.LibraryService;
import oracle.ifs.common.CleartextCredential;
import oracle.ifs.common.ConnectOptions;
import oracle.ifs.common.IfsException;
import oracle.ifs.adk.security.IfsHttpLogin;
* The login bean for the Insurance demo app.
* <p>
* This class provide the login info. The class implements the
* <code>IfsHttpLogin</code> interface so it can share login data with other
* login beans.
* @author Edward Yu
* @version 1.0
* @see IfsHttpLogin
public class InsuranceLogin implements IfsHttpLogin
* The <code>LibrarySession</code>.
private LibrarySession m_session;
* The <code>FolderPathResolver</code>.
private FolderPathResolver m_resolver;
* Default constructor required by the jsp spec for the USEBEAN tag
* @exception IfsException
public InsuranceLogin()
throws IfsException
* Make a connection to iFS
* @param username The username to be used for login.
* @param password The password to be used for login.
* @param serviceName The service name to be used for login.
* @param schemaPassword The schema password to be used for login.
* @exception IfsException if operation failed.
public void init(String username, String password, String serviceName,
String schemaPassword)
throws IfsException
LibraryService service = new LibraryService();
CleartextCredential me = new CleartextCredential(username, password);
ConnectOptions connection = new ConnectOptions();
connection.setLocale(Locale.getDefault());
connection.setServiceName(serviceName);
connection.setServicePassword(schemaPassword);
m_session = service.connect(me, connection);
m_resolver = new FolderPathResolver(m_session);
m_resolver.setRootFolder();
DirectoryUser user = m_session.getDirectoryUser();
if (user.isAdminEnabled())
m_session.setAdministrationMode(true);
* Initialize the login bean.
* <p>
* The default constructor does not set the necessary fields so it needs
* to be set instantiation.
* @param session The <code>LibrarySession</code> object.
* @param resolver The <code>FolderPathResolver</code> object.
public void init(LibrarySession session, FolderPathResolver resolver)
m_session = session;
m_resolver = resolver;
* Return the login's session object.
* @return The <code>LibrarySession</code> object.
public LibrarySession getSession()
return m_session;
* Return the login's path resolver.
* @return The <code>FolderPathResolver</code> object.
public FolderPathResolver getResolver()
return m_resolver;
* Called when this object is bound to the HTTP session object.
* @param event The event when the object is bound to the Http session.
public void valueBound(HttpSessionBindingEvent event)
// do nothing
* Called when this object is unbound from the HTTP session object.
* @param event The event when the object is unbound to the Http session.
public void valueUnbound(HttpSessionBindingEvent event)
m_resolver = null;
try
if (m_session != null)
m_session.disconnect();
catch (IfsException e)
e.printStackTrace();
finally
m_session = null; // release the resources
*****************************END INSURANCELOGIN.JAVA ******************************
This code has been changed so that it accepts the four agruments that are required
to connect to the repository and uses them to connect to the repository. Note that
we have provided the complete source code to this file in order to make it simple
to deploy the revised version of the code. Simply cut and paste this
code into a new file called. Save the file on the native file system
in a file called InsuranceLogin.java in the directory
$ORACLE_HOME/ifs/ifsdevkit/sampleapps/insurance/
*************** HERE IS THE REVISED CODE FOR WEB COMMAND APPLICATIONS ************
********************************** LOGIN.JSP *************************************
<%@ page import = "ifsdevkit.sampleapps.webcommandapp.WebCommandLogin" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Patricia Li">
<title>Login</title>
</head>
<jsp:useBean id="wclogin" scope="session" class="ifsdevkit.sampleapps.webcommandapp.WebCommandLogin" />
<jsp:setProperty name="wclogin" property="*"/>
<%
String REDIRECT_PATH = "/ifs/ifsdevkit/sampleapps/WebCommandApp/html/main.html";
boolean loggedIn = false;
if (wclogin.getSession() != null)
// Use existing WebCommand login
loggedIn = true;
else
String username = request.getParameter("username");
String password = request.getParameter("password");
String serviceName = request.getParameter("serviceName" );
String schemaPassword = request.getParameter("schemaPassword");
if (username != null && password != null)
// Login to iFS
try
wclogin.init(username, password, serviceName, schemaPassword);
request.getSession(true).putValue("IfsHttpLogin", wclogin);
loggedIn = true;
catch (Exception e)
%>
<SCRIPT LANGUAGE="JavaScript1.2">
alert("The credentials are not valid; please try again.");
</SCRIPT>
<%
if (loggedIn == true)
// Go to main page...
response.sendRedirect(REDIRECT_PATH);
else
%>
<title>Web Command App Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<h2>WebCommand Application Login</h2>
<form METHOD=POST NAME="loginform" ACTION="login.jsp">
<table>
<tr>
<td><b>Username:</b></td>
<td><input type="text" name="username" value=""></td>
</tr>
<tr>
<td><b>Password:</b></td>
<td><input type="password" name="password" value=""></td>
</tr>
<tr>
<td><b>Service Name:</b></td>
<td><input type="text" name="serviceName" value="IfsDefault"></td>
</tr>
<tr>
<td><b>Schema Password:</b></td>
<td& gt;<input type="password" name="schemaPassword" value=""></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
<input type="submit" value="Log in">
</td>
<td>
<input type="reset" value="Reset">
</td>
</tr>
</table>
</form>
</body>
</html>
<% } %>
************************* END WEB COMMAND LOGIN.JSP ******************************
This code has been changed so that it requests the four agruments that are required
to connect to the repository and passes them to the login method on the underlying
bean. Note that we have provided the complete source code to this file in order to
make it simple to deploy the revised version of the code. Simply cut and paste this
code into a new file called login.jsp. Copy the File into the iFS repository folder
/ifs/jsp-bin/ifsdevkit/sampleapps/WebCommandApp
****************************WEBCOMMANDLOGIN.JAVA**********************************
package ifsdevkit.sampleapps.webcommandapp;
import java.util.Locale;
import oracle.ifs.beans.DirectoryUser;
import oracle.ifs.beans.FolderPathResolver;
import oracle.ifs.beans.LibrarySession;
import oracle.ifs.beans.LibraryService;
import oracle.ifs.common.CleartextCredential;
import oracle.ifs.common.ConnectOptions;
import oracle.ifs.common.IfsException;
import oracle.ifs.adk.filesystem.IfsFileSystem;
import oracle.ifs.adk.security.IfsHttpLogin;
import javax.servlet.http.HttpSessionBindingEvent;
* WebCommand application that illustrates the usage of the
* File System API.
* @version 1.0
* @pub
public class WebCommandLogin implements IfsHttpLogin
private LibrarySession m_session; // Session
private FolderPathResolver m_resolver; // Resolver
private IfsFileSystem m_ifs; // File System object
* Default constructor required by the jsp spec for the USEBEAN tag
public WebCommandLogin()
throws IfsException
* Make a connection to iFS
* @pub
public void init(String username, String password, String serviceName,
String schemaPassword)
throws IfsException
LibraryService service = new LibraryService();
CleartextCredential cred = new CleartextCredential(username, password);
ConnectOptions options = new ConnectOptions();
options.setLocale(Locale.getDefault());
options.setServiceName(serviceName);
options.setServicePassword(schemaPassword);
m_session = service.connect(cred, options);
m_resolver = new FolderPathResolver(m_session);
m_resolver.setRootFolder();
m_ifs = new IfsFileSystem(m_session);
DirectoryUser user = (DirectoryUser) m_session.getDirectoryUser();
if (user.isAdminEnabled())
m_session.setAdministrationMode(true);
* Use the existing connection.
* The default constructor does not set the necessary fields.
* @pub
public void init(LibrarySession session, FolderPathResolver resolver)
throws IfsException
m_session = session;
m_resolver = resolver;
m_ifs = new IfsFileSystem(m_session);
* Return the login's session
* @pub
public LibrarySession getSession()
return m_session;
* Return the login's path resolver
* @pub
public FolderPathResolver getResolver()
return m_resolver;
* Return the IfsFileSystem API object
* @pub
public IfsFileSystem getIfsFileSystem()
return m_ifs;
* Implementation of valueBound
* @pub
public void valueBound(HttpSessionBindingEvent e)
* Implementation of valueUnbound
* @pub
public void valueUnbound(HttpSessionBindingEvent e)
try
m_session.disconnect();
catch (IfsException ie)
************************* END WEBCOMMANDLOGIN.JAVA *******************************
This code has been changed so that it accepts the four agruments that are required
to connect to the repository and uses them to connect to the repository. Note that
we have provided the comple te source code to this file in order to make it simple
to deploy the revised version of the code. Simply cut and paste this code into a
new file called WebCommandLogin.java in the directory
$ORACLE_HOME/ifs/ifsdevkit/sampleapps/webcommandapp/
Compile the java class.
Copy the classfile to $ORACLE_HOME/ifs/custom_classes/ifsdevkit/sampleapps/webcommandapp/
Stop and Start all of the protocol servers.
This issue will be resolved on the next drop of the Oracle Internet File System
development kit.
#3. Making the BaseRendererClass available to the Protocol Servers
Note this step is not required if you have the 1.0.8.3 patch set installed.
Install the BaseRenderer Class. The BaseRenderer class is delivered in the jar file
ifsdevkit.jar and can be used to simplify the task of creating a custom renderer.
Unfortunately the jar file containing this class is not referenced in any of the Classpaths
used by the iFS protocol servers. This means that they will not be able to load any
customer renderers that extend BaseRenderer. In order to make BaseRenderer available
to the Protocol Servers it need to be placed in the appropriate directory under
<ORACLE_HOME>/ifs/custom_classes.
Extract the class from the ifsdevkit.jar.
ifsdevkit.jar is located in <ORACLE_HOME>/ifs/lib after the devkit has been installed.
jar -xvf ifsdevkit.jar
extracted: META-INF/MANIFEST.MF
extracted: BaseRenderer.class
Create the following directory heirachy in <ORACLE_HOME>/ifs/custom classes
oracle/ifs/server/renderers
Copy <ORACLE_HOME>/ifs/lib/BaseRenderer.class to
<ORACLE_HOME/ifs/custom_classes/oracle/ifs/server/renderers
That should do it.
Regards
Mark D. Drake
nullMoving to Top
-
Can't run helloworld of Google App Engine (python 2.7)
I looked and searched for the bug and found the post. -> See comment 29
But, it seems that it's still not fixed in google-appengine 1.6.4 for python 2.7.
The exact error is: (Trying to run the helloworld given in docs)
WARNING 2012-04-06 23:26:00,928 py_zipimport.py:139] Can't open zipfile /usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info: IOError: [Errno 13] file not accessible: '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info'
Full terminal output:
shadyabhi@MBP-archlinux ~/codes/gae $ dev_appserver.py helloworld/
INFO 2012-04-06 23:25:55,030 appengine_rpc.py:160] Server: appengine.google.com
INFO 2012-04-06 23:25:55,034 appcfg.py:582] Checking for updates to the SDK.
INFO 2012-04-06 23:25:56,709 appcfg.py:616] This SDK release is newer than the advertised release.
WARNING 2012-04-06 23:25:56,710 datastore_file_stub.py:513] Could not read datastore data from /tmp/dev_appserver.datastore
INFO 2012-04-06 23:25:56,773 dev_appserver_multiprocess.py:647] Running application dev~helloworld on port 8080: http://localhost:8080
INFO 2012-04-06 23:25:56,774 dev_appserver_multiprocess.py:649] Admin console is available at: http://localhost:8080/_ah/admin
WARNING 2012-04-06 23:26:00,928 py_zipimport.py:139] Can't open zipfile /usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info: IOError: [Errno 13] file not accessible: '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info'
ERROR 2012-04-06 23:26:01,101 wsgi.py:189]
Traceback (most recent call last):
File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 187, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler
raise ImportError('%s has no attribute %s' % (handler, name))
ImportError: <module 'helloworld' from '/home/shadyabhi/codes/gae/helloworld/helloworld.pyc'> has no attribute app
INFO 2012-04-06 23:26:01,110 dev_appserver.py:2884] "GET / HTTP/1.1" 500 -
ERROR 2012-04-06 23:26:01,479 wsgi.py:189]
Traceback (most recent call last):
File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 187, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler
raise ImportError('%s has no attribute %s' % (handler, name))
ImportError: <module 'helloworld' from '/home/shadyabhi/codes/gae/helloworld/helloworld.pyc'> has no attribute app
INFO 2012-04-06 23:26:01,486 dev_appserver.py:2884] "GET /favicon.ico HTTP/1.1" 500 -
Any kind of help would be highly appreciated.
Last edited by shadyabhi (2012-04-07 15:46:54)If you're using python2.7 libraries there's an error with the tutorial
This line is incorrect:
application = webapp2.WSGIApplication([('/', MainPage)], debug=True)
The correct line should be:
app = webapp2.WSGIApplication([('/', MainPage)], debug=True)
If it is asking for an "app" attribute, your code helloworld must have this attribute.
See http://stackoverflow.com/questions/1005 … python-2-7 -
Unable to run HelloWorld Programm from different jdevloper project.
HI,
I have created the HelloWorld programm provided in cdb development kit in another jdevelper project and included all the jar files provided in the cdb development kit lib folder. the program looks like this.
package bean;
* Copyright (c) 2007, Oracle. All rights reserved.
/*import oracle.ifs.examples.api.constants.AttributeRequests;
import oracle.ifs.examples.api.util.CommonUtils;
import oracle.ifs.examples.api.util.Logger;
import oracle.ifs.examples.api.util.LoggingUtils;
import oracle.ifs.examples.api.util.SamplesConfiguration;*/
import oracle.ifs.fdk.FdkCredential;
import oracle.ifs.fdk.FdkSession;
import oracle.ifs.fdk.Item;
import oracle.ifs.fdk.ManagersFactory;
import oracle.ifs.fdk.SimpleFdkCredential;
* This class demonstrates connecting to Content DB with username-password
* authentication.
public class LoginBean
public String authUser(String username, String password)
System.out.println("entered into helloworld programm");
FdkCredential credential = new SimpleFdkCredential(
username, password);
ManagersFactory session = null;
try
session = ManagersFactory.login(credential, "content db url");
System.out.println(session);
catch (Throwable t)
System.out.println(t);
public static void main(String[] args) {
LoginBean hw=new LoginBean();
hw.authUser("username","password");
if i am running this program i am getting the below error.entered into helloworld programm
Sep 15, 2007 3:37:01 PM org.apache.axis.client.Call invoke
SEVERE: Exception:
org.xml.sax.SAXException: No object was found for class type class oracle.ifs.fdk.FdkSession
at org.apache.axis.encoding.ConstructorTarget.set(ConstructorTarget.java:97)
at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2448)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at oracle.ifs.fdk.RemoteLoginManagerSoapBindingStub.login(RemoteLoginManagerSoapBindingStub.java:242)
at oracle.ifs.fdk.client.impl.RemoteLoginManagerProxy.login(RemoteLoginManagerProxy.java:48)
at oracle.ifs.fdk.client.impl.AxisRemoteManagersFactory.<init>(AxisRemoteManagersFactory.java:160)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at oracle.ifs.fdk.ManagersFactory.login(ManagersFactory.java:224)
at oracle.ifs.fdk.ManagersFactory.login(ManagersFactory.java:131)
at oracle.ifs.fdk.ManagersFactory.login(ManagersFactory.java:94)
at bean.LoginBean.authUser(LoginBean.java:45)
at bean.LoginBean.main(LoginBean.java:64)
java.lang.RuntimeException: Unknown exception. See cause.
Process exited with exit code 0.
By browsing the samples1013.jpr provided in the cdb development kit and modifying the HelloWorld program like the above program and running the HelloWorld program is working fine. its not giving any error.
Please if anybody knows why i am getting this error. reply me as soon as possible.
thanks in advance,
soni.Hi
Can you check your Jdev - project template. -
500 Internal Server Error in iFS
I tried to modify the login screen image and ended up with an
error, thereby losing access to ifs login web interface.
I stumbled across a similar question on TechNet that expressed
the same problem (editing the login page and then losing it).
The question received a response that the next version of IFS
will compensate for this problem. However I am in immediate
need of a resolution to the situation and cannot wait for the
next version.
How do I get the page back?!?
I appreciate any help in the situation.
Thanks
-KingsleyIt looks like the Apache/JServ CLASSPATH needs to be edited to
include a .jar file that contains the sun/tools/javac/Main
class. If you have a Sun JDK installed on the machine, edit the
Apache/JServ CLASSPATH so that it includes the
$JAVA_HOME/lib/tools.jar file. The file you need to edit is in
the $ORACLE_HOME/Apache/Jserv/etc directory, but it depends on
what version of iFS you're using, and if the ORACLE_HOME was
installed with iAS or with the database. But just search through
the files looking for "CLASSPATH" and see if tools.jar is
missing. If it is, add it in and see if that fixes the problem.
Remember that you need to reference the full (absolute) path to
the .jar file. -
Error while trying to register user to iFS 9.0.1
Hi ,
We are getting following error while trying to register user with our custom application. When I checked the forums it says the unique constraint might be the problem but I don't see any unique constraint violation in my exception trace. We are using 9.0.1 with 9.0.1 Database.
Here is the stack trace:
oracle.ifs.common.IfsException: IFS-30002: Unable to create new LibraryObject
java.sql.SQLException: ORA-00600: internal error code, arguments: [25012], [10], [0], [], [], [], [], []
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:184)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1768)
at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java:1380)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1868)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1787)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2377)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:427)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:492)
at oracle.ifs.server.S_LibrarySession.execute(S_LibrarySession.java:14319)
at oracle.ifs.server.S_LibraryObject.insertRow(S_LibraryObject.java:3251)
at oracle.ifs.server.S_LibraryObject.insertRows(S_LibraryObject.java:3150)
at oracle.ifs.server.OperationState.executeAtomicOperations(OperationState.java:487)
at oracle.ifs.server.S_LibraryObject.createInstance(S_LibraryObject.java:2716)
at oracle.ifs.server.S_LibrarySession.newLibraryObject(S_LibrarySession.java:7922)
at oracle.ifs.server.S_LibrarySession.newPublicObject(S_LibrarySession.java:7963)
at oracle.ifs.server.S_LibrarySession.newPublicObject(S_LibrarySession.java:7945)
at oracle.ifs.server.S_LibrarySession.DMNewPublicObject(S_LibrarySession.java:7604)
at oracle.ifs.beans.LibrarySession.DMNewPublicObject(LibrarySession.java:7901)
at oracle.ifs.beans.LibrarySession.NewPublicObject(LibrarySession.java:5345)
at oracle.ifs.beans.LibrarySession.createPublicObject(LibrarySession.java:2973)
at oracle.ifs.adk.user.UserManager.createDirectoryUser(UserManager.java:1122)
at oracle.ifs.adk.user.UserManager.createUser(UserManager.java:987)
at com.cisco.as.ifs.management.fndUserManager.createUser(fndUserManager.java:131)
Thanks
Rajesh BasawaRajesh,
I was wondering did you manage to get this problem fixed we are having a similar problem when creating an iFS object; the following is the stack trace
oracle.ifs.common.IfsException: IFS-30002: Unable to create new LibraryObject
[Mon Jun 16 14:19:47 BST 2003] stderr: java.sql.SQLException: ORA-00600: internal error code, arguments: [25012], [5], [0], [], [], [], [], []
[Mon Jun 16 14:19:47 BST 2003] stderr:
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1759)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java:1371)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1852)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1771)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2361)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:422)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:487)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibrarySession.execute(S_LibrarySession.java:14319)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibraryObject.insertRow(S_LibraryObject.java:3251)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibraryObject.insertRows(S_LibraryObject.java:3150)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.OperationState.executeAtomicOperations(OperationState.java:487)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibraryObject.createInstance(S_LibraryObject.java:2716)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibrarySession.newLibraryObject(S_LibrarySession.java:7922)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibrarySession.newPublicObject(S_LibrarySession.java:7963)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibrarySession.newPublicObject(S_LibrarySession.java:7945)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.server.S_LibrarySession.DMNewPublicObject(S_LibrarySession.java:7604)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.beans.LibrarySession.DMNewPublicObject(LibrarySession.java:7901)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.beans.LibrarySession.NewPublicObject(LibrarySession.java:5345)
[Mon Jun 16 14:19:47 BST 2003] stderr: at oracle.ifs.beans.LibrarySession.createPublicObject(LibrarySession.java:2973) -
Is there any way to fix the slow code completion in Netbeans 5.5+
Netbeans 5.5 or Netbeans 5.5.1
Is there any possible fix for the slow code completion within the editor? I've googled this issue and haven't found much of anything relevant.
While, not used all the time - a faster than what it is now code completion would be helpful.
Thanks,
--ToddhelloWorld
Thanks for the response and useful response.
:P
I'm not a decent machine now and I guess I'll just keep on typing.
--Todd -
IFS Install (Config) Fails with "ORA-00922: missing or invalid option"
Greetings:
Thanks for your help in advance...
Towards the end of IFS installation, I get the following error in my
IfsConfigOut.log file (This happens towards the end of the installation). I
am Installing IFS on Oracle 9i (9.0.1.1 version) instance on Win 2K (P-III,
800Mhz, 512Mb) . After this installation error, all the 9iFS directories
and nodes are detected under OEM but when I start the domain I get no
response for the same.
ConfigOut File pasted below
CONFIGURATION: SCHEMA CREATION TYPE
Configuring Oracle Internet File System 9.0.1.1.0 configuration started on:
Mon May 20 09:45:28 GMT+05:30 2002
saving user configuration settings to file:
saving:E:\oracle\ora90\9ifs\settings\oracle\ifs\installer\properties\IfsConf
ig.properties
saving:
E:\oracle\ora90\9ifs\settings\oracle\ifs\server\properties\IfsDefault.proper
ties
Old schema name in IfsDefault.properties file = ifssys
New schema name pointing to now = IFSSYS
Create Schema = true
Upgrading Schema = false
Pointing to same schema as the old entry in IfsDefault.properties file =
true
Checking DC entries
RUN DC = true
Adding section for DC as there does not exist a section already
Checking Node entries
RUN NODE = true
Adding Node section = Node
saving: E:\oracle\ora90\9ifs\settings\Node.def
saving: E:\oracle\ora90\9ifs\settings\HttpNode.def
saving: E:\oracle\ora90\9ifs\settings\DomainController.def
executing command:
Empty command. Not executing
executing command:
Empty command. Not executing
executing command:
Empty command. Not executing
creating database user (schema): IFSSYS
java.sql.SQLException: ORA-00922: missing or invalid option
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java, Compiled
Code)
at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java, Compiled
Code)
at oracle.jdbc.oci8.OCIDBAccess.parseExecuteFetch(OCIDBAccess.java,
Compiled Code)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java,
Compiled Code)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java,
Compiled Code)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
, Compiled Code)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java,
Compiled Code)
at oracle.ifs.utils.sql.SQLCommands.createUser(SQLCommands.java:352)
at
oracle.ifs.installer.IfsConfiguration$CreateSchemaAction.createIfsSchema(Ifs
Configuration.java:546)
at
oracle.ifs.installer.IfsConfiguration$CreateSchemaAction.perform(IfsConfigur
ation.java:476)
at oracle.ifs.utils.action.ActionQueue.performActions(ActionQueue.java,
Compiled Code)
at oracle.ifs.utils.action.ActionQueue.run(ActionQueue.java:230)
at java.lang.Thread.run(Thread.java:479)
recording that configuration failed
saving:E:\oracle\ora90\9ifs\settings\oracle\ifs\installer\properties\IfsConf
ig.properties
iFS configuration failed; the following error occurred:
oracle.ifs.utils.action.ActionFailedException: java.sql.SQLException:
ORA-00922: missing or invalid option
at
oracle.ifs.installer.IfsConfiguration$CreateSchemaAction.perform(IfsConfigur
ation.java:526)
at oracle.ifs.utils.action.ActionQueue.performActions(ActionQueue.java,
Compiled Code)
at oracle.ifs.utils.action.ActionQueue.run(ActionQueue.java:230)
at java.lang.Thread.run(Thread.java:479)
configuration failed on Mon May 20 09:45:35 GMT+05:30 2002Problem is Fixed !!!
We were having this problem because IFS installation was not recognising a separate tablespace which we created for IFS, so we started using default USERS tablespace after which the installation was successful.
Thanks. -
[FIXED] Compiz runs only with emerald and crashes with metacity
Hey,
I currently try to use a metacity theme and have compiz enabled but apparently that's something compiz doesn't really like.
One think i noticed in fusion-icon is that the entire metacity option under: "Select Window Devorator" is just not there.. (or was that always the case?)
Oke, things i have done so far:
- Search this forum (obviously) nothing found with a solution
- Searched the wiki (same results)
- in gconf-editor /desktop/gnome/session/required_components/windowmanager set to compiz (like said in the Compiz wiki page on archlinux.org
- disabled metacity as compositing manager (tried with enabled as well but the same results)
- right now i have the compiz bash script from ubuntu (tweaked a little) and that starts up compiz just fine but not with metacity
And incase you want the script:
#!/bin/sh
# Compiz Manager wrapper script
# Copyright (c) 2007 Kristian Lyngstøl <[email protected]>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Contributions by: Treviño (3v1n0) <[email protected]>, Ubuntu Packages
# Much of this code is based on Beryl code, also licensed under the GPL.
# This script will detect what options we need to pass to compiz to get it
# started, and start a default plugin and possibly window decorator.
COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz
PLUGIN_PATH="/usr/lib/compiz/"
GLXINFO="/usr/bin/glxinfo"
KWIN="/usr/bin/kwin"
METACITY="/usr/bin/metacity"
XFWM="/usr/bin/xfwm"
COMPIZ_NAME="compiz" # Final name for compiz (compiz.real)
# For Xgl LD_PRELOAD
LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa"
LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa"
# Minimum amount of memory (in kilo bytes) that nVidia cards need
# to be allowed to start
# Set to 262144 to require 256MB
NVIDIA_MEMORY="65536" # 64MB
NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default
# For detecting what driver is in use, the + is for one or more /'s
XORG_DRIVER_PATH="/usr/lib/xorg/modules/drivers/+"
FALLBACKWM="xterm"
if [ x"$KDE_FULL_SESSION" = x"true" ]; then
FALLBACKWM="${KWIN}";
elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then
FALLBACKWM="${METACITY}"
elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then
FALLBACKWM="${XFWM}"
fi
FALLBACKWM_OPTIONS="--replace $@"
# Driver whitelist
WHITELIST="nvidia intel ati radeon i810 fglrx"
# blacklist based on the pci ids
# See http://wiki.compiz-fusion.org/Hardware/Blacklist for details
#T=" 1002:5954 1002:5854 1002:5955" # ati rs480
#T="$T 1002:4153" # ATI Rv350
#T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12" # intel 965
T="$T 8086:2a02 " # Intel GM965
T="$T 8086:3577 8086:2562 " # Intel 830MG, 845G (LP: #259385)
BLACKLIST_PCIIDS="$T"
unset T
COMPIZ_OPTIONS="--ignore-desktop-hints --replace"
COMPIZ_PLUGINS="core"
ENV=""
# Use emerald by default if it exist
USE_EMERALD="yes"
# No indirect by default
INDIRECT="no"
# Default X.org log if xset q doesn't reveal it
XORG_DEFAULT_LOG="/var/log/Xorg.0.log"
# Set to yes to enable verbose
VERBOSE="yes"
# Echos the arguments if verbose
verbose()
if [ "x$VERBOSE" = "xyes" ]; then
printf "$*"
fi
# abort script and run fallback windowmanager
abort_with_fallback_wm()
if [ "x$SKIP_CHECKS" = "xyes" ]; then
verbose "SKIP_CHECKS is yes, so continuing despite problems.\n"
return 0;
fi
if [ "x$CM_DRY" = "xyes" ]; then
verbose "Dry run failed: Problems detected with 3D support.'n"
exit 1;
fi
verbose "aborting and using fallback: $FALLBACKWM \n"
if [ -x $FALLBACKWM ]; then
exec $FALLBACKWM $FALLBACKWM_OPTIONS
else
printf "no $FALLBACKWM found, exiting\n"
exit 1
fi
# Check if we run with the Software Rasterizer, this happens e.g.
# when a second screen session is opened via f-u-a on intel
check_software_rasterizer()
verbose "Checking for Software Rasterizer: "
if glxinfo 2> /dev/null | egrep -q '^OpenGL renderer string: Software Rasterizer' ; then
verbose "present. \n";
return 0;
else
verbose "Not present. \n"
return 1;
fi
# Check for non power of two texture support
check_npot_texture()
verbose "Checking for non power of two support: "
if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then
verbose "present. \n";
return 0;
else
verbose "Not present. \n"
return 1;
fi
# Check for presence of FBConfig
check_fbconfig()
verbose "Checking for FBConfig: "
if [ "$INDIRECT" = "yes" ]; then
$GLXINFO -i | grep -q GLX.*fbconfig
FB=$?
else
$GLXINFO | grep -q GLX.*fbconfig
FB=$?
fi
if [ $FB = "0" ]; then
unset FB
verbose "present. \n"
return 0;
else
unset FB
verbose "not present. \n"
return 1;
fi
# Check for TFP
check_tfp()
verbose "Checking for texture_from_pixmap: "
if [ $($GLXINFO 2>/dev/null | grep -c GLX_EXT_texture_from_pixmap) -gt 2 ] ; then
verbose "present. \n"
return 0;
else
verbose "not present. \n"
if [ "$INDIRECT" = "yes" ]; then
unset LIBGL_ALWAYS_INDIRECT
INDIRECT="no"
return 1;
else
verbose "Trying again with indirect rendering:\n";
INDIRECT="yes"
export LIBGL_ALWAYS_INDIRECT=1
check_tfp;
return $?
fi
fi
# Check wether the composite extension is present
check_composite()
verbose "Checking for Composite extension: "
if xdpyinfo -queryExtensions | grep -q Composite ; then
verbose "present. \n";
return 0;
else
verbose "not present. \n";
return 1;
fi
# Detects if Xgl is running
check_xgl()
verbose "Checking for Xgl: "
if xvinfo | grep -q Xgl ; then
verbose "present. \n"
return 0;
else
verbose "not present. \n"
return 1;
fi
# Check if the nVidia card has enough video ram to make sense
check_nvidia_memory()
if [ ! -x "$NVIDIA_SETTINGS" ]; then
return 0
fi
MEM=$(${NVIDIA_SETTINGS} -q VideoRam | egrep Attribute\ \'VideoRam\'\ .*: | cut -d: -f3 | sed 's/[^0-9]//g')
if [ $MEM -lt $NVIDIA_MEMORY ]; then
verbose "Less than ${NVIDIA_MEMORY}kb of memory and nVidia";
return 1;
fi
return 0;
# Check for existence if NV-GLX
check_nvidia()
if [ ! -z $NVIDIA_INTERNAL_TEST ]; then
return $NVIDIA_INTERNAL_TEST;
fi
verbose "Checking for nVidia: "
if xdpyinfo | grep -q NV-GLX ; then
verbose "present. \n"
NVIDIA_INTERNAL_TEST=0
return 0;
else
verbose "not present. \n"
NVIDIA_INTERNAL_TEST=1
return 1;
fi
# Check if the max texture size is large enough compared to the resolution
check_texture_size()
# Check how many screens we've got and iterate over them
N=$(xdpyinfo | grep -i "number of screens" | sed 's/.*[^0-9]//g')
for i in $(seq 1 $N); do
verbose "Checking screen $i"
TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed -n "$i s/^.*=[^0-9]//g p")
RESOLUTION=$(xdpyinfo | grep -i dimensions: | sed -n -e "$i s/^ *dimensions: *\([0-9]*x[0-9]*\) pixels.*/\1/ p")
VRES=$(echo $RESOLUTION | sed 's/.*x//')
HRES=$(echo $RESOLUTION | sed 's/x.*//')
verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): ";
if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then
verbose "Failed.\n"
return 1;
fi
verbose "Passed.\n"
done
return 0
# check driver whitelist
running_under_whitelisted_driver()
LOG=$(xset q|grep "Log file"|awk '{print $3}')
if [ "$LOG" = "" ]; then
verbose "xset q doesn't reveal the location of the log file. Using fallback $XORG_DEFAULT_LOG \n"
LOG=$XORG_DEFAULT_LOG;
fi
if [ -z "$LOG" ];then
verbose "AIEEEEH, no Log file found \n"
verbose "$(xset q) \n"
return 0
fi
for DRV in ${WHITELIST}; do
if egrep -q "Loading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG &&
! egrep -q "Unloading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG;
then
return 0
fi
done
verbose "No whitelisted driver found\n"
return 1
# check pciid blacklist
have_blacklisted_pciid()
OUTPUT=$(lspci -n)
for ID in ${BLACKLIST_PCIIDS}; do
if echo "$OUTPUT" | egrep -q "$ID"; then
verbose "Blacklisted PCIID '$ID' found \n"
return 0
fi
done
OUTPUT=$(lspci -vn | grep -i VGA)
verbose "Detected PCI ID for VGA: $OUTPUT\n"
return 1
build_env()
if check_nvidia; then
ENV="__GL_YIELD=NOTHING "
fi
if [ "$INDIRECT" = "yes" ]; then
ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 "
fi
if check_xgl; then
if [ -f ${LIBGL_NVIDIA} ]; then
ENV="$ENV LD_PRELOAD=${LIBGL_NVIDIA}"
verbose "Enabling Xgl with nVidia drivers...\n"
fi
if [ -f ${LIBGL_FGLRX} ]; then
ENV="$ENV LD_PRELOAD=${LIBGL_FGLRX}"
verbose "Enabling Xgl with fglrx ATi drivers...\n"
fi
fi
ENV="$ENV FROM_WRAPPER=yes"
if [ -n "$ENV" ]; then
export $ENV
fi
build_args()
if [ "x$INDIRECT" = "xyes" ]; then
COMPIZ_OPTIONS="$COMPIZ_OPTIONS --indirect-rendering "
fi
if [ ! -z "$DESKTOP_AUTOSTART_ID" ]; then
COMPIZ_OPTIONS="$COMPIZ_OPTIONS --sm-client-id $DESKTOP_AUTOSTART_ID"
fi
if check_nvidia; then
if [ "x$INDIRECT" != "xyes" ]; then
COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding"
fi
fi
# Execution begins here.
# Read configuration from XDG paths
if [ -z "$XDG_CONFIG_DIRS" ]; then
test -f /etc/xdg/compiz/compiz-manager && . /etc/xdg/compiz/compiz-manager
for f in /etc/xdg/compiz/compiz-manager.d/*; do
test -e $f && . $f
done
else
OLD_IFS=$IFS
IFS=:
for CONFIG_DIR in $XDG_CONFIG_DIRS
do
test -f $CONFIG_DIR/compiz/compiz-manager && . $CONFIG_DIR/compiz/compiz-manager
for f in $CONFIG_DIRS/compiz/compiz-manager.d/*; do
test -e $f && . $f
done
done
IFS=$OLD_IFS
unset OLD_IFS
fi
if [ -z "$XDG_CONFIG_HOME" ]; then
test -f $HOME/.config/compiz/compiz-manager && . $HOME/.config/compiz/compiz-manager
else
test -f $XDG_CONFIG_HOME/compiz/compiz-manager && . $XDG_CONFIG_HOME/compiz/compiz-manager
fi
# Don't use compiz when running the failsafe session
if [ "x$GNOME_DESKTOP_SESSION_ID" = "xFailsafe" ]; then
abort_with_fallback_wm
fi
if [ "x$LIBGL_ALWAYS_INDIRECT" = "x1" ]; then
INDIRECT="yes";
fi
# if we run under Xgl, we can skip some tests here
if ! check_xgl; then
# if vesa or vga are in use, do not even try glxinfo (LP#119341)
if ! running_under_whitelisted_driver || have_blacklisted_pciid; then
abort_with_fallback_wm
fi
# check if we have the required bits to run compiz and if not,
# fallback
if ! check_tfp || ! check_npot_texture || ! check_composite || ! check_texture_size; then
abort_with_fallback_wm
fi
# check if we run with software rasterizer and if so, bail out
if check_software_rasterizer; then
verbose "Software rasterizer detected, aborting"
abort_with_fallback_wm
fi
if check_nvidia && ! check_nvidia_memory; then
abort_with_fallback_wm
fi
if ! check_fbconfig; then
abort_with_fallback_wm
fi
fi
# load the ccp plugin if present and fallback to plain gconf if not
if [ -f ${PLUGIN_PATH}libccp.so ]; then
COMPIZ_PLUGINS="$COMPIZ_PLUGINS ccp"
elif [ -f ${PLUGIN_PATH}libgconf.so ]; then
COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf"
fi
# enable gnomecompat if we run under gnome
if [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ] && [ ! -e ~/.compiz-gnomecompat ]; then
verbose "running under gnome seesion, checking for gnomecompat\n"
if ! gconftool -g /apps/compiz/general/allscreens/options/active_plugins|grep -q gnomecompat; then
verbose "adding missing gnomecompat\n"
V=$(gconftool -g /apps/compiz/general/allscreens/options/active_plugins|sed s/mousepoll,/mousepoll,gnomecompat,/)
if ! echo $V|grep -q gnomecompat; then
verbose "can not add gnomecompat, reseting\n"
gconftool --unset /apps/compiz/general/allscreens/options/active_plugins
else
gconftool -s /apps/compiz/general/allscreens/options/active_plugins --type list --list-type=string $V
fi
touch ~/.compiz-gnomecompat
fi
fi
# get environment
build_env
build_args
if [ "x$CM_DRY" = "xyes" ]; then
verbose "Dry run finished: everything should work with regards to Compiz and 3D.\n"
verbose "Execute: ${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS \n"
exit 0;
fi
${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS
That's it so far.
So again what i try to do is running compiz with metacity decorations.
I hope someone can help me here,
Mark.
Last edited by markg85 (2009-06-28 00:26:04)whoops wrote:
Wait, what, I thought metacity isn't as window decorator, it is a window manager, right? I don't really get what you're trying to do... maybe install compiz-decorator-gtk and use it instead of emerald?
edit: aaah, yes, I think you're missing compiz-decorator-gtk, try that, look at fusion icon "window decorator" option again.
Strange.. i was under the impression that pacman -S compiz-fusion would install GTK and QT decorators... guess not.
This issue is fixed now. Running metacity decorations now WITH compiz.
Maybe you are looking for
-
OK, i've read through a few threads and seems that some people have similar problems as mine, but none of the solutions presented have worked for me. I have an iMac with 10.6.4 and the scan function on my HP PSC 1510 AiO will not work. I can plug it
-
How do I make Adobe bridge load CC, not C2
-
Sane-epjitsu backend stopped working with linux 3.6.2
I have been using a fujitsu scan snap 300m with arch linux for over three years. It has always worked fine. With the upgrade to linux 3.6.2, scanimage can no longer find the scanner. When calling scanimage, I get the following error: [20:14]% scanima
-
Can't install MSI Live Update 3
Hi I have a problem installing msi live update. I have tried with the utility cd and downloadet the newest version for MSI. When I click the exe i run shortly and then disappears. Nothing happens - I can see the Live Update process in the taskbar. My
-
Pipeline URL in SLD not shown in SAP PI
Hello PI-gurus, I've got a problem with the SLD PipeLine URL data of a Business System and the SAP PI Integration Engine Configuration Data. I've changed in SLD the name of the Pipeline URL in the Integration tab of the Business System of SAP PI. Sav