sadaf_syed
asked on
getteing illegal start of expression error
get illegal start of error for the method:
D:\java_src\webapps\autoap ps\web\WEB -INF\class es\com\com trol\autoa pps\SpecsD T.java:97: illegal start of expression
private String getHeader()
1 error
please help
D:\java_src\webapps\autoap
private String getHeader()
1 error
please help
package com.comtrol.autoapps;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
import java.sql.*;
public class SpecsDT {
HttpServlet servlet = null;
Connection dbMSSQLServer = null;
/** Creates a new instance of SpecsDT */
public SpecsDT(HttpServlet servlet) {
this.servlet = servlet;
}
public void startProc(String sku, int intFamily, String[] reports)
{
StringBuffer sb = new StringBuffer();
boolean tlaFound = false;
try{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
dbMSSQLServer = DriverManager.getConnection("jdbc:jtds:sqlserver://204.73.219.28/cdms", "cdmswebuser", "cdmswebuser");
//setup settings file for onefile.xml output and make file location (see below)
FileWriter fw = new FileWriter("/sata2/XML/onefile.xml");
sku = fixString(sku);
Statement stmt = dbMSSQLServer.createStatement();
String strSQL = "";
strSQL = strSQL + "SELECT DISTINCT tla, HWProductTypeAbbv ";
strSQL = strSQL + "FROM bomexpanded b INNER JOIN ";
strSQL = strSQL + "tblhardware h ON h.modelnumber = b.tla INNER JOIN ";
strSQL = strSQL + "_HWProductType t ON ";
strSQL = strSQL + "h.HWProductTypeCode = t.HWProductTypeCode ";
if (sku.equals("*")) strSQL = strSQL + "WHERE RTRIM(tla) <> ''";
else strSQL = strSQL + "WHERE tla = '" + sku + "'";
if (intFamily != 0) strSQL = strSQL + " and h.HWFamilyMemberCode = " + intFamily;
ResultSet rs = stmt.executeQuery(strSQL);
fw.write(getHeader());
while(rs.next()){
tlaFound = true;
if (rs.getString(2) != null){
String strProdHeader = getProductHeader(rs.getString(1));
fw.write(strProdHeader);
if (strProdHeader.length() > 0){ //Product header returned something
fw.write(getPNRevision(rs.getString(1)));
fw.write("\n" + "\t" + "</product>");
}
}
}
fw.write("\n</productcatalog>");
fw.close();
} catch (Exception e){
e.printStackTrace();
}
try{
dbMSSQLServer.close();
} catch (Exception e){
e.printStackTrace();
}
if (tlaFound && (!sku.equals("*") || intFamily != 0)){
try{
System.out.println("Running make script");
for(int i=0; i<reports.length; i++) {
if (reports[i].equals("eng"))
Runtime.getRuntime().exec(new String[] {"/bin/sh", "/sata2/XML/make", "-t", "eng"});
if (reports[i].equals("es"))
Runtime.getRuntime().exec(new String[] {"/bin/sh", "/sata2/XML/make", "-t", "es"});
if (reports[i].equals("forwebsite"))
Runtime.getRuntime().exec(new String[] {"/bin/sh", "/sata2/XML/make", "-t", "web"});
if (reports[i].equals("decl"))
Runtime.getRuntime().exec(new String[] {"/bin/sh", "/sata2/XML/make", "-t", "decl"});
if (reports[i].equals("mktg"))
Runtime.getRuntime().exec(new String[] {"/bin/sh", "/sata2/XML/make", "-t", "mktg"});
}
}
catch(Exception e)
{
System.out.println("Could not run makefile");
e.printStackTrace();
}
}
private String getHeader()
{
return "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> \n<!DOCTYPE productcatalog SYSTEM \"../DTD/onefile.dtd\"> \n<productcatalog> \n<title>Comtrol Product Catalog</title>";
}
private String getProductHeader(String a_partNo){
int PN = 1;
int PN_NAME = 2;
int PN_DESC = 3;
int PN_SHRTDESC = 4;
int PN_PRICE = 5;
int PN_DISC = 6;
int PN_DISTYPRICE = 7;
int PN_TYPE = 12;
int PN_STATUS = 14;
String strReturn = "";
String strTemp = "";
try{
Statement stmt = dbMSSQLServer.createStatement();
String strSQL = "select * from vw_specs_pricendesc where partnumber = '" + a_partNo.trim() + "'";
ResultSet rs = stmt.executeQuery(strSQL);
if(rs.next()){
strReturn = "\n" + "\t" + "<product type=\"" + rs.getString(PN_TYPE).trim() +
"\" id=\"" + a_partNo + "\" engineeringdesc=\"" + fixString(rs.getString(PN_DESC)) +
"\" msrp=\"" + rs.getString(PN_PRICE) + "\" distribprice=\"" + rs.getString(PN_DISTYPRICE) +
"\" distribpercentage=\"" + rs.getString(PN_DISC) + "\"";
strSQL = "select componentpartnumber from vw_tla_assembly where partnumber = '" + a_partNo.trim() + "'";
Statement stmt2 = dbMSSQLServer.createStatement();
ResultSet rs2 = stmt2.executeQuery(strSQL);
while(rs2.next()){
strTemp = strTemp + rs2.getString(1) + "/";
}
if (strTemp.length() > 0) strTemp = strTemp.substring(0, strTemp.length() - 1);
strReturn = strReturn + " producttype=\"" + strTemp + "\" discontinued=\"" + rs.getString(PN_STATUS) + "\"";
}
strReturn = strReturn + ">";
strReturn = strReturn + "\n" + "\t" + "\t" + "<title>" + fixString(rs.getString(PN_NAME)) + "</title>" +
"\n" + "\t" + "\t" + "<productdescription>" + fixString(rs.getString(PN_SHRTDESC)) + "</productdescription>";
} catch (Exception e){
e.printStackTrace();
}
return strReturn;
}
private String getPNRevision(String a_strPN){
int BOM_TLA = 1;
int BOM_TLAREV = 2;
int BOM_PARENT = 3;
int BOM_PARENTREV = 4;
int BOM_COMPONENT = 5;
int BOM_PARENTQTY = 7;
int BOM_LOCATION = 8;
int BOM_UNITS = 9;
int BOM_DESC = 10;
int BOM_PARENTDESC = 11;
String strReturn = "";
try{
String strSQLHeader = "select distinct tla, max(tlarevision) from bomexpanded where tla = '" + a_strPN + "' group by tla";
Statement stmtHeader = dbMSSQLServer.createStatement();
ResultSet rsHeader = stmtHeader.executeQuery(strSQLHeader);
while (rsHeader.next()){
String strPN = rsHeader.getString(1);
String strRev = rsHeader.getString(2);
strReturn = "\n" + "\t" + "\t" + "<version id=\"" + strRev.trim() + "\">" +
"\n" + "\t" + "\t" + "<title>Revision " + strRev.trim() + "</title>" +
"\n" + "\t" + "\t" + "\t" + "<specifications>";
CallableStatement stmtBody = dbMSSQLServer.prepareCall("{call sp_specificationxmldata(?,?)}");
stmtBody.setString(1, strPN);
stmtBody.setString(2, strRev);
ResultSet rsBody = stmtBody.executeQuery();
while (rsBody.next()){
strReturn = strReturn + writeSpec(rsBody.getString(BOM_PARENT),
rsBody.getString(BOM_PARENTREV),
rsBody.getString(BOM_COMPONENT),
rsBody.getString(BOM_PARENTQTY),
rsBody.getString(BOM_UNITS),
rsBody.getString(BOM_LOCATION),
rsBody.getString(BOM_DESC),
rsBody.getString(BOM_PARENTDESC));
}
Statement stmtBody2 = dbMSSQLServer.createStatement();
ResultSet rsBody2 = stmtBody2.executeQuery("select distinct componentpartnumber from vw_bomexpanded_swspecs where partnumber = '" + strPN + "' order by componentpartnumber");
while(rsBody2.next()) strReturn = strReturn + writeSpec2(strPN, strRev, rsBody2.getString(1), "sp_SWspecificationxmldata");
strReturn = strReturn + "\n" + "\t" + "\t" + "\t" + "</specifications>" +
"\n" + "\t" + "\t" + "</version>";
}
} catch (Exception e){
e.printStackTrace();
}
return strReturn;
}
private String writeSpec(String a_bomParent, String a_bomParentRev, String a_bomComponent,
String a_bomParentQty, String a_bomUnits, String a_bomLocation,
String a_bomDesc, String a_bomParentDesc){
String strReturn = "";
String[] strArray;
strReturn = "\n" + "\t" + "\t" + "\t" + "\t" + "<spec partnumber=\"" + a_bomComponent +
"\" parentpn=\"" + a_bomParent + "\" quantity=\"" + truncString(a_bomParentQty) +
"\" parentdescription=\"" + fixString(a_bomParentDesc) + "\">" +
"\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "<desc>" + fixString(a_bomDesc) + "</desc>" +
"\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "<values>";
if (a_bomUnits == null) a_bomUnits = "";
if (a_bomLocation == null) a_bomLocation = "";
if (a_bomLocation.length() == 0){
strReturn = strReturn + "\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "\t" +
"<value units=\"" + a_bomUnits + "\">" + "" + "</value>";
} else{
strArray = a_bomLocation.split(",");
for (int i = 0; i < strArray.length; i++){
strReturn = strReturn + "\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "\t" +
"<value units=\"" + a_bomUnits + "\">" + fixString(strArray[i]) + "</value>";
}
}
strReturn = strReturn + "\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "</values>" +
"\n" + "\t" + "\t" + "\t" + "\t" + "</spec>";
return strReturn;
}
private String writeSpec2(String a_bomTLA, String a_bomRevision, String a_bomComponent, String a_strStoredProc){
int BOM_UNITS = 9;
int BOM_LOCATION = 8;
String strReturn = "";
String[] strArray;
strReturn = "\n" + "\t" + "\t" + "\t" + "\t" + "<spec partnumber=\"" + a_bomComponent +
"\" parentpn=\"" + a_bomTLA + "\" quantity=\"" + 0 +
"\" parentdescription=\"" + "" + "\">" +
"\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "<desc>" + "" + "</desc>" +
"\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "<values>";
try{
CallableStatement stmt = dbMSSQLServer.prepareCall("{call " + a_strStoredProc + "(?,?,?)}");
stmt.setString(1, a_bomTLA);
stmt.setString(2, a_bomRevision);
stmt.setString(3, a_bomComponent);
ResultSet rs = stmt.executeQuery();
while (rs.next()){
strReturn = strReturn + "\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "\t" +
"<value units=\"" + rs.getString(BOM_UNITS) + "\">" + fixString(rs.getString(BOM_LOCATION)) + "</value>";
}
strReturn = strReturn + "\n" + "\t" + "\t" + "\t" + "\t" + "\t" + "</values>" +
"\n" + "\t" + "\t" + "\t" + "\t" + "</spec>";
} catch (Exception e){
e.printStackTrace();
}
return strReturn;
}
private String fixString(String a_strIn){
String strOut = "";
String cNew;
char c[] = {'<', '>', '&', '\"'};
String replace[] = {"<", ">", "&", """};
if (a_strIn == null) a_strIn = "";
a_strIn = a_strIn.replaceAll("'", "''");
for (int i = 0; i < a_strIn.length(); i++){
cNew = "" + a_strIn.charAt(i);
for (int j = 0; j < c.length; j++){
if (a_strIn.charAt(i) == c[j]) cNew = replace[j];
}
strOut = strOut + cNew;
}
return strOut.trim();
}
private String fixAttribute(String a_strIn){
return null;
}
private String truncString(String a_strIn){
try{
double dblVal = Double.valueOf(a_strIn).doubleValue();
if (java.lang.Math.floor(dblVal) == dblVal) return "" + (int)dblVal;
else return "" + dblVal;
} catch(Exception e){
return a_strIn;
}
}
;
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.