Block throws exception ?
is it possible to suggest that a block will throw an exception ... i.e.:static throws Exception {
} is invalid ...
i suppose its not possible ... ?
and anyway, the whole point is that if you could declare
the block as throwing an exception, than static blocks may
be able to throw checked ones ... obviously, i suppose, then
the class loader would have to catch them, and that is
probably not a very good idea at all ...
but on the other hand, code if the class is loaded from another
class, i.e.:SomeClass.staticMethod(); you could potentially catch some form of
'staticInitializationException' which might not be a bad idea ...
Similar Messages
-
Can't throw exception inside try block!
Hi,
I'm having a problem trying to throw an error inside a try block.
To illustrate:
public class TestException {
public TestException() {
try {
int ret = foo();
System.out.println("ret is " + ret);
} catch (Exception ex) {
System.out.println("exception caught");
public int foo() throws Exception {
int ret = 0;
try {
throw new Exception("test exception");
} finally {
return ret;
public static void main(String[] args) {
new TestException();
If I run this the only output is "ret is 0" - I do not catch the thrown exception! What am I doing wrong?
Any and all help will be very gratefully received.
Thanks.I need to correct myself: I've re-read the spec, and actually the behaviour is conformant with the JLS: JLS says that the return statement completes abruptly, and an abrupt return in a finally block that didn't have a (applicable or any) catch block will result in the original exception being 'forgotten'.
Very unintuitive, but as-spec'ed -
How to throw exception in run() method of Runnable?
Hi, everyone:
I want to know how to throw exception in run() method of interface Runnable. Since there is no throwable exception declared in run() method of interface Runnable in Java API specification.
Thanks in advance,
GeorgeThanks, jfbriere.
I must add though that if your run() methodis
executed after a call to Thread.start(), then
it is not a good choice to throw anyRuntimeException
from the run() method.
The reason is that the thrown exception won't be
handled appropriately by a try-catch block.Why do you say that "the thrown exception won't be
handled appropriately by a try-catch block"? Can you
explain it in more detail?
regards,
George
Because the other thread runs concurrently with and independently of the parent thread, there's no way you can write a try/catch that will handle the new thread's exception: try {
myThread.start();
catch (TheExceptionYouWantToThrowFromRun exc) {
handle it
do the next thing This won't work because the parent thread just continues on after myThread.start(). Start() doesn't throw the exception--run() does. And our parent thread here has lost touch with the child thread--it just moves on to "do the next thing."
Now, you can do some exception handling with ThreadGroup and uncaughtException(), but make sure you understand why the above won't work, in case that was what you were planning to do. -
** Throw Exception in BPM - Webservice to JDBC
Hi friends,
I am doing Webservice to JDBC scenario using BPM. I am doing insert data in backend system oracle table by passing inputs from WebService. After insert data in table, JBDC returns the response to web service thru response variable 'insert_count = 1' like this. When I try to insert the same record, that is, employee no as primary key in my table, XI throws an error 'ORA-00001 - unique constraint' in Addtional . We have to pass this information to Web Service. How will we achive this ?
Presently in our BPM design,
1) Exception property of the block as 'Error'.
2) Inside Block, in Sync Send Step (BPM -> JDBC) specified 'Exception/System Error' as 'Error'.
3) Inserted one Exception Handler Brach. In this Brach, inserted one control step. In this step, itself we put a Control Step, the action property of this step is 'Throw Exception'. Here , what we need to set for the 'Exception Property' ..?
Kindly help me friends.Hi Mahesh,
I refered those scenarios. But, our requirment is we want to take 'Additional Text' option from SXMB_MONI and map to WS source structure one element.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Call Adapter --> <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Category>XIServer</SAP:Category><SAP:Code area="INTERNAL">PL_TIMEOUT</SAP:Code><SAP:P1/><SAP:P2/><SAP:P3/><SAP:P4/><SAP:AdditionalText>TIME OUT REACHED</SAP:AdditionalText><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack>Timeout condition of pipeline reached
</SAP:Stack><SAP:Retry>N</SAP:Retry></SAP:Error>
Could you kindly help me ? -
Web part throwing exception at run time but not in debug mode
The below code is throwing exception at run time but does not throw exception while debugging in Visual Studio. This is really causing difficulty for me to detect the cause of exception. Below I have also placed the exception image for reference.
namespace CheckforContractorLogin.VisualWebPart1
public partial class VisualWebPart1UserControl : UserControl
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
string loginName = string.Empty;
string coc_url = string.Empty;
SPQuery spQuery = new SPQuery();
spQuery.Query = "<Where><Eq><FieldRef Name='LoginName' /><Value Type='Text'>" + currentUser + "</Value></Eq></Where>";
Guid _spSiteID = SPContext.Current.Site.ID;
Guid _spWebID = SPContext.Current.Site.OpenWeb().ID;
SPSecurity.RunWithElevatedPrivileges(delegate()
using (SPSite _spSite = new SPSite(_spSiteID))
using (SPWeb _spWeb = _spSite.OpenWeb(_spWebID))
//if user has already accepted the COC
SPList getSPList = _spWeb.Lists["RedirectUrl"];
SPListItemCollection getspItemColl = getSPList.Items;
foreach (SPListItem item in getspItemColl)
if (Convert.ToString(item["Title"]) == "Policy Acceptance")
coc_url = Convert.ToString(item["Url"]);
SPList spList = _spWeb.Lists["Policy Acceptance Status"];
SPListItemCollection spItemColl = spList.GetItems(spQuery);
bool result = getADUserInfo();
if ((spItemColl.Count == 0) && (result))
Response.Redirect(coc_url);
protected string currentUser
get
string currentUser1 = HttpContext.Current.User.Identity.ToString();
int index = currentUser1.IndexOf("\\") + 1;
string currentLoginUser = currentUser1.Substring(index);
return currentLoginUser;
protected bool getADUserInfo()
DirectoryEntry dentry = null;
DirectorySearcher dsearcher = null;
string ldap = string.Empty;
string empID = string.Empty;
string _empID = string.Empty;
try
Guid spSiteGUID = SPContext.Current.Site.ID;
Guid spWebGUID = SPContext.Current.Site.OpenWeb().ID;
SPSecurity.RunWithElevatedPrivileges(delegate()
using (SPSite elevatedSiteColl = new SPSite(spSiteGUID))
using (SPWeb elevatedWeb = elevatedSiteColl.OpenWeb(spWebGUID))
SPList spList = elevatedWeb.Lists["LDAP_Paths"];
SPQuery spQuery = new SPQuery();
spQuery.Query = "<Where><Eq><FieldRef Name='OU'/>"
+ "<Value Type='Text'>QD</Value></Eq></Where>";
SPListItem spItem = spList.GetItemById(1);
ldap = spItem["Path"].ToString();
dentry = new DirectoryEntry();
dentry.Path = ldap;
dentry.Username = "******\\sp_admin";
dentry.Password = "******";
dsearcher = new DirectorySearcher(dentry);
dsearcher.Filter = String.Format("(&(ObjectCategory=Person)(sAMAccountName=" + currentUser + "))");
SearchResult searchResult = dsearcher.FindOne();
dentry = searchResult.GetDirectoryEntry();
if (searchResult != null)
if (dentry.Properties.Contains("physicalDeliveryOfficeName"))
empID = dentry.Properties["physicalDeliveryOfficeName"][0].ToString();
if (empID.Contains("QA-"))
return true;
else
return false;
catch (Exception e)
throw e;
finally
dentry.Close();
dentry.Dispose();
dsearcher.Dispose();Hi Zakir,
I am not sure but it would be nice if you can do following
Try search ULS log with correlation id and find exact error and share here. If not able to find do following
Or in catch block write
Response.Write(ex.ToString());
and check what exception its giving. -
Custom Indirection Container throwing exception in constructor
Hi I've following the how-to and implemented my own custom indirection container. However, when reading an object from the database I'm getting the following exception. I'm guessing that it could be related to having null references stored as 0 in id columns. Any help would be greatly appreciated.
Thanks,
Jon
Exception thrown in main Exception [TOPLINK-152] (OracleAS TopLink - 10g (9.0.4.8) (Build 050712)):
oracle.toplink.exceptions.DescriptorException
Exception Description: The operation [buildContainer constructor (null) Failed: java.lang.NullPointe
rException] is invalid for this indirection policy [oracle.toplink.internal.indirection.ContainerInd
irectionPolicy@cc0e01].
Mapping: oracle.toplink.mappings.OneToOneMapping[ryFromMail]
Descriptor: Descriptor(com.peoplesoft.crm.omk.design.PsRyedocVar --> [DatabaseTable(PS_RYEDOC_VAR)])
Local Exception Stack:
Exception [TOPLINK-152] (OracleAS TopLink - 10g (9.0.4.8) (Build 050712)): oracle.toplink.exceptions
.DescriptorException
Exception Description: The operation [buildContainer constructor (null) Failed: java.lang.NullPointe
rException] is invalid for this indirection policy [oracle.toplink.internal.indirection.ContainerInd
irectionPolicy@cc0e01].
Mapping: oracle.toplink.mappings.OneToOneMapping[ryFromMail]
Descriptor: Descriptor(com.peoplesoft.crm.omk.design.PsRyedocVar --> [DatabaseTable(PS_RYEDOC_VAR)])
at oracle.toplink.exceptions.DescriptorException.invalidIndirectionPolicyOperation(Descripto
rException.java:669)
at oracle.toplink.internal.indirection.ContainerIndirectionPolicy.buildContainer(ContainerIn
directionPolicy.java:62)
at oracle.toplink.internal.indirection.ContainerIndirectionPolicy.valueFromQuery(ContainerIn
directionPolicy.java:254)
at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java
:898)
at oracle.toplink.mappings.OneToOneMapping.valueFromRow(OneToOneMapping.java:1302)
at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:876)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder
.java:164)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:322)
at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:
242)
at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:368)
at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:510)
at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:125)
at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1962)
at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)
at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolic
y.java:254)
at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java
:898)
at oracle.toplink.mappings.OneToOneMapping.valueFromRow(OneToOneMapping.java:1302)
at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:876)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder
.java:164)
at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:322)
at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:
242)
at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:368)Clients of your class might not like you throwing
exceptions from the ctor. If they're checked
exceptions it'll mean try/catch blocks. If there are
LOTS of checked exceptions that'll mean lots of catch
blocks. Could get messy fast. You could catch in the
ctor and wrap in a subclass of
java.lang.RuntimeException. Those are unchecked, like
java.lang.IllegalArgumentException.I would strongly advise against making your checked exceptions unchecked just so that the caller's code will compile without try/catch blocks. Either way--checked or unchecked--if I do Foo foo = new Foo();
foo.doStuff(); I won't get to doStuff() if the ctor threw an exception.
You'd throw unchecked exceptions in those cases where it's appropriate--e.g., the caller passed you invalid args (bad code on the caller's part, appropriated for unchecked exception), or the VM couldn't get enough memory to create your object (probably not something the caller can do anything about, so, again, appropriate for unchecked).
But if, for example, he's passing you database login parameters that an end user provided, and the password is wrong or the host is unreachable, then you'd want to throw a checked exception, because it's not bad code on the caller's part, and there might be something he can do to recover.
Note that the example of the incorrect password above is quite different from the "invalid args" example in the previous paragraph. Your method would throw IllegalArgumentException if the caller passed args that violate your method's precondition--e..g. lie outside some range of numbers. That is, it's a value that your method simply can't use. A bad password for a db login, on the other hand, is legal as far as your method is concerned, it just failed authentication in the db.
@%: I know you're aware of the proper use of checked/unchecked exceptions, but the way you worded you post kind of sounded like you were saying, "just use unchecked if you find the caller has too many try statements."
¶ -
Besides throwing exceptions and the "return;" statement
Besides throwing exceptions and the "*return*" statement, what else clauses could complete a code block abruptly?
Originally I thought System.exit() should be one of that kind, and I was totally puzzled by the fact that finally clause dose not work with System.exit(). But after a few thoughts, it becomes clear to me that System.exit() dose not even complete a code block, let alone completing a code block abruptly. So is there other logic that could make a code block complete abruptly?
My question originates from paragraphs in <Thinking in JAVA>, which claim that, I quote,
"Unfortuantely, there's a flaw in Java's exception implementation. Although exceptions are an indication of a crisis in your program and should never be ignored, it's possible for an exception to simply be lost. This happens with a particular configuration using a finally clause"..."This is a rather serious pitfall, since it means that an exception can be completely lost, and in a far more subtle and difficult -to-detect fashion..."..."Perhaps a future version of Java will repair this problem"...
After check with JLS, it seams that it is legitimate to ignore the reason for the abrupt completion of the try block, if the corresponding finally block completes abruptly. I think whether this is a "pitfall, flaw" or not depends on how deeply we language users understand the purpose of the finally clause and it is better for me to know all the possible reasons for a code block to complete abruptly.
So, besides throwing exceptions and the "*return*" statement, what else clauses could complete a code block abruptly?warnerja wrote:
Case 1: Normal flow (no exception is about to be bubbled to the caller before getting to the finally block) - I'd say we want an exception back due to the failure to close the stream.
Case 2: The finally block was entered through an exception about to be bubbled to the caller - the caller can only get one or the other exception back, either the original exception or the one indicating the failure to close the stream. The finally block has no access to the pending exception however and is unaware of whether there is an exception pending or not. All it knows is an exception occurred during the execution of the finally block, and should throw that or wrap it in another exception - same handling as in Case 1.
try {
write();
flush();
finally {
try {
close();
catch (...) {
log();
}The flush() at the end of try seems kind of redundant, since close() calls flush() anyway. The benefit is that the try statement completion matches the try block ("real work") completion.
If we get to the end of the try block with no exception, then write() and flush() have succeeded and the data is where it needs to be. All that's left is to release the I/O resource, which will always be done in finally.
If there's an exception in the try block, it is propagated out, so we know of any failure that occurred doing the "real work." The I/O resource is still released in finally.
Regardless of how the try block completed, releasing the resource does not affect how the try statement completes, and hence does not supersede how our "real work" completes, which is all we care about. We still log any close() errors for later investigation. What matters to our program is whether all the data was written, and the completion of write() and flush() tells us that. -
Function module JOB_CLOSE throwing exception
Hello,
We have a batch job which has 2 steps:
1) Step 1 uses job_open, job_submit and job_close and immediately schedules batch job A/P_ACCOUNTS which in turn creates batch input sessions A/P_ACCOUNTS.
2) Step 2 Processes A/P_ACCOUNTS sessions created yesterday or today.
In few cases, job_close is throwing exception job_close_failed. I believe that error is coming due to non availability of work processes. Job A/P_Accounts is defined as a class C batch job. There is a check in the FM job_close which does the following check:
- if the class of a batch job is B or C, it calculates the number of free work processes. If there are no work processes available then JOB_CLOSE throws JOB_CLOSE_FAILED exception.
- If the class is u2018Au2019, it skips this check.
We have an option of changing the class of batch job to A but there are some system critical jobs that are running as class A.
My question is:
In the code, JOB_CLOSE has been called for scheduling the job A/P_ACCOUNTS with parameter start immediately. Can anyone please let me know what will happen if function JOB_CLOSE is not called with start immediately option? Will the batch job A/P_ACCOUNTS wait till the time work processes are available?
Or, can anything else be done to solve the issue?
Regards,
SiddharthHI,
This is my experience with job_close..
when i was working in zprograms then i was able to scedule it any time i wanted..
but in my standard program when i tried it didn't worked....
so i have to use that option of starting it immediately..
and then it is working fine..
now if i schedule 5 jobs... one after another..
its get queued up...and once the processor is free...its working..
my code of job close
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = job_count
jobname = job_name
strtimmed = yes " yes = 'X'
IMPORTING
job_was_released = job_released
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
invalid_target = 8
OTHERS = 9.
regards,
Yadesh -
"Invalid Block Type" exception message
I got "Invalid Block Type" exception message in my program. I'm not sure what this is. Could somebody please advice?
Thanks
GZIPInputStream gzip_in_stream = null;
BufferedOutputStream destination_out_stream = new BufferedOutputStream(
new FileOutputStream(weatherFile), BUF_SIZE);
byte[] input_buffer = new byte[BUF_SIZE];
int byteLength = 0;
while ( (byteLength = gzip_in_stream.read(input_buffer, 0, BUF_SIZE)) > 0 )
destination_out_stream.write(input_buffer, 0, byteLength);
destination_out_stream.flush(); // Ensure all the data is written to the output.
destination_out_stream.close();
gzip_in_stream.close();ZipException, and it only says "Signals that a Zip exception of some sort has occurred."
I forgot to include this.
InputStream tempStream = ftpClient.retrieveFileStream(zippedFile);
gzip_in_stream = new GZIPInputStream(
new BufferedInputStream(tempStream)); -
Faxing of SAPScript throwing exception
Dear All,
I am facing problem while sending Sales Order output through FAX. It is throwing exception in OPEN_FORM function module as FAX_NOT_VALID. I debugged and found that actually system is failing FM SX_NUMBER_TO_DEVTYPE which in turn showing that the exception has occured due to Node not found. Is it a configuaration issue? I tried to configure through SPRO but could not find any relevent place. Looking for your valuable suggestion.
Any suggestion!
Thanks and regards,
AtanuMake sure are you entering the correct fax number in the recepient.
Go to transaction SBWP - > create new message and try to send it as FAX. It you are not able to send fax via Business workplace then it implies that some setting is required form the BASIS.
Otherwise the parameters passed to the OPEN_FORM needs to be investigated. -
Hi All,
I am reading notepads files and inserting data in sql tables from the notepad-
while performing sql bulk copy on this line it throws exception - "bulkcopy.WriteToServer(dt); -"data type related(mentioned in subject )".
Please go through my logic and tell me what to change to avoid this error -
public void Main()
Dts.TaskResult = (int)ScriptResults.Success;
string[] filePaths = Directory.GetFiles(@"C:\Users\jainruc\Desktop\Sudhanshu\master_db\Archive\test\content_insert\");
for (int k = 0; k < filePaths.Length; k++)
string[] lines = System.IO.File.ReadAllLines(filePaths[k]);
//table name needs to extract after = sign
string[] pathArr = filePaths[0].Split('\\');
string tablename = pathArr[9].Split('.')[0];
DataTable dt = new DataTable(tablename);
|
string[] arrColumns = lines[1].Split(new char[] { '|' });
foreach (string col in arrColumns)
dt.Columns.Add(col);
for (int i = 2; i < lines.Length; i++)
string[] columnsvals = lines[i].Split(new char[] { '|' });
DataRow dr = dt.NewRow();
for (int j = 0; j < columnsvals.Length; j++)
//Console.Write(columnsvals[j]);
if (string.IsNullOrEmpty(columnsvals[j]))
dr[j] = DBNull.Value;
else
dr[j] = columnsvals[j];
dt.Rows.Add(dr);
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=UI3DATS009X;" + "Initial Catalog=BHI_CSP_DB;" + "User Id=sa;" + "Password=3pp$erv1ce$4";
conn.Open();
SqlBulkCopy bulkcopy = new SqlBulkCopy(conn);
bulkcopy.DestinationTableName = dt.TableName;
bulkcopy.WriteToServer(dt);
conn.Close();
Issue 1:-
I am reading notepad: getting all column and values in my data table now while inserting for date and time or integer field i need to do explicit conversion how to write for specific column before bulkcopy.WriteToServer(dt);
Issue 2:- Notepad does not contains all columns nor in specific sequence in that case i can add few column ehich i am doing now but the issue is now data table will add my columns + notepad columns and while inserting how to assign in perticular colums?
sudhanshu sharma Do good and cast it into river :)Hi,
I think you'll have to do an explicit column mapping if they are not in exact sequence in both source and destination.
Have a look at this link:
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopycolumnmapping(v=vs.110).aspx
Good Luck!
Kaur.
Please mark as answer if this resolves your issue. -
PDFLPrintDoc function throw exception on Mac in PDF Lib 10
Hi,
Currently I'm doing the work of upgrading a xcode project on Mac from PDF lib from 8.1 to 10.
After change to use PDF lib 10 framework, and build project, I found it throw an exception when calling function PDFLPrintDoc to print PS type, error message saying An internal error occured.
However, on Win platform, it is ok.
I read from release note that since PDF lib 9,
PDFLPrintDoc() honors only default values for tilingMode (kPDNoTiling)
In the previous code, the flattenInfo variable in PDPrintParams is a null porinter, so I manuall add code to set PDFlattenTilingMode to be kPDNoTiling.
But the problem is, now when running ,it still throw exception saying "An internal error occured" , nothing changed.
Has anybody here encountered such problem?
Please give me an answer, thanks~Since this is PDFL, you have a license from either Adobe or Datalogics. Please contact their support directly.
-
Programmatically adding chart to a report throws exception
programmatically adding chart to a report throws exception "chart condition fields are not valid".
Configuration:
I am using CR4E to create web application, I've added RAS jars (rasapp.jar, rascore.jar, reporttemplate.jar, serialization.jar) to this web application. For designing reports i am using Crystal Reports 2008.
Code:
<%
// Get the previously opened report from the session.
ReportClientDocument reportClientDocument =
(ReportClientDocument)session.getAttribute("ReportClientDocument");
System.out.println(reportClientDocument.getReportDocument().getName());
// Try to get the report's DataDefinition object.
IDataDefinition dataDefinition;
try
dataDefinition = reportClientDocument.getDataDefController().getDataDefinition();
// If the DataDefinition object can not be retrieved, redirect the user to an error page.
catch (Exception e)
System.out.println("With error1");
return;
// Create a new ChartDefinition object and set its type to ChartType.group.
ChartDefinition chartDefinition = new ChartDefinition();
chartDefinition.setChartType(ChartType.group);
Get the conditional field of the report's first group. Set this conditional
field for the ChartDefinition object using the setConditonalFields method. Notice
that the conditional field is first placed in a Fields collection because the
setConditionalFields method takes a Fields object as an argument.
Fields conditionFields = new Fields();
if (!dataDefinition.getGroups().isEmpty())
IField field = dataDefinition.getGroups().getGroup(0).getConditionField();
System.out.println("Condition field name ->" + field.getLongName(Locale.ENGLISH));
conditionFields.addElement(field);
chartDefinition.setConditionFields(conditionFields);
//Get the summary field name from the form on the previous page.
String summaryFieldName = URLDecoder.decode(request.getParameter("summaryField"));
System.out.println("Summary field name ->" + summaryFieldName);
Loop through all of the report's summary fields until the one matching the name
above is found. Set this summary field for the ChartDefinition object using the
setDataFields method. Notice that the summary field is first placed in a Fields
collection because the setDataFields method takes a Fields object as an argument.
Fields dataFields = new Fields();
for (int i = 0; i < dataDefinition.getSummaryFields().size(); i++)
IField summaryField = dataDefinition.getSummaryFields().getField(i);
if (summaryField.getLongName(Locale.ENGLISH).equals(summaryFieldName))
System.out.println("Adding data field ->" + summaryFieldName);
dataFields.addElement(summaryField);
chartDefinition.setDataFields(dataFields);
Create a new ChartObject to represent the chart that will be added. Set the
ChartDefinition property of the ChartObject using the ChartDefinition object created
above.
ChartObject chartObject = new ChartObject();
chartObject.setChartDefinition(chartDefinition);
Get the chart type, chart placement, and chart title strings from the form on the
previous page. If no chart title was chosen, create a generic title.
String chartTypeString = request.getParameter("type");
String chartPlacementString = request.getParameter("placement");
String chartTitle = request.getParameter("title");
System.out.println("chartTypeString ->"+ chartTypeString + "<-chartPlacementString->" + chartPlacementString + "<-chartTitle->"+chartTitle);
if (chartTitle.equals(""))
chartTitle = "untitled";
Create a ChartStyleType object and a AreaSectionKind object based on the
the chartTypeString and chartPlacementString retrieved above. In this example
possible chart types are bar chart and pie chart. Possible chart placements
are header and footer.
ChartStyleType chartStyleType = ChartStyleType.from_string(chartTypeString);
AreaSectionKind chartPlacement = AreaSectionKind.from_string(chartPlacementString);
// Set the chart type, chart placement, and chart title for the chart.
chartObject.getChartStyle().setType(chartStyleType);
chartObject.setChartReportArea(chartPlacement);
chartObject.getChartStyle().getTextOptions().setTitle(chartTitle);
// Set the width, height, and top for the chart.
chartObject.setHeight(5000);
chartObject.setWidth(5000);
chartObject.setTop(1000);
Get a ReportDefController object that can be used to modify the report's definition.
ReportDefController reportDefController;
try
reportDefController = reportClientDocument.getReportDefController();
catch (Exception e)
System.out.println("With Error2");
return;
*Create a Section object that represents the section that will hold the chart.
If the chart placement was set header, get the header section, otherwise, if the
chart placement was set to footer, get the footer section.
Section chartSection = null;
if (chartPlacement.equals(AreaSectionKind.reportHeader))
IArea reportHeaderArea =
reportDefController.getReportDefinition().getReportHeaderArea();
chartSection = (Section)reportHeaderArea.getSections().getSection(0);
else if (chartPlacement.equals(AreaSectionKind.reportFooter))
IArea reportFooterArea =
reportDefController.getReportDefinition().getReportFooterArea();
chartSection = (Section)reportFooterArea.getSections().getSection(0);
Add the chart to the section using the ReportDefController object.
reportDefController.getReportObjectController().add(chartObject, chartSection, 1);
// Save the changes and close the report.
reportClientDocument.save();
reportClientDocument.close();
session.removeAttribute("ReportClientDocument");
%>
Trace:
com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The chart condition fields are not valid.---- Error code:-2147213287 Error code name:invalidChartObject
at com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException.throwReportDefControllerException(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.add(Unknown Source)
at org.apache.jsp.AddChart_jsp._jspService(AddChart_jsp.java:230)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)Please try this code snippet
var cs:ColumnSeries = new ColumnSeries();
cs.dataProvider = dp;
cs.displayName = "Series 2";
cs.yField = "values";
chart.series.push(cs);
OR
var temp:Array = [];
var cs:ColumnSeries = new ColumnSeries();
cs.dataProvider = dp;
cs.displayName = "Series 2";
cs.yField = "values";
temp = chart.series;
temp.add(cs);
chart.series = temp; -
Custom XSLT Functions Throw Exception
Hi,
I have following requirement-
1. I have defined and configured some custom XSLT functions in Jdev and BPEL, which throw exception in case of an error.
2. Now I want to catch that exception in my BPEL process
3. In My BPEL process I have defined transformation step ( which is using those Custom XSLT functions) in a scope and added a catch branch to that
4. But even XSLT java function throw an exception , it is not being catch by catch branch.
Could you please help me regarding this and tell me any other way to catch an exception in BPEL process thrown by Custom XSLT function within transformation step?
Thanks.Hi,
Its the problem with the date. In the configuration file i used dateTime for java.util.Date, because of this i cant see "User Defined" option in Jdeveloper component pallete. I checked at XML data types i had seen dateTime for java.util.Date Class, but its not working.
Do anyone created a custom xslt function which has date as parameter or return type?, If so wht they had used as data type for xml and java.
Thanks,
RR -
Throw exception in Java mapping and handle this in BPM
Hi,
I'll use a Java mapping in a BPM transform step. Is it possible to throw an exception inside this Java mapping and handle this in a BPM exception handler?
thanks and regards
VerenaHi Verena,
In a BPM transformation step, I think you can throw exceptions only for system errors.
Let me explain with an example, one of the ways to handle your scenario:
Lets assume your Java Mapping fails then you can trap that exception in your Java mapping and compose an XML message which indicates that an error has occurred.
say for e.g.
<intermediateStructure>
<SatusDocument>
<StatusCode>ERROR</StatusCode>
<ErrCode>123</ErrCode>
<ErrDesc><!populate the thrown exception details></ErrDesc>
</StatusDocument>
<Payload>
<!contains actual XML message with data>
</Payload>
</intermediateStructure>
if Java mapping is Successful, you can compose the XML message as follows:
<intermediateStructure>
<SatusDocument>
<StatusCode>SUCCESS</StatusCode>
<ErrCode>0</ErrCode>
<ErrDesc></ErrDesc>
</StatusDocument>
<Payload>
<!contains actual XML message with data>
</Payload>
</intermediateStructure>
You can use BPM switch operation to switch to different processing branches say for e.g. "error" branch or "success" branch by examining the value of <StatusCode> tag.
Hope it helps !
Regards,
Sridhar
Maybe you are looking for
-
Dynamic ORDER BY clause - Possible different data types...
I have a lexical parameter in my ORDER BY clause: ORDER BY &P_ORDER_BY My problem is that I have to designate this parameter as either a date, character or number, but the user defined column being ordered by could be any one of these. When I designa
-
hi I'm from Italy. ok so i'm trying to do a conditional format on numbers if "a cell" = greater than or text then make the same cell or another cell do something like insert a number or change color. Does anybody knows how to do that on numbers?. tha
-
SAP B1WS quotationsservice.wsdl
HI All, when i am adding quotationsservice.wsdl file as an reference i am getting the following error. XML page cannot be displayed Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again
-
Primitive type reflection ?
Can anyone tell me how to check the type of a variable ? I know that 'instanceof' is to check non primitive type and expense, how about primitive type. say short some = 1.2; how to know the type os 'some' after ?
-
Says "did not respond", but works with test servers...
Hi all, This one is driving me crazy! I recently bought an iSight camera and I'm now wanting to get it working with iChat and AIM. I'm behind a Linux firewall of my own construction (ClarkConnect / Fedora based) and at first I couldn't get it to conn