Facade interface
Hey,
I have SWT client that communicate with the server via facade.
The facade layer is a group of stateless session beans.
I want to get advices from you about handling exceptions.
1. As I mentioned above the fa�ade is stateless session bean (ejb3) and the transaction is CMT, which means that the transaction is closed and committed after my method ended. The problem with this is that the client gets unclear exceptions like DB vendor exception or hibernate exception in case of commit failure. I want to hear what are you doing?
2. If inner component in the server throw an exception the above layer wrap this exception and throw it to the layer above in case it catch the exception. In the fa�ade I cant wrap the exception I get and throw it to the client, because the client doesn�t know the inner server exception or third-party exception, so it will get class not found.. in order to solve this I have catch(Exception) in the fa�ade that throw new ServerClientException , but in this way I lose a lot of information regarded to the underline reasons to the exception. I be happy to hear your opinion about this.
Thank you
Lets take an example the client try to delete user , in the server i call to manager.delete ...
This user cant be deleted because that another object has reference to this user.You should look at the requirements. If the client is initiating an operation that goes against the referential integrity (RI) of the database, you should change the client code, change your server facade, or loosen the RI by making a bidirectional relationship unidirectional.
I'd change the server facade; make the EJB go through the proper sequence of steps to remove the related entities. For example, "deleteUser" doesn't just call em.remove(user). It checks for dependent objects and throw a proper exception.
public void deleteUser(Integer _userId) throws TransactionsPendingException {
User user = em.find(User.class, _userId);
if( user.getPendingTransactions().size() > 0 ) {
throw new TransactionsPendingException();
em.remove(user);
another issue is the chain issue:
in some cases the client need to dispaly information on the exception to the user , so i throw the excpetion to the client , but the excpetion contain inner server exception. is not good that the client will be depend in server package, so i get there classnotfound.In addition to the server package and the client package, create a common package of exceptions that is compiled, JAR-ed, and deployed with both the server and the client.
Similar Messages
-
Getting some error while opening our plugin in InDesign CC Debugger
Hi,
We are loading XML file using our plugin. After opening Indesign documents (Created using the same XML), we have refreshed the tree(using our plugin option). We are getting the below mentioned asserts,
1. Direct model change to database without transaction. Either process a command or call a utility or facade interface that does what you want, or implement your own cmd if none exist. Generally, DON'T just call IDataBase::BeginTransaction()/EndTransaction.
2. Comparing translated string to non-translated string!(Strings are '\\New Technology\37_NATURE2.jpg' and '\'
Please help us to fix this issue.
Thanks,
Vimala LHi,
2) Comparing translated string to non-translated string, most likely comparing 2 PMStrings, one of them has settranslatable as kFalse.
Thanks for your reply..Already we have set the settranslatable as kFalse. But getting this error.
bool16 SampleTVWidgetMgr::ApplyNodeIDToWidget(
const NodeID& node, IControlView* widget, int32 message) const
CTreeViewWidgetMgr::ApplyNodeIDToWidget(node, widget);
do
// If this node doesn't have any children, don't show expander Widget
InterfacePtr<IPanelControlData>
panelControlData(widget, UseDefaultIID());
ASSERT(panelControlData);
if(panelControlData==nil) {
break;
// Set expander widget to hidden state if this node has no kids
IControlView* expanderWidget = panelControlData->FindWidget(kTreeNodeExpanderWidgetID);
ASSERT(expanderWidget);
if(expanderWidget == nil) {
break;
InterfacePtr<const ITreeViewHierarchyAdapter>
adapter(this, UseDefaultIID());
ASSERT(adapter);
if(adapter == nil) {
break;
if (expanderWidget) {
if (adapter->GetNumChildren(node) <= 0) {
expanderWidget->HideView();
else {
expanderWidget->ShowView();
IControlView* iconView =
panelControlData->FindWidget(kSampleIconWidgetId);
ASSERT(iconView);
if (iconView == nil) {
break;
TreeNodePtr<SampleFileNodeID> nodeID(node);
ASSERT(nodeID);
if(nodeID == nil) {
break;
PMString nodePath = nodeID->GetPath();
this->setIconForContent(iconView, nodePath);
IControlView* displayStringView =
panelControlData->FindWidget( kSampleNodeNameWidgetID );
ASSERT(displayStringView);
if(displayStringView == nil) {
break;
InterfacePtr<ITextControlData>
textControlData( displayStringView, UseDefaultIID() );
ASSERT(textControlData);
if(textControlData== nil) {
break;
PMString stringToDisplay(SampleUtils::TruncatePath(nodePath));
if(stringToDisplay.empty()) {
stringToDisplay="Empty?";
stringToDisplay.SetTranslatable( kFalse );
textControlData->SetString(stringToDisplay);
// Adjust indenting- this may be temporary
this->indent( node, widget, displayStringView );
} while(kFalse);
return kTrue;
Thanks,
Vimala L -
hi All,
I had deployed one custom module in EHP1 and had used NWDS 7.1 to create it, now at runtime i am getting below exception as in NWA:
Caused by: java.lang.ClassNotFoundException: com.sap.aii.af.lib.mp.module.ModuleLocal
Loader Info -
ClassLoader name: [com.pi.poc/ModulePoc]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
My ejb-jar has interfaces as below:
<home>com.sap.aii.af.lib.mp.module.ModuleHome</home>
<remote>com.sap.aii.af.lib.mp.module.ModuleRemote</remote>
<local-home>com.sap.aii.af.lib.mp.module.ModuleLocalHome</local-home>
<local>com.sap.aii.af.lib.mp.module.ModuleLocal</local>
My application-j2ee-engine has references as:
engine.security.facade
engine.j2ee14.facade
com.sap.aii.af.svc.facade
com.sap.aii.af.ifc.facade
com.sap.aii.af.lib.facade
com.sap.base.technology.facade
I am following these links:
/people/stefan.grube/blog/2008/12/11/adjust-your-pi-70-adapter-modules-for-pi-71-in-15-minutes
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0b39e65-981e-2b10-1c9c-fc3f8e6747fa
Is there any change in references for EHP1?
Any other info for the error i am getting?
Please Help!
Thanks.
MayankIf your adapter module works in 7.10, it should work in 7.11 also.
It is difficult to see, what is wrong. Double check the library references. It should be:
engine.security.facade = service
engine.j2ee14.facade = library
com.sap.aii.af.svc.facade = service
com.sap.aii.af.ifc.facade = interface
com.sap.aii.af.lib.facade = library
com.sap.base.technology.facade = library -
Merging multiple ObservableList notifications
I have an MVC architecture implemented using JavaFX for querying a medical database. I have two ListViews, one for a database filter, and one for the database fields to be returned. When a user adds a value to the ListView<Filter> an item is usually also added to the ListView<Field>. The ObservableLists for each of these ListViews is encapsulated in a ClientModel for the GUI.
The controller listens for changes to either of these ListViews, (via the model) and submits a query to the database whenever either of them changes. The problem is that when the above "add" occurs, two notifications are sent to the controller - one for each ListView, so I get a double notification for what if effectively one user action.
There are a number of ways to address this architecturally, of course, but I'm looking for a best practice, here. I'm sure others have encountered having the Listeners from multiple UI Controls firing redundantly. Is there an especially applicable pattern to use in JavaFX for controlling these notifications?
Right now I'm thinking of simply adding a "Facade" interface in the ClientModel that encapsulates the two ObservableLists behind an empty ObservableValue, like a SimpleBooleanProperty - which updates the other lists and then call it's own invalidated() method. The Controller would attach an invalidationListener to this Property instead of the other two.
This solution seems a bit kludgy and not very extensible. Does anyone else have a cleaner solution? I'll hack this together and try to post a subset of the code once I have something "working".Here is where you can download JAI-ImageIO
https://jai-imageio.dev.java.net/binary-builds.html
What you want is the core jar file called "jai_imageio.jar." You can obtain this jar by installing one of the stable releases and going to: your java folder+ / jre / lib / ext /. You can also obtain this jar by extracting it from the zip folder of any one of the daily builds.
Once you have the jar add it to the library of your aplication and voila. The next time you use ImageIO.read(...) or ImageIO.write(...) to read or write a tiff file it should work. The jar file also contains readers and writers for a several other formats as well.
As for the libraries that you already have, the "jai_core" is for image processing while "jai_codec" is used to read and write images. Think of JAI-ImageIO as the "jai_codec" library but following the Java Image I/O API (image readers, image writers, ImageIO, ect...). To read an image using the combined "jai_core" and "jai_codec" library you would have to do
String filename = //path and name of the file to be read;
RenderedImage image = JAI.create("fileload", filename)or
URL url = //some URL;
RenderedImage image = JAI.create("url", url);Eventually, in due time JAI-ImageIO and "jai_codec" will probably merge. As it is, JAI-ImageIO does not need "jai_core" or "jai_codec" to function. It is self-contained. -
In how many ways we can create new document and how to implements this ways?
I found that we can create new document by 3 ways
1)by using session object of application ,document list as follow
InterfacePtr<IApplication> firstdoc(GetExecutionContextSession()->QueryApplication());
InterfacePtr<IDocumentList> docList(firstdoc->QueryDocumentList());
docList->NewDoc(25089,IDataBase::ProtectionLevel.kProtectSave, nil);
but in this case i am not getting how to use newdoc method i.e which parameter we have to pass(not even clear from API reference )
2)by using command
InterfacePtr<IApplication> firstdoc(GetExecutionContextSession()->QueryApplication());
InterfacePtr<IDocumentList> docList(firstdoc->QueryDocumentList());
InterfacePtr<ICommand> new1(CmdUtils::CreateCommand(kNewDocCmdBoss));
UIDList asd(docList);
new1->SetItemList(asd);
CmdUtils::ProcessCommand(new1);
3)bu using some util or facade interface
Utils<IDocumentCommands>()->New( . . .)
in this case also i am not geeting how to use new method
I try all this method but none of them working .i knew i am doing some mistake in all these method so please correct me where i am wrong .
Main problem is in the first parameter of newdoc method i.e what is class id how to use them1. add to your project "SDKLayoutHelper.cpp", "SDKLayoutHelper.h"
2. #include "SDKLayoutHelper.h"
insert code:
do{
SDKLayoutHelper helper;
UIDRef docRef = helper.CreateDocument();
if (UIDRef::gNull == docRef)
break;
helper.OpenLayoutWindow(docRef);
}while(kFalse);
Regards! -
JDev 10.1.3 ADF- eliminate XML
We are evaluating JDeveloper 10.1.3 and OC4J for a critical project. We are committed to moving to EE5 as rapidly as possible. The ADF Faces components are very useful. However, creating the necessary data controls produces too many extraneous XML files. We are trying to reduce source files, not add more. In fact, we would like this application to be entirely free of XML within the enterprise.
So, back to just plain JSF. My question is, is it possible to do JNDI lookups using the @EJB annotation in the managed bean to the session facade? I can't seem to make it work. Also, how soon before EE5 JDeveloper will be available for Solaris? Please advise on both questions. Thank you.
Josh FosterThanks kindly for your responses. I should have re-phrased my questions better. What I meant to say was:
I have the following architecture:
- JSF on the View/Controller
- a Business Delegate session bean that calls Session Facades that encapsulate Entity Beans on the Model
QUESTION 1. I can inject @EJB annotations on my Business Delegate to call Session Facade interfaces just fine. Similarly, I can use an @Resource annotation on the Session Facades to inject an EntityManager to call Entity Beans. No problem.
But, when I try to inject @EJB(name="ejb/BusinessDelegate") on my JSF backing-beans (or some other JSF managed bean), OC4J just ignores the injection. I have the JNDI name registered in web.xml as <ejb-local-ref>.
Now, it works fine if I go through the trouble of writing a service locator, using an InitialContext lookup. But I want to avoid writing this ugly code.
So, my question is, should the @EJB annotation work from View to Model?
QUESTION 2. I'm not against having a couple of standard XML files such as web.xml and faces-config.xml. I didn't mean to imply that those were troubling. But, when I create a data control on the Business Delegate so that I can use ADF Faces components on my JSPs, JDeveloper insists on creating XML files for ALL of my Session Facades, AND, for each one of my Entity Beans. This literally DOUBLES the number of source files I have to carry around.
Is it possible this information can be annotated on the bean itself, preferably generated automatically by the IDE?
3. Will JDeveloper 10.1.3 production work on Solaris? We have many new Solaris workstations on our team. This is imperative if we are going to be able to switch over to Oracle AS from BEA.
Please kindly advise. And thank you again.
Josh -
I'm working on an application that needs to allow multiple types of clients ("view-controllers") to access the model as described in the Java Pet Store, but I'd like to do it without all the many, many lines of code necessary for the full-blown EJB implementation seen there. Can I get away with just using Struts or some other good MVC framework?
I'm working on an application that needs to allow
multiple types of clients ("view-controllers") to
access the model as described in the Java Pet Store,
but I'd like to do it without all the many, many lines
of code necessary for the full-blown EJB
implementation seen there.In an MVC that uses EJB system, the model is acting as a facade (interface) onto the EJB. The Model does not have to be EJB, it could do all the processing it's self it could access the DB directly with ODBC.
This would still be a sound architecture, particularly for a lite weight web application.
Can I get away with just
using Struts or some other good MVC framework?Yes. -
Java Program with Adapter / Facade Pattern
Hey All:
I'm very new to the Java language and have been given a fairly complicated (to me) program to do for a course I'm taking. The following is the scenario. I'll post code examples I have and any help will be greatly appreciated. Let me apologize ahead of time for all the code involved and say thank you in advance :).
The program is the follow the following logic:
Organizations A's Client (Org_A_Client.java) uses Organization A's interface (Org_A_Interface.java) but we want A's Client to also be able to use Organization B's services as well (Org_B_FileAuthorMgr.java, Org_B_FileDateMgr.java, Org_B_FileIOMgr.java).
Now a portion of this program also involves validating an xml file to it's dtd, extracting information from that source xml file through the use of a XMLTransformation file, and applying the transformation to produce a targetxml file which is then validated against a target DTD. (I've done this portion as I have a much better understanding of XML).
At this point we have been given the following java classes:
Org_A_Client.java
package project4;
/* This class is the Organization A Client.
It reads a source xml file as input and it invokes methods defined in the
Org_A_Doc_Interface Interface on a class that implements that interface */
import java.io.*;
import java.util.Scanner;
public class Org_A_Client {
// Define a document object of type Org_A_Doc_Interface
private Org_A_Doc_Interface document;
// The Org_A_Client constructor
public Org_A_Client() {
// Instanciate the document object with a class that implements the
// Org_A_Doc_Interface
this.document = new Adapter();
// The Main Method
public static void main(String Args[]) {
// Instanciate a Client Object
Org_A_Client client = new Org_A_Client();
// Create a string to store user input
String inputFile = null;
System.out.print("Input file name: ");
// Read the Source xml file name provided as a command line argument
Scanner scanner = new Scanner(System.in);
inputFile = scanner.next();
// Create a string to store user input
String fileID = null;
System.out.print("Input file ID: ");
// Read the Source xml file name provided as a command line argument
fileID = scanner.next();
//Convert the String fileID to an integer value
int intFileID = Integer.parseInt(fileID);
if (inputFile != null && !inputFile.equals("")) {
// Create and empty string to store the source xml file
String file = "";
try {
// Open the file
FileInputStream fstream = new FileInputStream(inputFile);
// Convert our input stream to a
// BufferedReader
BufferedReader d = new BufferedReader(new InputStreamReader(
fstream));
// Continue to read lines while
// there are still some left to read
String temp = "";
while ((temp = d.readLine()) != null) {
// Add file contents to a String
file = file + temp;
d.close();
// The Client Calls the archiveDoc Method on the Org_A_Document
// object
if (!file.equals("")) {
client.document.archiveDoc(file, intFileID);
} catch (Exception e) {
System.err.println("File input error");
} else
System.out.println("Error: Invalid Input");
Org_A_Doc_Interface.java
package project4;
/* This class is the Standard Organization A Document Interface.
* It defines various methods that any XML document object
* in Organization A should understand
public interface Org_A_Doc_Interface {
void archiveDoc(String XMLSourceDoc, int fileID);
String getDoc(int fileID);
String getDocDate(int fileID);
void setDocDate(String date, int fileID);
String[] getDocAuthors(int fileID);
void setDocAuthor(String authorname, int position, int fileID);
Org_B_FileAuthorMgr.java
package project4;
public class Org_B_FileAuthorMgr {
// This function returns the list of file authors for the file that matches
// the given fileID. For the purpose of the assignment we have not
// provided any implementation
public String[] getFileAuthors(String fileID) {
// Since we do not have any implementation, we just return a
// null String array of size 2
return new String[2];
// This function sets the authorname at a given position for the file that
// matches the given fileID.
// For the purpose of the assignment we have not provided any
// implementation
public void setFileAuthor(String authorname, int position, String fileID) {
Org_B_FileDateMgr.java
package project4;
public class Org_B_FileDateMgr {
// This function returns the creation date for the file that matches
// the given fileID. For the puprposes of the assignment we have not
// provided any implementation but only return a date string.
String getFileDate(String fileID) {
return "1st Nov 2007";
// This function sets the creation datefor the file that
// matches the given fileID.
// For the puprposes of the assignment we have not provided any
// implementation
void setFileDate(String date, String fileID) {
Org_B_FileIOMgr.java
package project4;
import java.io.*;
public class Org_B_FileIOMgr {
// This class variable stores the file location for all files
private String fileLocation;
// This function stores the given String of XMLTargetFile at the
// fileLocation which is set using the setFileLocation method
boolean storeFile(String XMLTargetFile, String fileID) {
if (this.fileLocation != null) {
FileOutputStream out; // declare a file output object
PrintStream p; // declare a print stream object
try {
// Create a new file output stream
// connected to "myfile.txt"
out = new FileOutputStream(fileLocation);
// Connect print stream to the output stream
p = new PrintStream(out);
p.println(XMLTargetFile);
p.close();
System.out.println("MSG from Org_B_FileIOMgr: Target File Successfully Saved with ID " + fileID);
} catch (Exception e) {
System.err.println("Error writing to file");
return false;
return true;
System.out.println("MSG from Org_B_FileIOMgr: Please set the File Location before storing a file");
return false;
// This function sets the fileLocation where the file will be stored for
// archive
void setFileLocation(String fileLocation) {
this.fileLocation = fileLocation;
// This function retreives the file that matches the given fileID and
// returns its contents as a string
// Only for the puprposes of the assignment we have not provided any
// implementation
String retrieveFile(String fileID) {
return "This is the retreived file";
}Also, we've been given the following two classes which I believe are used to help with the xml transformation using SAX (I've done alot of research regarding parsing XML using SAX/DOM so I understand how it works, but I'm really struggling with the integration...)
FileDetailsProvider.java
package project4;
/* This is the FileDetailsProvider Class which implements the Singleton design pattern.
The class can be used in the following manner:
// Declare a object of the class type
FileDetailsProvider fp;
// Get the single instance of this class by calling the getInstance static method
fp= FileDetailsProvider.getInstance();
// Initialize the class with providing it the file name of our configuration XML file
fp.loadConfigFile("C:\\assignment4\\XMLTransformerConfig.xml");
import java.io.File;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class FileDetailsProvider {
private InputHandler handler;
private SAXParserFactory factory;
private SAXParser saxParser;
private final static FileDetailsProvider INSTANCE = new FileDetailsProvider();
// Private constructor suppresses generation of a (public) default
// constructor
private FileDetailsProvider() {
// Create the content handler
handler = new InputHandler();
// Use the default (non-validating) parser
factory = SAXParserFactory.newInstance();
// Validate the XML as it is parsed by the SAX Parser: only works
// for dtd's
factory.setValidating(true);
try {
saxParser = factory.newSAXParser();
} catch (Throwable t) {
t.printStackTrace();
System.exit(0);
// This is the public static method that returns a single instance of the
// class everytime it is invoked
public static FileDetailsProvider getInstance() {
return INSTANCE;
// After instantiation this method needs to be called to load the XMLTransformer Configuration xml
// file that includes the xsl file details needed
// for our assignment
public void loadConfigFile(String configFile) {
try {
INSTANCE.saxParser.parse(new File(configFile), INSTANCE.handler);
} catch (Throwable t) {
t.printStackTrace();
// Exceptions thrown if validation fails or file not found
System.out.println();
System.out.println("C:\\Documents and Settings\\Jig\\Desktop\\Project 4\\Project4\\Transform.xsl");
System.exit(0);
// This method return the xsl file name
public String getXslfileName() {
return handler.getXslfileName();
// This method returns the xsl file location
public String getXslfileLocation() {
return handler.getXslfileLocation();
InputHandler.java
package project4;
/* This class is used by the FileDetailsProvider Class to read the XMLTranformerConfig xml
* file using a SAX parser which is a event based parser
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
public class InputHandler extends DefaultHandler {
private String xslfileName = "";
private String xslfileLocation = "";
int fileName = 0, fileLoc = 0, DTDUrl = 0;
boolean endOfFile = false;
public InputHandler() {
// Start XML Document Event
public void startDocument() throws SAXException {
super.startDocument();
// End XML Document Event
public void endDocument() throws SAXException {
super.endDocument();
// display();
public void display() {
System.out.println(xslfileName);
System.out.println(xslfileLocation);
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
String eName = localName; // element name
if ("".equals(eName))
eName = qName; // not namespace-aware
if (eName.equals("File Name:")) {
fileName++;
} else if (eName.equals("File Location:")) {
fileLoc++;
public void endElement(String uri, String localName, String qName)
throws SAXException {
String eName = localName; // element name
if ("".equals(eName))
eName = qName; // not namespace-aware
public void characters(char ch[], int start, int length)
throws SAXException {
String str = new String(ch, start, length);
// Getting the Transform File Location
if (fileLoc == 1 && xslfileLocation.equals("C:\\Documents and Settings\\Jig\\Desktop\\Project 4\\Project4\\")) {
xslfileLocation = str;
// Getting the Transform File Name
if (fileName == 1 && xslfileName.equals("Transform.xsl")) {
xslfileName = str;
public void processingInstruction(String target, String data)
throws SAXException {
// treat validation errors as fatal
public void error(SAXParseException e) throws SAXParseException {
throw e;
// This method return the xsl file name
public String getXslfileName() {
return xslfileName;
// This method returns the xsl file location
public String getXslfileLocation() {
return xslfileLocation;
}I need to do the following:
1. Create an adapter class and a facade class that allows Client A through the use of Organization's A interface to to use Organization B's services.
2. Validate the Source XML against its DTD
3. Extract information regarding the XSL file from the given XMLTransformerConfig xml file
4. Apply the XSL Transformation to the source XML file to produce the target XML
5. Validate the Target XML against its DTD
Now I'm not asking for a free handout with this program completed as I really want to learn how to do a program like this, but I really don't have ANY prior java experience other than creating basic classes and methods. I don't know how to bring the whole program together in order to make it all work, so any guidance for making this work would be greatly appreciated.
I've researched over 100 links on the web and found alot of useful information on adapter patterns with java and facade patterns, as well as SAX/DOM examples for parsing xml documents and validation of the DTD, but I can't find anything that ties this all together. Your help will be saving my grade...I hope :). Thanks so much for reading this.No one has anything to add for working on this project? I could really use some help, especially for creating the code for the adapter/facade pattern classes.
-
Error while deploying IDM 7.1 user interface file on Netweaver Java AS sys
Hi,
I am in process of installing IDM 7.1 in my landscape. I have done IC, RC in one system with windows 2003 + oracle. On other system I have Netweaver 7.0 SP14 Java AS system. I have configured as per SAP documentation.
While deploying IDM user interface 7.1 on SAP Netweaver Java system 7.0, I get following error in SDM:
Loading archive 'E:\software\IDM\DATA_UNITS\IC_UIS_710\IDMIC00_0.sca'
May 11, 2011 5:16:12 PM Error: Unresolved dependencies found for the following SDAs:
1.: development component 'tc/idm/wd/model'/'sap.com'/'MAIN_IDM710_C'/'3542284'/'0'
dependency:
name: 'tc/ddic/runtime/facade'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'tc/wd/api'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'engine.j2ee14.facade'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'tc/bl/logging/api'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'tc/wd/legacy'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'tc/bl/exception/lib'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'tc/aii/base/offline/facade'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
dependency:
name: 'tc/bl/jrfc/api'
vendor: 'sap.com'
There is no component either in SDM repository or in Deployment batch that resolves the dependency.
Deployment will be aborted.
May 12, 2011 11:04:09... Info: Loading archive 'E:\software\IDM\DATA_UNITS\IC_UIS_700\IDMIC00_0.sca'
Please advise,
Thanks,
DigeshHi,
SMP : http://service.sap.com/swdc -> SAP NetWeaver and complementary products" SAP NW IDENTITY MANAGEMENT" SAP NW IDENTITY MANAGEMENT 7.1
You would need to deploy the NW IDM IC 7.10 UIS FOR NW 7.00 component.
Regards,
Srikishan -
(ejb 3.0) stateful session facade?
Hello,
(1) Would you consider stateful session facade (whose client is a servlet) a bad design?
(2) How to have a stateful session facade referenced in a servlet? I am using Sun Application Server Platform Edition 9.0 and trying to make an injection:
@EJB(name="ejb/KOGSessionFacade")
protected KOGSessionFacade sessionFacade;
but then I get this error in deploy-time: "A stateful session bean can not be injected into a servlet. Please refer to EJB 3.0 Persistence API Specification section #5.2 for further information."
Thanks.Using a Stateful Session facade from a Servlet is not necessarily a bad design. In some cases, you may want to do some cleanup work on completion of a transaction. Stateful Session beans provide a convenient way (By implementing SessionSynchronization interface) to do this.
In the servlet programming model, Servlets are not designed to be single threaded. So if you inject a StatefulSessionBean (SFSB) references then multiple threads could be possibly be invoking the SFSB concurrently. In this case, the EJBContainer (as required by the specification), will throw a well defined exception.
What you may want to do is to place this SFSB reference into you Servlet session. -
Error while calling local session bean from session facade
Hi Everybody,
I was to execute example of session facade pattern. All the files compile properly, but when ejbc command is run, i get the following error:
ERROR: Error from ejbc:
In EJB *MANAGER, method create() exposes local interface types or local home interface types through the remote home interface of the bean. This is not allowed.
ERROR: Error from ejbc:
In EJB *MANAGER, method remove(java.lang.Object) on the home interface does not throw java.rmi.RemoteException. This is a required exception.
In EJB *MANAGER, method create() on the home interface does not throw java.rmi.RemoteException. This is a required exception.
ERROR: Error from ejbc: In EJB MANAGER, the home interface be.telenet.sso.servicelayer.ebiz.ManagerHome must extend the javax.ejb.EJBHome interface.
ERROR: ejbc found errors
Thanks
AmitIf you are looking a local interface up through JNDI, try using the "java:comp/env" namespace. Also, if you post these questions here about EJB, say what vendor you are using because this stuff is pretty new and there will be differences/bugs/etc.
-
Dear All
I am getting the below error while activating the sap Fiori applications
Task Facade not implemented for provider. [/IWBEP/CX_MGW_TECH_EXCEPTION] (error).
I have applied all suggestions in my new fiori system from Masayuki Sekihara posted on his post.
but still I am getting same error message.
I got below error message.
1) If I selected a EC6FIORI system alias to ZTASKPROCESSING services then i got below error message.
Task Facade not implemented for provider.
Task Facade not implemented for provider. [/IWBEP/CX_MGW_TECH_EXCEPTION] (error).
2) some time I got different error message if I selected FIORI system alias to ZTASKPROCESSING.
I have shared below my system Support Package level and all configurations.
Component
Release
SP-Level
Support Package
Short description of comment
SAP_BASIS
740
4
SAPKB74004
SAP Basis Component
SAP_ABA
740
4
SAPKA74004
Cross-Application Component
SAP_GWFND
740
6
SAPK-74006INSAPGWFND
SAP Gateway Foundation
SAP_UI
740
7
SAPK-74007INSAPUI
User Interface Technology
PI_BASIS
740
4
SAPK-74004INPIBASIS
Basis Plug-In
ST-PI
2008_1_700
8
SAPKITLRD8
SAP Solution Tools Plug-In
SAP_BW
740
4
SAPKW74004
SAP Business Warehouse
IW_PGW
100
5
SAPK-10005INIWPGW
Process Gateway
MDG_FND
747
2
SAPK-74702INMDGFND
MDG Foundation
SAP_AP
700
30
SAPKNA7030
SAP Application Platform
SAP_BS_FND
747
2
SAPK-74702INSAPBSFND
SAP Business Suite Foundation
WEBCUIF
747
2
SAPK-74702INWEBCUIF
SAP Web UI Framework
MDG_APPL
617
2
SAPK-61702INMDGAPPL
MDG Applications
SAP_APPL
617
2
SAPKH61702
Logistics and Accounting
SAP_FIN
617
2
SAPK-61702INSAPFIN
SAP_FIN
SAP_HR
604
66
SAPKE60466
Human Resources
SAP_HRCAR
604
66
SAPK-60466INSAPHRCAR
Sub component SAP_HRCAR of SAP_HR
SAP_HRCAT
604
66
SAPK-60466INSAPHRCAT
Sub component SAP_HRCAT of SAP_HR
SAP_HRCAU
604
66
SAPK-60466INSAPHRCAU
Sub component SAP_HRCAU of SAP_HR
SAP_HRCBE
604
66
SAPK-60466INSAPHRCBE
Sub component SAP_HRCBE of SAP_HR
SAP_HRCBR
604
66
SAPK-60466INSAPHRCBR
Sub component SAP_HRCBR of SAP_HR
SAP_HRCCA
604
66
SAPK-60466INSAPHRCCA
Sub component SAP_HRCCA of SAP_HR
SAP_HRCCH
604
66
SAPK-60466INSAPHRCCH
Sub component SAP_HRCCH of SAP_HR
SAP_HRCCL
604
66
SAPK-60466INSAPHRCCL
Sub component SAP_HRCCL of SAP_HR
SAP_HRCCN
604
66
SAPK-60466INSAPHRCCN
Sub component SAP_HRCCN of SAP_HR
SAP_HRCDE
604
66
SAPK-60466INSAPHRCDE
Sub component SAP_HRCDE of SAP_HR
SAP_HRCDK
604
66
SAPK-60466INSAPHRCDK
Sub component SAP_HRCDK of SAP_HR
SAP_HRCES
604
66
SAPK-60466INSAPHRCES
Sub component SAP_HRCES of SAP_HR
SAP_HRCFI
604
66
SAPK-60466INSAPHRCFI
Sub component SAP_HRCFI of SAP_HR
SAP_HRCFR
604
66
SAPK-60466INSAPHRCFR
Sub component SAP_HRCFR of SAP_HR
SAP_HRCGB
604
66
SAPK-60466INSAPHRCGB
Sub component SAP_HRCGB of SAP_HR
SAP_HRCHK
604
66
SAPK-60466INSAPHRCHK
Sub component SAP_HRCHK of SAP_HR
SAP_HRCID
604
66
SAPK-60466INSAPHRCID
Sub component SAP_HRCID of SAP_HR
SAP_HRCIE
604
66
SAPK-60466INSAPHRCIE
Sub component SAP_HRCIE of SAP_HR
SAP_HRCIN
604
66
SAPK-60466INSAPHRCIN
Sub component SAP_HRCIN of SAP_HR
SAP_HRCIT
604
66
SAPK-60466INSAPHRCIT
Sub component SAP_HRCIT of SAP_HR
SAP_HRCJP
604
66
SAPK-60466INSAPHRCJP
Sub component SAP_HRCJP of SAP_HR
SAP_HRCKR
604
66
SAPK-60466INSAPHRCKR
Sub component SAP_HRCKR of SAP_HR
SAP_HRCKW
604
66
SAPK-60466INSAPHRCKW
Sub component SAP_HRCKW of SAP_HR
SAP_HRCMX
604
66
SAPK-60466INSAPHRCMX
Sub component SAP_HRCMX of SAP_HR
SAP_HRCMY
604
66
SAPK-60466INSAPHRCMY
Sub component SAP_HRCMY of SAP_HR
SAP_HRCNL
604
66
SAPK-60466INSAPHRCNL
Sub component SAP_HRCNL of SAP_HR
SAP_HRCNO
604
66
SAPK-60466INSAPHRCNO
Sub component SAP_HRCNO of SAP_HR
SAP_HRCNZ
604
66
SAPK-60466INSAPHRCNZ
Sub component SAP_HRCNZ of SAP_HR
SAP_HRCPH
604
66
SAPK-60466INSAPHRCPH
Sub component SAP_HRCPH of SAP_HR
SAP_HRCPT
604
66
SAPK-60466INSAPHRCPT
Sub component SAP_HRCPT of SAP_HR
SAP_HRCQA
604
66
SAPK-60466INSAPHRCQA
Sub component SAP_HRCQA of SAP_HR
SAP_HRCRU
604
66
SAPK-60466INSAPHRCRU
Sub component SAP_HRCRU of SAP_HR
SAP_HRCSE
604
66
SAPK-60466INSAPHRCSE
Sub component SAP_HRCSE of SAP_HR
SAP_HRCSG
604
66
SAPK-60466INSAPHRCSG
Sub component SAP_HRCSG of SAP_HR
SAP_HRCTH
604
66
SAPK-60466INSAPHRCTH
Sub component SAP_HRCTH of SAP_HR
SAP_HRCTW
604
66
SAPK-60466INSAPHRCTW
Sub component SAP_HRCTW of SAP_HR
SAP_HRCUN
604
66
SAPK-60466INSAPHRCUN
Sub component SAP_HRCUN of SAP_HR
SAP_HRCUS
604
66
SAPK-60466INSAPHRCUS
Sub component SAP_HRCUS of SAP_HR
SAP_HRCVE
604
66
SAPK-60466INSAPHRCVE
Sub component SAP_HRCVE of SAP_HR
SAP_HRCZA
604
66
SAPK-60466INSAPHRCZA
Sub component SAP_HRCZA of SAP_HR
SAP_HRGXX
604
66
SAPK-60466INSAPHRGXX
Sub component SAP_HRGXX of SAP_HR
SAP_HRRXX
604
66
SAPK-60466INSAPHRRXX
Sub component SAP_HRRXX of SAP_HR
EA-IPPE
400
24
SAPKGPID24
SAP iPPE
EA-APPL
617
2
SAPK-61702INEAAPPL
SAP Enterprise Extension PLM, SCM, Financials
EA-DFPS
600
24
SAPKGPDD24
SAP Enterprise Extension Defense Forces & Public Security
EA-FIN
617
2
SAPK-61702INEAFIN
EA-FIN
EA-FINSERV
600
25
SAPKGPFD25
SAP Enterprise Extension Financial Services
EA-GLTRADE
600
24
SAPKGPGD24
SAP Enterprise Extension Global Trade
EA-HR
607
17
SAPK-60717INEAHR
SAP Enterprise Extension HR
EA-HRCAR
607
17
SAPK-60717INEAHRCAR
Sub component EA-HRCAR of EA-HR
EA-HRCAT
607
17
SAPK-60717INEAHRCAT
Sub component EA-HRCAT of EA-HR
EA-HRCAU
607
17
SAPK-60717INEAHRCAU
Sub component EA-HRCAU of EA-HR
EA-HRCBE
607
17
SAPK-60717INEAHRCBE
Sub component EA-HRCBE of EA-HR
EA-HRCBR
607
17
SAPK-60717INEAHRCBR
Sub component EA-HRCBR of EA-HR
EA-HRCCA
607
17
SAPK-60717INEAHRCCA
Sub component EA-HRCCA of EA-HR
EA-HRCCH
607
17
SAPK-60717INEAHRCCH
Sub component EA-HRCCH of EA-HR
EA-HRCCL
607
17
SAPK-60717INEAHRCCL
Sub component EA-HRCCL of EA-HR
EA-HRCCN
607
17
SAPK-60717INEAHRCCN
Sub component EA-HRCCN of EA-HR
EA-HRCDE
607
17
SAPK-60717INEAHRCDE
Sub component EA-HRCDE of EA-HR
EA-HRCDK
607
17
SAPK-60717INEAHRCDK
Sub component EA-HRCDK of EA-HR
EA-HRCES
607
17
SAPK-60717INEAHRCES
Sub component EA-HRCES of EA-HR
EA-HRCFI
607
17
SAPK-60717INEAHRCFI
Sub component EA-HRCFI of EA-HR
EA-HRCFR
607
17
SAPK-60717INEAHRCFR
Sub component EA-HRCFR of EA-HR
EA-HRCGB
607
17
SAPK-60717INEAHRCGB
Sub component EA-HRCGB of EA-HR
EA-HRCHK
607
17
SAPK-60717INEAHRCHK
Sub component EA-HRCHK of EA-HR
EA-HRCID
607
17
SAPK-60717INEAHRCID
Sub component EA-HRCID of EA-HR
EA-HRCIE
607
17
SAPK-60717INEAHRCIE
Sub component EA-HRCIE of EA-HR
EA-HRCIN
607
17
SAPK-60717INEAHRCIN
Sub component EA-HRCIN of EA-HR
EA-HRCIT
607
17
SAPK-60717INEAHRCIT
Sub component EA-HRCIT of EA-HR
EA-HRCJP
607
17
SAPK-60717INEAHRCJP
Sub component EA-HRCJP of EA-HR
EA-HRCKR
607
17
SAPK-60717INEAHRCKR
Sub component EA-HRCKR of EA-HR
EA-HRCKW
607
17
SAPK-60717INEAHRCKW
Sub component EA-HRCKW of EA-HR
EA-HRCMX
607
17
SAPK-60717INEAHRCMX
Sub component EA-HRCMX of EA-HR
EA-HRCMY
607
17
SAPK-60717INEAHRCMY
Sub component EA-HRCMY of EA-HR
EA-HRCNL
607
17
SAPK-60717INEAHRCNL
Sub component EA-HRCNL of EA-HR
EA-HRCNO
607
17
SAPK-60717INEAHRCNO
Sub component EA-HRCNO of EA-HR
EA-HRCNZ
607
17
SAPK-60717INEAHRCNZ
Sub component EA-HRCNZ of EA-HR
EA-HRCPH
607
17
SAPK-60717INEAHRCPH
Sub component EA-HRCPH of EA-HR
EA-HRCPT
607
17
SAPK-60717INEAHRCPT
Sub component EA-HRCPT of EA-HR
EA-HRCQA
607
17
SAPK-60717INEAHRCQA
Sub component EA-HRCQA of EA-HR
EA-HRCRU
607
17
SAPK-60717INEAHRCRU
Sub component EA-HRCRU of EA-HR
EA-HRCSE
607
17
SAPK-60717INEAHRCSE
Sub component EA-HRCSE of EA-HR
EA-HRCSG
607
17
SAPK-60717INEAHRCSG
Sub component EA-HRCSG of EA-HR
EA-HRCTH
607
17
SAPK-60717INEAHRCTH
Sub component EA-HRCTH of EA-HR
EA-HRCTW
607
17
SAPK-60717INEAHRCTW
Sub component EA-HRCTW of EA-HR
EA-HRCUN
607
17
SAPK-60717INEAHRCUN
Sub component EA-HRCUN of EA-HR
EA-HRCUS
607
17
SAPK-60717INEAHRCUS
Sub component EA-HRCUS of EA-HR
EA-HRCVE
607
17
SAPK-60717INEAHRCVE
Sub component EA-HRCVE of EA-HR
EA-HRCZA
607
17
SAPK-60717INEAHRCZA
Sub component EA-HRCZA of EA-HR
EA-HRGXX
607
17
SAPK-60717INEAHRGXX
Sub component EA-HRGXX of EA-HR
EA-HRRXX
607
17
SAPK-60717INEAHRRXX
Sub component EA-HRRXX of EA-HR
EA-PS
600
24
SAPKGPPD24
SAP Enterprise Extension Public Services
EA-RETAIL
600
24
SAPKGPRD24
SAP Enterprise Extension Retail
FINBASIS
600
24
SAPK-60024INFINBASIS
Fin. Basis
ECC-DIMP
600
23
SAPK-60023INECCDIMP
DIMP
ERECRUIT
600
24
SAPK-60024INERECRUIT
E-Recruiting
FI-CA
600
23
SAPK-60023INFICA
FI-CA
FI-CAX
600
23
SAPK-60023INFICAX
FI-CA Extended
HR-CEE
110_604
52
SAPK-60452INHRCEE
HR country version for CEE countries
HR-CEECBG
110_604
52
SAPK-60452INHRCEECBG
Sub component HR-CEECBG of HR-CEE
HR-CEECCO
110_604
52
SAPK-60452INHRCEECCO
Sub component HR-CEECCO of HR-CEE
HR-CEECCZ
110_604
52
SAPK-60452INHRCEECCZ
Sub component HR-CEECCZ of HR-CEE
HR-CEECGR
110_604
52
SAPK-60452INHRCEECGR
Sub component HR-CEECGR of HR-CEE
HR-CEECHR
110_604
52
SAPK-60452INHRCEECHR
Sub component HR-CEECHR of HR-CEE
HR-CEECHU
110_604
52
SAPK-60452INHRCEECHU
Sub component HR-CEECHU of HR-CEE
HR-CEECPL
110_604
52
SAPK-60452INHRCEECPL
Sub component HR-CEECPL of HR-CEE
HR-CEECRO
110_604
52
SAPK-60452INHRCEECRO
Sub component HR-CEECRO of HR-CEE
HR-CEECSI
110_604
52
SAPK-60452INHRCEECSI
Sub component HR-CEECSI of HR-CEE
HR-CEECSK
110_604
52
SAPK-60452INHRCEECSK
Sub component HR-CEECSK of HR-CEE
HR-CEECTR
110_604
52
SAPK-60452INHRCEECTR
Sub component HR-CEECTR of HR-CEE
HR-CEECUA
110_604
52
SAPK-60452INHRCEECUA
Sub component HR-CEECUA of HR-CEE
HR-CEEGXX
110_604
0
Sub component HR-CEEGXX of HR-CEE
HR-CEERXX
110_604
0
Sub component HR-CEERXX of HR-CEE
INSURANCE
600
23
SAPK-60023ININSURANC
SAP Insurance
IS-CWM
600
23
SAPK-60023INISCWM
Industry Solution Catch Weight Management
IS-H
600
34
SAPK-60034INISH
SAP Healthcare
IS-M
600
23
SAPK-60023INISM
SAP MEDIA
IS-OIL
600
23
SAPK-60023INISOIL
IS-OIL
IS-PS-CA
600
23
SAPK-60023INISPSCA
IS-PUBLIC SECTOR CONTRACT ACCOUNTING
IS-UT
600
23
SAPK-60023INISUT
SAP Utilities/Telecommunication
LSOFE
600
24
SAPK-60024INLSOFE
SAP Learning Solution Front-End
SEM-BW
600
24
SAPKGS6024
SEM-BW: Strategic Enterprise Management
GBAPP002
600
4
SAPK-60004INGBAPP002
GBAPP002
GBHCM002
600
11
SAPK-60011INGBHCM002
HCM Employee Requests (Leave)
GBHCM003
600
9
SAPK-60009INGBHCM003
HCM Manager Approvals (Time, Training, L
SRA002
600
3
SAPK-60003INSRA002
Time Recording OData Integration Compone
SRA010
600
3
SAPK-60003INSRA010
Staffing List OData Integration Componen
SRA017
600
3
SAPK-60003INSRA017
Create Purchase Order OData Integration
SRA018
600
3
SAPK-60003INSRA018
Purchase Order Status Tracking OData Int
UIAPP001
100
4
SAPK-10004INUIAPP001
UIAPP001 100: Add-On Installation
UIAPP002
100
3
SAPK-10003INUIAPP002
UIAPP002 100: Add-On Installation
UIGIB001
100
4
SAPK-10004INUIGIB001
UIGIB001 100: Add-On Installation
UIHCM002
100
4
SAPK-10004INUIHCM002
UIHCM002 100: Add-On Installation
UIHCM003
100
4
SAPK-10004INUIHCM003
UIHCM003 100: Add-On Installation
UISRA002
100
3
SAPK-10003INUISRA002
HTML5 Time Recording
UISRA010
100
3
SAPK-10003INUISRA010
HTML5 Staffing List
UISRA017
100
3
SAPK-10003INUISRA017
HTML5 Create Order
UISRA018
100
3
SAPK-10003INUISRA018
HTML5 Order Status Tracking
please help me to resolve that issue
Regards
Pankaj KambleHi Team,
i have created new post.
SAP Fiori getting error message Check the URL parameters and the scenario definition. To check the scenario definition.
Scenario definition configuration screen short.
2) Also getting bellow error message
Property TaskDefinitionID not found in type WorkflowTask
Did not find error details
{"error":{"code":"005056A509B11EE1B9A8FEA8DE87F78E","message":{"lang":"en","value":"Property TaskDefinitionID not found in type WorkflowTask"},"innererror":{"transactionid":"E6A9CEE388D3F1EC940400155DC8D41B","timestamp":"20140428075136.7780000","Error_Resolution":{"SAP_Transaction":"Run transaction /IWFND/ERROR_LOG on SAP NW Gateway hub system and search for entries with the timestamp above for more details","SAP_Note":"See SAP Note 1797736 for error analysis (https://service.sap.com/sap/support/notes/1797736)"}}}}
Regards
Pankaj Kamble -
Regarding ENTITY bean local interfaces
Hi all,
I have a component session bean - containing a number of service methods for creating, retrieving, updating & deleting instances of a related entity bean. This session bean is used by another session facade bean, which invokes the various service methods in some sequence to complete a major task.
In the component session bean, the retireve methods return the local interface of the entity bean - on which it operates. The update methods accespt local interfaces of entity bean which can be directly updated.
My question is : Is it a right approach to pass the entity bean instances between method calls.
Thanks in advance,
BaskarYour pointers regarding pt 2 was nice. Thanks.
This being my first J2ee design, I'am just collecting as much information as possible to stay confident.
Later, I started thinking a bit more regarding pt 1.
Where, I decided using individual session beans for different components(representing unique functionalities).
i.e,, I'am just thinking, should I use individual session beans for each of these different components.
What if I use standard java classes - implementing pre-defined interfaces for each of these components & use the components through these interfaces in session facade.
Now, I'll be using entity bean creates/retrieves/updates/deletes from inside normal java classes.
I thought, this would obviate the need for JNDI lookups - each time I want to use the components in my session facade.
But, I'am not sure of where this will impact..As far as I can visualize, this seems to be normal. Please share ...your thoughts regarding this. (something regarding transactions ??) -
We have the following scenario:
There is a Service Object that acts as a Facade (Facade pattern) for 3
manager classes that implement some business functions. Each of these three
managers are stored as private attributes on this Service Object.
For the sake of flexibility, these three private attributes are defined by
their Interface, not their class. When the Service Object opens an Event
Loop and registers for the events of one of these interfaces, the whole
partition crashes. Even when using the running man in the development
workshop, the whole partition crashes. The only way to fix that is to cast
the Interface to a class that implements the interface before registering
for the event.
I know it's possible to register for events using an Interface that contains
these events, rather then a class that implements the events. Of course, at
runtime you do need a real instance of a class that implements the
interface, otherwise you get a NIL-exception.
Does anyone have any experience registering for events from Interfaces? Are
there unexpected circumstances where it should work semantically, but still
causes Forte to crash. We're using Forte 3.j.1 on NT 4.0 SP 6.
Any help is appreciated.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.chWe have the following scenario:
There is a Service Object that acts as a Facade (Facade pattern) for 3
manager classes that implement some business functions. Each of these three
managers are stored as private attributes on this Service Object.
For the sake of flexibility, these three private attributes are defined by
their Interface, not their class. When the Service Object opens an Event
Loop and registers for the events of one of these interfaces, the whole
partition crashes. Even when using the running man in the development
workshop, the whole partition crashes. The only way to fix that is to cast
the Interface to a class that implements the interface before registering
for the event.
I know it's possible to register for events using an Interface that contains
these events, rather then a class that implements the events. Of course, at
runtime you do need a real instance of a class that implements the
interface, otherwise you get a NIL-exception.
Does anyone have any experience registering for events from Interfaces? Are
there unexpected circumstances where it should work semantically, but still
causes Forte to crash. We're using Forte 3.j.1 on NT 4.0 SP 6.
Any help is appreciated.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch -
Implementing DOM Interface with existing Java classes
I had planned on using some tree-like Java classes as a Document Object Model, which would give me access to all sorts of XML and DOM tools like parsers and XSLT transformers. Initially, I thought all that would be neccessary is to implement all the DOM Interfaces in org.w3c.dom and then I would have a set of classes that conformed to DOM Level 1. It was my understanding that interfaces such as DOMImplementation and Document would interface with various XML tools, allowing creation of a class that implements Document and then Document would have its various factory methods that know how to create the various DOM nodes such as Element, Attr, Text, NamedNodeMap, NodeList, etc.
The problem I'm seeing now is that the JAXP specification (which is what the latest Xerces and Xalan tools conform to) has something called a DocumentBuilder and DocumentBuilderFactory that appear to be necessary to tell the framework what type of class to instantiate that implements the Document DOM interface. Those appear to have a lot of methods that deal with parsing of XML documents and I didn't really want to write or even subclass any existing Parsers in order to get the functionality of traversing and transforming a set of classes that implement the DOM interface.
Am I missing something here? Is it possible to plug in any (set of classes for) DOMImplementation and get them to work with the various DOM and XML tools out there?
Is there an easier way to allow parts of an application access to internal data structures but have the more generic tools or APIs, such as XSL transformers, access that same set of classes as a DOM with the generic DOM interface methods?
Can someone provide me with some guidance here? I'm in the process of finalizing some design on a system and need to know if this is possible or if I need to alter my design.
Thanks.If I understand you correctly, I think I am working on a similar issue. I am unhappy with the methods given by the DOM for retrieving data from the XML file and for building a file. Our software has a bunch of code that uses these classes and it is extremely ugly. My solution was to create a facade on top of the DOM model. Essentially I have some simple classes that store all the pertinent info (for me) about the XML structure. Essentially that is the element or attribute name, its values and in the case of the element, it's children. This makes it easier for me to build and retreive the data. What I then built was a loader class and a builder class. The loader takes an XML file and parses it in using the DOM classes and builds a structure using my classes and returns the root element. The builder takes a root element and creates a DOM object out of it. This frees me of having to code around the DOM classes all over the place and makes it simple to upgrade our XML code if the DOM changes or a better DOM is released. I am using factories to facilitate this and allow me to have loaders for specific types of XML documents so that I can have a class for each which further simplifies the XML related tasks of other developers on my team.
Maybe you are looking for
-
At the end of my rope with recent upgrade
I just bought the recent upgrade it's 2.0.1. Anyways before I bought it and updated my ipod everything worked perfect. My favorite thing to do was sit outside on the ipod surfing the net. Well now that I updated it I can not get online. I can connect
-
Setting a default location of the 'Save As' dialog box
I know this is an unusual question, but I do a lot of file-naming at work with Adobe Standard and it would help me if I could set a default location of the 'Save As' dialog box -- say, by dragging it to the corner of the screen so that the next time
-
Adobe Reader, X Standard and X Pro 64 bits version
Hi, I would like to ask a quick question. Do we have 64 bits version for Adobe Acrobat Reader, X Standard and X Pro? Thanks,
-
Opening my Photoshop Elements 11 does not work. I always get following message: "Could not open a volume of work, because the file is locked or you do not have the required permissions. Undo the protection of the file on using the command 'Properties
-
Hello, I'm A Young Teen And I Wanted To Get Jelly Bean Stock On My Phone.. I Flashed CM10 Boot.img and got An Xperia play Recovery (BY ACCIDENT) and Flashed It, My Phone Would Work In Fast Boot, I then Had To Go Out. I Came Back And My Phone Didn't W