How to get Source Code out of SCA File
I have a SCA file comprising SAP Ecommerce 5 solution. What I want to achieve is to get all the source code out of it including the original directory structure. Unzipping it doesn't give me the required results and requires a lot of manual work creating directories and more unzipping.
I tried importing it into a Local SC in NWDS but it complains that " Import (into source SC) not possible: SCA doesn't contain DC sources".
I don't have access to NWDI at this point.
Hi,
For getting the source code of the Business Package Content, follow the steps below:
1. Make sure Source Archive is available for the Business Package.
2. Create a NWDI Track, and include all dependencies (check SAP Note : 1080927 - Creating CMS Tracks for common Application Types )
3. Once you have track in place, you can import the Track into NWDS
4. In Development Configurations perspective of the NWDS you can see the track.
5. Now create Project from Inactive Workspace to start modifying the code.
Check the link for general links
http://wiki.sdn.sap.com/wiki/display/JDI/NWDIRelatedNotesandLinks
Hope this helps.
Cheers-
Pramod
Similar Messages
-
How to get html code out of psd file????
Hi, I have PS CS6, and just try to work with brackets. Because I can`t extract psd files in my ps version, did it with project parfait. Then I`ve sended that file or better copied the public link into brackets and found my psd file extracted in layers in there. What I miss is the html code, which I`m desperately looking for. So how do I get an html code out of that psd file to create a webpage with brackets, without buying a new ps version... thanks a lot in advance !
If you not too familiar with html, you can use the save as web command. When you open the dialog box, towards the bottom you will find preview in Brower. First it will show you the image, but if you scroll down you will see the sample html that was used to create that image in the browser.
If you need to break it up some you can use slices. Each slice will be its own image.
The html needs to point to that image on the server.
This means you need to upload the html and all images to a server. It also means that you will need to manually edit the html so that it has the correct folder location on the server so it can find the images.
It is one thing to make it work on your computer, it is another story to make sure it works from a server. Usually a typo is what keeps it from working correctly. So pay attention to the url, folders and file names. Keep in mind that folders and files are case sensitive.
Good luck. -
How to Get Source Code of Standard ESS Component.
Hi,
I need to implement SAP Note 904107, in ESS ( Personal Info.) package. However no tracks are maintained in NWDI for ESS.
Please suggest me from where I can get Source Code for Standard SAP Web Dynpro component VcPerFamilyBEReview .
I read in some blogs and its suggested to create Track in NWDI using ESS package which is deployed on server. Please provide detail procedure, doc. and links for this.
If any other approach is there to get sorce code please suggest.Hi,
VcPerFamilyBEReview component is found in the DC sap.com/essbefam
check these links to create track in NWDI
[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0b2b146-5776-2910-4a8f-9b3190eab060]
[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/7014086d-3fd9-2910-80bd-be3417810c6f]
[https://www.sdn.sap.com/irj/sdn/wiki?path=/display/java/netweaver%2bdevelopment%2binfrastructure%2b(NWDI)]
Regards,
vv -
How to get source code and build files for Eudora 7, and price?
Looking for source code and build/make files for Eudora 7 to port to Win7 and Ubuntu 14. Where is a source for this and what is the cost?
You best ask qualcomm. It is their intellectual property.
Eudora OSE was based on Thunderbird and the source code for the Penelope add-on is open source (that is what made Thunderbird over to OSE) -
How to get source code in the video examples
I'm wondering how to get the source code, which used in the
video training. Thank you very much.I don't believe that the source code is available.... however
you can do what I am going to do. On my 2nd round of going through
this stuff I am going to try to re-create that system in the
videos. So far it seems each step and every line of code is
shown... though there may be some things I have to get creative
with. :)
Someone else posted a link to get a csv of the employees
info, which can be used to create an xml file for the tutorials. -
How to get source code for WinCE 6.0 USB Camera Driver for ARM4I Processor
Hi,
I am implementing USB camera driver for my mini2440 board which has an ARM4I processor. The sample code
"Windows Embedded CE 6.0 USB camera Driver" downloaded from:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2ef087c0-a4ae-42cc-abd0-c466787c11f2
does not support ARM4I processors. When trying to generate in VS2005 Platform Builder my WinCE 6.0
image for mini2440 with the Third party catalog items "MJPEG Decompression Filter" and "USB CameraDriver",
the linker giver errors. Please advise where to find a working source code for USB (now revision 1.1
("full-speed") is supported in my WinCE 6.0 image) camera for my ARM4I processor. The code should
be in C# but C++ will be fine also.
Thanks,
Pauli get this on the hyperterminal when i run the cameradshowapp.exe
Compulab Windows CE NAND X-Loader for CM-T35
Built Dec 20 2009 at 16:48:16
Version 1.01.222
Commit Date 16/12/09
Jumping to bootloader
Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec 20 2009 16:
46:16
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0x200b
Texas Instruments Windows CE EBOOT for CM-T35, Built Dec 20 2009 at 16:48:10
Version 1.01.222
OMAP3430 Version 0x4b7ae02f (Unknown)
TPS659XX Version 0x10 (ES2.x)
-OEMPinMuxSetup....
System ready!
Preparing for download...
INFO: Predownload
+FMD_Init
Checking bootloader blocks are marked as reserved (Num = 6)
+FMD_Init
WARN: Boot config wasn't found, using defaults
+FMD_Init
OALFlashStoreOpen: 4096 blocks, 64 sectors/block
OALFlashStoreOpen: 2048 bytes/sector, 14 reserved blocks
Calling LCD_TurnOn
+FMD_Init
+FMD_Init
BLConfigureFlashPartitions: dwBootPartitionSectorCount = 0x5fff, partition actua
l size =0x4d3a!!!
Hit space to enter configuration menu 5...
Hit space to enter configuration menu 4...
Hit space to enter configuration menu 3...
Hit space to enter configuration menu 2...
Hit space to enter configuration menu 1...
INFO: Boot Device location = 0x8000020
Load NK image from flash memory
+FMD_Init
ROMHDR (pTOC = 0x823b8c28) ---------------------
DLL First : 0x4001c001
DLL Last : 0x41c7c0d8
Physical First : 0x84001000
Physical Last : 0x863bbdec
Num Modules : 294
RAM Start : 0x863c0000
RAM Free : 0x863d5000
RAM End : 0x90800000
Num Copy Entries
Copy Entries Offset : 0x85256e38
Prof Symbol Length : 0x00000000
Prof Symbol Offset : 0x00000000
Num Files : 116
Kernel Flags : 0x00000002
FileSys RAM Percent : 0x00000020
Driver Glob Start : 0x00000000
Driver Glob Length : 0x00000000
CPU : 0x01c2
MiscFlags : 0x0002
Extensions : 0x84002020
Tracking Mem Start : 0x00000000
Tracking Mem Length : 0x00000000
NK Image Loaded
Launch Windows CE image by jumping to 0x80001000...
Windows CE Kernel for ARM (Thumb Enabled) Built on Apr 5 2011 at 17:47:22
+OEMInit
ýSETDATAOUT access is OK....
Forcing clean boot
MainMemoryEndAddress = 0x90800000
-OEMInit
+FMD_Init
Dumping registry defined VK
Row 0: 0x18 0x9 0x25 0x0 0x0 0x0
Row 1: 0x26 0xd 0x28 0x0 0x0 0x0
Row 2: 0x27 0x24 0x23 0x0 0x0 0x0
Row 3: 0x0 0x0 0x0 0x0 0x0 0x0
Row 4: 0x0 0x0 0x0 0x0 0x0
Row 5: 0x0 0x0 0x0 0x0 0x0 0x0
SMSC922x: Core Ethernet Init.
Lan9220 identified. ID_REV = 0x92200000
SMSC922x: MAC address = 00:01:c0:0a:a0:db
Lan9220 identified. ID_REV = 0x92200000
SMSC922x: MAC address = 00:01:c0:09:88:80
SDIO8686: Loading Driver [version = 38.p44]
SDIO8686: Reset with TPS GPIO 2 --> done
!!!Kernel mode PSL 'PRdr' de-registered!!!
!!!Kernel mode PSL 'HRdr' de-registered!!!
!!!Kernel mode PSL 'FRdr' de-registered!!!
EHCI USB Host: HcdPdd_Init+
[OTG] OMAPMHSUSBOTG::Init()+
OMAPMHSUSBOTG::PostInit(): Start.
DSPLINK Module (1.61.04) created on Date: Jun 24 2009 Time: 16:30:52
Display parameters:
Height = 0x280
Width = 0x1e0
HSW = 0x20
HFP = 0x8
HBP = 0x17
VSW = 0x1
VFP = 0x4
VBP = 0x3
DVI is not enabled
PixelClkDiv = 0x7
LogClkDiv = 0x1
ClkSelDSS = 0x5
TD035:: LCDTurnOn
TD035STEE1: Turned display on.
TD035:: Finished LCD VGA init
AUTOLAUNCH: Checking HKEY_LOCAL_MACHINE\Startup key for programs to run.
Can't open HKEY_LOCAL_MACHINE\Startup key.
[WiFi]: Firmware Version: 9.70.3.23
CCaptureFramework: Failed setting up the camera data.
CameraDShowApp: Initializing the camera driver list failed.CameraDShowApp: Retri
eving the driver list failed.CameraDShowApp: Selecting the camera device failed.
CameraDShowApp: Selecting the camera device failed.CameraDShowApp: Selecting the
camera device failed.CameraDShowApp: Selecting the camera device failed.CCaptur
eFramework: Retrieving the still stream config failed.
CameraDShowApp: Initializing the capture graph failed. -
How to get Source code of a Schedular Java concurrent program in Payments
Hi Experts,
I am very new to Java Concurrent program.
I need java source code of a schedule java concurrent program.Following are the details of Executable.
Executable :Format Payment Instructions
Short Name :IBY_FD_PAYMENT_FORMAT
Application : Payments
Execution Method :Java Concurrent Program
Execution File Name:FDExtractAndFormatting
Execution File Path : oracle.apps.iby.scheduler
I searched in execution file path,but i am unable to find required java source.
Please someone help regarding this issue..
It's Urgent Issue.
Regards
AmarHi Srini,
Thanks for reply...
In the attached template of concurrent program "Format Payment Instructions", i need to add voucher number in the template.
How can i do this?how to decompile the executable?
It is a check printing.
Please give me suggestions..
Regards
Amar -
How to get source code from portal app
Hi,
I have a successful Web dynpro portal application running, which I would like to modify. We lost the source code. Is there any way that I can get the source code from the portal?.
Thanks and I appreciate your help.
/Sunita.Hi,
You can extract class files from app.jar and decompile it(.ear->.wda) but it is only generated classes without metadata. Metadata is stored in .wda file but format is not compatible with studio. That all options you have.
Go through the following links, it will be helpfull to you
Some of the solutions provided in it
[Re: Retrieve the source code from .EAR;
[Restore source code from ear file;
Regards
Raghu -
How to get source code for commands like diff or cat
Hi all
I'm learning c programming and i'd like to read some code for the basic commands on the linux system
I remember apt has one such option that allows getting pakcage source code
is there a similar one for pacman ?
or do i have to search those source code myself ?
and also in BSD system all the codes are availeble in a code repository
thxdiff and cat. Or was that too literal?
Last edited by Ghost1227 (2009-04-18 23:57:55) -
How to get source code of ADF demo page.
I have used oracle ADF demo site for demo work related to graphs.
I want to download the source code of this demo. I mean jspx file, backing bean and style classes.
Is there any way I can download this source code?I believe there is no sense to use it without downloading it's code.
I want to download "Area graph Animation" from below link:
http://jdevadf.oracle.com/adf-richclient-demo/faces/feature/graph/animation.jspx?_afrRedirect=2611981845492287
Please help!
Thanks,
JaykishanThis does NOT have .JWS file as
The demo WAR is a JDeveloper Project packaged into a WAR file.
So creating a dummy application or open an existing application.
Select 'File' ----> 'New' --> 'Projects' and select Project from WAR.
Thanks,
Navaneeth -
How to include source code in web dynpro java deployment
Hi,
We dont have NWDI.
We are creating ear files out of web dynpro applications packaging them as sca files and deploying them in server.
But the source code is not included in ear.
How to include source code with your ear/sca , so that when anyone downloads the sca file later, they are build the Project in the studio.
How would they typically download? Do they require NWDI ,
Right now we dont have NWDI in place, but we want to do is parcel the applications such that the source code should be available at a later time for download.
This is possible with .par files , but what about web dynpro?
Thanks,
DebIf you are not using NWDI use the _comp file.
-
How to display the source code for this friggin' file.
Below is a rather lengthy bit of code that provides the behavior and attributes of a web server for OpenCyc. I need to know if I can enter some java to have the HTML source code displayed in a separate text file whenever this class returns some resulting webpage. If you have any ideas it will be greatly appreciated.
-"Will code for foo."
package org.opencyc.webserver;
* Class WebServer is simple multithreaded HTTP server
* with CGI limited to a Cyc connection on default port 3600.
* <p>
import java.net.*;
import java.io.*;
import java.util.*;
import java.util.jar.*;
import java.text.*;
import org.opencyc.util.*;
public class WebServer extends Thread {
* Singleton WebServer instance.
public static WebServer current;
* Default HTTP port.
protected static int DEFAULT_PORT = 80;
* Default Cyc base port.
protected static int DEFAULT_CYC_PORT = 3600;
* Default directory to serve files from on non-Windows OS.
protected static String DEFAULT_DIR = "/";
* Default directory to serve files from on Windows.
//protected static String DEFAULT_WIN_DIR = "C:\\";
protected static String DEFAULT_WIN_DIR = "k:\\opencyc\\run\\httpd\\htdocs";
* File cache capacity.
protected static final int CACHE_CAPACITY = 100;
* File cache to improve file serving performance.
protected static Hashtable fileCache = new Hashtable(CACHE_CAPACITY);
* Number of files served from this web server.
protected static long nbrFilesServed = 0;
* Number of files served from this web server that were found in the cache.
protected static long nbrCacheHits = 0;
* Server socket for accepting connections.
protected ServerSocket server;
* Directories to serve files from.
protected ArrayList dirs;
* Map from String (jar root) to JarFile[] (jar class path).
protected HashMap map;
* Webserver HTTP port.
protected int port;
* Cyc HTML host.
protected String cycHost = "localhost";
* Cyc HTML port.
protected int cycPort;
* Expand jar tress.
protected boolean trees;
* Requests flag.
protected boolean traceRequests;
* Constructs a WebServer object.
* @param port the port to use
* @param directories the directory to serve files from
* @param trees true if files within jar files should be served up
* @param traceRequests true if client's request text should be logged.
* @exception IOException if the listening socket cannot be opened, or problem opening jar files.
public WebServer() throws IOException {
getProperties();
server = new ServerSocket(port);
processDirectories();
* Class Task processes a single HTTP request.
protected class Task extends Thread {
* Socket for the incoming request.
protected Socket sock;
* Client socket to the Cyc KB HTML server.
protected Socket cycHtmlSocket;
* Output tcp stream.
protected DataOutputStream out;
* Contains the file request path for a not-found error message.
protected String notFoundPath;
* Contains the first line of a request message.
protected String methodLine;
* Contains the body of a POST method.
protected String bodyLine;
* Constructs a Task object.
* @param sock the socket assigned for this request.
public Task(Socket sock) {
this.sock = sock;
* Processes the HTTP request.
public void run() {
if (traceRequests)
Log.current.println("connection accepted from " + sock.getInetAddress());
notFoundPath = "";
try {
out = new DataOutputStream(sock.getOutputStream());
try {
getBytes();
catch (Exception e) {
Log.current.println("file not found: " + notFoundPath);
try {
out.writeBytes("HTTP/1.1 404 Not Found\r\n");
out.writeBytes("Server: Cyc WebServer\r\n");
out.writeBytes("Connection: close\r\n");
out.writeBytes("Content-Type: text/html\r\n\r\n");
out.writeBytes("<HTML><HEAD>\n");
out.writeBytes("<TITLE>404 Not Found</TITLE>\n");
out.writeBytes("</HEAD><BODY>\n");
out.writeBytes("<H1>404 - Not Found</H1>\n");
out.writeBytes("</BODY></HTML>");
out.flush();
catch (SocketException se) {
catch (Exception e) {
Log.current.printStackTrace(e);
finally {
try {
sock.close();
catch (IOException e) {
* Reads the HTTP request and obtains the response.
* @exception IOException when HTTP request has an invalid format.
private void getBytes() throws IOException {
// Below logic is complex because web browsers do not close the
// socket after sending the request, so must parse message to find
// the end.
BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
ArrayList inBytes = new ArrayList(200);
int ch = 0;
boolean postMethod;
methodLine = in.readLine();
//if (traceRequests)
// Log.current.println("methodLine=" + methodLine);
bodyLine = "";
if (methodLine.startsWith("POST /"))
postMethod = true;
else
postMethod = false;
//if (traceRequests)
// Log.current.println("postMethod=" + postMethod);
int ch1 = -1;
int ch2 = -1;
int ch3 = -1;
int ch4 = -1;
// Read the HTTP request headers.
while (true) {
ch = in.read();
inBytes.add(new Integer(ch));
ch1 = ch2;
ch2 = ch3;
ch3 = ch4;
ch4 = ch;
if (ch1 == '\r' && ch2 == '\n' && ch3 == '\r' && ch4 == '\n')
break;
if ((! postMethod) &&
(! in.ready()) &&
ch1 == -1 &&
ch2 == -1 &&
ch3 == '\r' &&
ch4 == '\n') {
inBytes.add(new Integer('\r'));
inBytes.add(new Integer('\n'));
break;
byte[] byteArray = new byte[inBytes.size()];
for (int i = 0; i < inBytes.size(); i++) {
Integer ich = (Integer) inBytes.get(i);
byteArray[i] = ich.byteValue();
String headers = new String(byteArray);
if (postMethod) {
String lcHeaders = headers.toLowerCase();
int i = lcHeaders.indexOf("content-length: ");
String contentLength = lcHeaders.substring(i + 16);
int j = contentLength.indexOf("\r\n");
contentLength = contentLength.substring(0, j);
int bodyLen = (new Integer(contentLength)).intValue();
for (int k = 0; k < bodyLen; k++) {
bodyLine = bodyLine + (new Character((char) in.read())).toString();
String line = methodLine + "\r\n" + headers + bodyLine;
if (traceRequests)
Log.current.println(line);
if (postMethod)
processHttpPost();
else
if (line.startsWith("GET /"))
processHttpGet(line.substring(4));
else {
Log.current.println("Invalid request = " + line);
throw new IOException();
* Processes an HTTP GET method.
* @param httpGetPath the path of the file to get.
* @exception IOException if the file is not found.
private void processHttpGet(String httpGetPath) throws IOException {
int i = httpGetPath.indexOf(' ');
if (i > 0)
httpGetPath = httpGetPath.substring(0, i);
Log.current.println(methodLine + " from " + sock.getInetAddress().getHostName());
i = httpGetPath.indexOf("cg?");
if (i > 0) {
cycHtmlRequest(httpGetPath.substring(i + 3));
return;
notFoundPath = httpGetPath;
i = httpGetPath.indexOf('/');
if (i < 0 || map == null) {
if (map == null || httpGetPath.endsWith(".jar")) {
for (int j = 0; j < dirs.size(); j++) {
String dir = (String) dirs.get(j);
String nativePath = dir + httpGetPath;
nativePath = nativePath.replace('/', File.separatorChar);
if (fileCache.containsKey(nativePath)) {
writeDataBytes((byte[]) fileCache.get(nativePath));
Log.current.println("...cached");
nbrCacheHits++;
nbrFilesServed++;
return;
try {
File f = new File(nativePath);
byte[] fileBytes = getBytes(new FileInputStream(f), f.length());
writeDataBytes(fileBytes);
if (fileCache.size() >= CACHE_CAPACITY)
fileCache.clear();
fileCache.put(nativePath, fileBytes);
Log.current.println("...from " + nativePath);
nbrFilesServed++;
return;
catch (IOException e) {
throw new IOException();
String jar = httpGetPath.substring(0, i);
httpGetPath = httpGetPath.substring(i + 1);
JarFile[] jfs = (JarFile[]) map.get(jar);
if (jfs == null)
throw new IOException();
for (i = 0; i < jfs.length; i++) {
JarEntry je = jfs.getJarEntry(httpGetPath);
if (je == null)
continue;
writeDataBytes(getBytes(jfs[i].getInputStream(je), je.getSize()));
nbrFilesServed++;
return;
throw new IOException();
* Processes an HTTP POST method.
* @exception IOException if the file is not found.
private void processHttpPost() throws IOException {
Log.current.println("POST " + bodyLine + " from " + sock.getInetAddress().getHostName());
cycHtmlRequest(bodyLine);
* Reads the specified number of bytes and always close the stream.
* @param in the file to be read for subsequent downloading.
* @param length the number of bytes to read from the file.
* @return An array of bytes from the file.
* @exception IOException if an error occurs when processing the file.
private byte[] getBytes(InputStream in, long length) throws IOException {
DataInputStream din = new DataInputStream(in);
byte[] bytes = new byte[ (int) length];
try {
din.readFully(bytes);
finally {
din.close();
return bytes;
* Sends the HTML request to Cyc.
* @param cycPath the portion of the URL which is given to the Cyc HTML server.
private void cycHtmlRequest(String cycPath) {
String request = sock.getInetAddress().getHostName() + "&" + cycPath + "#";
System.out.println("request=" + request);
ArrayList bytes = new ArrayList(10000);
try {
cycHtmlSocket = new Socket(cycHost, cycPort);
System.out.println("cycHost=" + cycHost + " cycPort=" + cycPort);
BufferedReader cycIn = new BufferedReader(new InputStreamReader(cycHtmlSocket.getInputStream()));
PrintWriter cycOut = new PrintWriter(cycHtmlSocket.getOutputStream(), true);
cycOut.println(request);
cycOut.flush();
int ch = 0;
while (ch >= 0) {
ch = cycIn.read();
bytes.add(new Integer(ch));
catch (Exception e) {
Log.current.printStackTrace(e);
byte[] byteArray = new byte[bytes.size()];
for (int i = 0; i < bytes.size() - 1; i++) {
Integer ich = (Integer) bytes.get(i);
byteArray[i] = ich.byteValue();
try {
writeTextBytes(byteArray);
catch (Exception e) {
Log.current.println(e.getMessage());
* Responds to the HTTP client with data content from the requested URL.
* @param bytes the array of bytes from the URL.
* @exception IOException if there is an error writing to the HTTP client.
public void writeDataBytes(byte[] bytes) throws IOException {
out.writeBytes("HTTP/1.1 200 OK\r\n");
out.writeBytes("Server: Cyc WebServer\r\n");
out.writeBytes("Connection: close\r\n");
out.writeBytes("Content-Length: " + bytes.length + "\r\n");
String prefix = (new String(bytes)).toLowerCase();
if (prefix.indexOf("<html>") > -1)
out.writeBytes("Content-Type: text/html\r\n\r\n");
else
out.writeBytes("Content-Type: application/java\r\n\r\n");
out.write(bytes);
out.flush();
* Respond to the HTTP client with text content from the requested URL.
* @param bytes the array of bytes from the URL.
* @exception IOException if there is an error writing to the HTTP client.
public void writeTextBytes(byte[] bytes) throws IOException {
out.writeBytes("HTTP/1.1 200 OK\r\n");
out.writeBytes("Server: Cyc WebServer\r\n");
out.writeBytes("Connection: close\r\n");
out.writeBytes("Content-Length: " + bytes.length + "\r\n");
out.writeBytes("Content-Type: text/html\r\n\r\n");
out.write(bytes);
out.flush();
* Gets properties governing the web server's behavior.
private void getProperties() {
port = DEFAULT_PORT;
String portProperty = System.getProperty("org.opencyc.webserver.port", "");
if (! portProperty.equalsIgnoreCase(""))
port = (new Integer(portProperty)).intValue();
Log.current.println("Listening on port " + port);
cycPort = DEFAULT_CYC_PORT;
String cycPortProperty = System.getProperty("org.opencyc.webserver.cycPort", "");
if (! cycPortProperty.equalsIgnoreCase(""))
cycPort = (new Integer(cycPortProperty)).intValue();
Log.current.println("Cyc connections directed to port " + cycPort);
String dirsProperty = System.getProperty("org.opencyc.webserver.dirs", "");
dirs = new ArrayList(3);
StringTokenizer st = new StringTokenizer(dirsProperty, ";", false);
while (st.hasMoreTokens()) {
String dir = st.nextToken();
dirs.add(dir);
trees = false;
String treesProperty = System.getProperty("org.opencyc.webserver.trees", "");
if (! treesProperty.equalsIgnoreCase(""))
trees = true;
traceRequests = false;
String traceRequestsProperty = System.getProperty("org.opencyc.webserver.traceRequests", "");
if (! traceRequestsProperty.equalsIgnoreCase("")) {
traceRequests = true;
Log.current.println("tracing requests");
* Adds transitive Class-Path jars to jfs.
* @param jar the jar file
* @param jfs the list of jar files to serve.
* @param dir the jar file directory.
* @exception IOException if an I/O error has occurred with the jar file.
private void addJar(String jar, ArrayList jfs, String dir) throws IOException {
Log.current.println("Serving jar files from: " + dir + jar);
JarFile jf = new JarFile(dir + jar);
jfs.add(jf);
Manifest man = jf.getManifest();
if (man == null)
return;
Attributes attrs = man.getMainAttributes();
if (attrs == null)
return;
String val = attrs.getValue(Attributes.Name.CLASS_PATH);
if (val == null)
return;
dir = dir + jar.substring(0, jar.lastIndexOf(File.separatorChar) + 1);
StringTokenizer st = new StringTokenizer(val);
while (st.hasMoreTokens()) {
addJar(st.nextToken().replace('/', File.separatorChar), jfs, dir);
* Administrative accessor method that obtains list of directories from which files are served.
public ArrayList getDirs() {
return dirs;
* Administrative method that updates the list of directories from which files are served.
public synchronized void setDirs(ArrayList dirs) throws IOException {
this.dirs = dirs;
fileCache.clear();
processDirectories();
* Administrative accessor method that obtains number of files served.
* @return The number of files served.
public long getNbrFilesServed() {
return nbrFilesServed;
* Administrative accessor method that obtains number of files served from cache.
* @return The number of files served from the cache.
public long getNbrCacheHits() {
return nbrCacheHits;
* Administrative method that clears the file cache.
public synchronized void clearFileCache() {
Log.current.println("Clearing file cache");
fileCache.clear();
nbrFilesServed = 0;
nbrCacheHits = 0;
* Processes the directories from which files are served, expanding jar trees if
* directed.
* @exception IOException if problem occurs while processing the jar files.
private void processDirectories() throws IOException {
if (dirs.size() == 0)
if (File.separatorChar == '\\')
dirs.add(DEFAULT_WIN_DIR);
else
dirs.add(DEFAULT_DIR);
Iterator directories = dirs.iterator();
while (directories.hasNext())
Log.current.println("Serving from " + directories.next());
if (trees) {
map = new HashMap();
for (int j = 0; j < dirs.size(); j++) {
String dir = (String) dirs.get(j);
String[] files = new File(dir).list();
for (int i = 0; i < files.length; i++) {
String jar = files[i];
if (!jar.endsWith(".jar"))
continue;
ArrayList jfs = new ArrayList(1);
addJar(jar, jfs, dir);
map.put(jar.substring(0, jar.length() - 4), jfs.toArray(new JarFile[jfs.size()]));
* Provides the command line interface for creating an HTTP server.
* The properties are:
* <pre>
* org.opencyc.webserver.port=<HTTP listening port>
* </pre>
* which defaults to 80.
* <pre>
* org.opencyc.webserver.cycPort=<Cyc connection port>
* </pre>
* which defaults to 3600.
* <pre>
* org.opencyc.webserver.dirs=<path>;<path> ... ;<path>
* </pre>
* with the argument enclosed in quotes if any path contains an
* embedded space.
* The default directory on Windows is C:
* and the default on other systems is / the default
* can be overridden with this property. By default, all files
* under this directory (including all subdirectories) are served
* up via HTTP. If the pathname of a file is <var>path</var> relative
* to the top-level directory, then the file can be downloaded using
* the URL
* <pre>
* http://<var>host</var>:<var>port</var>/<var>path</var>
* </pre>
* Caching of file contents is performed.
* <pre>
* org.opencyc.util.log=all
* </pre>
* If the all value is given, then all attempts to download files
* are output.
* <pre>
* org.opencyc.webserver.traceRequests
* </pre>
* If this property has any value, then the client HTTP requests are
* output.<p>
* <pre>
* org.opencyc.webserver.trees
* </pre>
* This property can be used to serve up individual files stored
* within jar files in addition to the files that are served up by
* default. If the property has any value, the server finds all jar files
* in the top-level directory (not in subdirectories). For each
* jar file, if the name of the jar file is <var>name</var>.jar, then any
* individual file named <var>file</var> within that jar file (or within
* the jar or zip files referenced transitively in the Class-Path manifest
* attribute, can be downloaded using a URL of the form:
* <pre>
* http://<var>host</var>:<var>port</var>/<var>name</var>/<var>file</var>
* </pre>
* When this property has any value, an open file descriptor and cached
* information are held for each jar file, for the life of the process.
* @param args an unused array of command line arguments.
public static void main(String[] args) {
Log.makeLog();
System.out.println("OpenCyc Web Server");
try {
// Launch thread to accept HTTP connections.
current = new WebServer();
current.start();
catch (IOException e) {
e.printStackTrace();
* Just keep looping, spawning a new thread for each incoming request.
public void run() {
try {
while (true) {
// Launch thread to process one HTTP request.
new Task(server.accept()).start();
catch (IOException e) {
e.printStackTrace();JLundan,
I want to thank you for responding to the thread I started on the forum at java.sun.com. Your solution to my problem of needing to print the code of the html pages that the file I included generates was just what I was looking for. However, I have some further questions to ask, if you don't mind. To clarify my task I should say that your rephrasing of the problem is accurate: "You wan't to display the contents of the HTML file that the web server produces in response of client's request?"
Yes, this is what I need to do, but also it needs to display the source code of that html file that the server produces in response to the client's request. Also, in this case, I am the client requesting that the server return some html file, and I'm not sure where the server is. But the webserver.java file that I shared on the forum is on my local machine. I was wondering if I could modify this webserver.java file at my home so that any html file the server returns to me would automatically display the source code. This is a school project of mine and I am stuck on this one thing here.
Further, where would I put the "foo.html" file so it can be written to?
FileOuputStream fos = new FileOutputStream("foo.html");
fos.write(bytes);
fos.close();
Thanks so much for your help. I look forward to your response, at your convenience.
Regards -
How to display source code of a webpage in Safari 7.0?
Hello. I'm unable to find how we used to once enable developing tools in Safari Preferences or simply CMD + ALT + A to display the source code of a webpage. Now I've no clue how to display source code of a webpage in Safari 7.0 on Mac OS X Mavericks. Help.
Hi gss2,
Make sure you are not under the Apple icon but under Safari>Preferences>Advanced. All the way at the bottom check the box that says: "Show Develop menu in menu bar."
Now go back to the page you want to get the source code for, right click on it and choose Inspect Element. Hope this helps.
Cheers,
LURDS LLC -
Where is View Source? How can the source code of a website be viewed?
Where is View Source? How can the source code of a website be viewed?
View Source used to be accessed via a drop-down menu, but no longer. Why?
I'm using Firefox 24.0.1.)Get into Firefox.
2.)open any page that you want to see the source code.
3.)After complete opening of the page do"right click"then you can see view page source,click it to see Source of the page.
Thank you. -
How to obtain source code of weka and enable to modify it
hello,
how to obtain source code of weka and enable to modify it such i want to extract code of some process that I makeHi ENG,
Since the issue regards to Weka. It is out of the support boundaries of our forum, I suggesT you post the question in the following forum:http://forums.pentaho.com/forumdisplay.php?81-Pentaho-Data-Mining-WEKA.
It is appropriate and more experts will assist you.
Regards,
Katherine Xiong
Katherine Xiong
TechNet Community Support
Maybe you are looking for
-
Printing with an Epson 1400 through Time Capsule
I just got done setting up my new iMac and Time Capsule at my house and ran into a roadblock when trying to print. I have searched and searched these forums and all over the rest of the internet looking for an answer before I asked my question, but f
-
Not able to use my own alarm tone
Initially there was an option to use either songs that i have as my alarm tone or to choose inbuilt alarm tones But by mistake i clicked on the always option instead of the just once option Now please let me know how to undo this Solved! Go to Soluti
-
Report for recieved, expiry dates of shelf life of materials
Dear Gurus, I did nt find the solution in MB5M, because i want report for shelf life of materials based on recived date, expiry date, please share.
-
(not) emptying iphoto 5 trash
My iphoto 5 trash has 975 photos, this after a mixup of my iphoto library which after disappearing, returned as blank thumbnails with filenames; I renamed the library as iphoto_old, moved it to the desktop, and recreated it from within iphoto-file me
-
Distributing .pdf as Reader only (can't be opened in Acrobat)
Q1) Is there a setting that lets me save my .pdf so that it can only be opened in Reader. Right now, if a user has Acrobat on their PC the .pdf opens in Acrobat. I want it to always open in Reader. Q2) Can an older version of Reader (let's say 5.0)