Is creating an entity object expensive for wrapping search values..

I am trying to create a very robust generic method that searches for entities that match the fields according to a enum of search types.
The easiest way I find is to wrap all the values into an instance of the entity class so that testing can be done on field values expected to be present.
So the question is if creating an entity object for the sole purpose of wrapping search values is considered expensive?

yawmark wrote:
User has the ability to search for a number by simply providing a number and then choosing to find all numbers that match, or especifically just a home, work or cell number that match.That requirement doesn't make any sense to me. Can you please elaborate on that use case? I understand phone number reverse look-ups, but those are typically looking for a person or business. One typically wouldn't search for a number by providing a matching number.
~But one could...
I think a point is being missed here and therefore I need to discuss a new design pattern I am using...
1) I create a entity class as per usual but I break a o-o rule with encapsulation. All of my fields are protected and not private. This allows me to create a subclass of the entity and inherit the members so that they can be used for the function of this class. The sole purpose of this subclass is to put an o-o framework around a String[] of search criteria provided according to the type of search to be done.
2) The method in my interface for finding is now extremely robust and is defined as follows...
@Local
public interface DBLocal<Entity, RecNo, T extends  Entity> {
     * Retuns a List of all {@code <Entity>} records that match the search
     * criteria based on the type of search.
     * @param entitySub the entity subclass object that contains the values
     * to be used in searching. These values <b>must</b> be in
     * the correct fields in order for the search to be accurate. Eg: If a
     * request is done to search for all records that have names that match
     * according to a persons name, then a <code>getName()</code> method on
     * the {@code entity} subclass would be expected to
     * <ol>
     * <li> not return null
     * </li>
     * <li> Return the value "Tom" if the user wishes to find all records
     * that have the name "Tom".
     * </ol>
     * @param typeOfSearch the <code>SearchType</code> that is to be done.
     * @return a List of all {@code <Entity>} records that match the search
     * criteria based on the type of search.
     * @see phonebook.util.SearchType
     * @throws IllegalArgumentException if the search criteria provided is
     * incorrect for the type of search requested.
     * @throws DataAccessException if an underlying error causes the search to
     * fail.
    public List findBySearchType(T entitySub, SearchType typeOfSearch)
            throws DataAccessException;As you can see I am aiming for an interface that I can use as a utility class. Type T is a subclass of the entity that this interface is mostly being used for and will always be a subclass created specifically to hold the search data. The SearchType is an enum that contains an enumeration of the search types allowed.
Yes it may not be normal to provide a phone number and then search but I have seen this functionality where one can go online and do a search based solely on the number entered. Anyway I thing I found a design that is reusable now and my problem is solved.
Many thanks
Yucca
Edited by: Yucca on Jul 17, 2009 8:33 PM

Similar Messages

  • Creating custom BOL object model for adding Search Parameter

    Hi friends
    Can any one guide me the steps through which i can add the new field in the search criteria by using the creation of custom BOL object model in Interaction Center Web Client.
    That will be a grate help for me.
    Regards
    Pulkit
    Message was edited by:
            Pulkit Agrawal

    Hi!
    For maintaining CRMC_OBJECTS table you should use view CRMV_OBJECTS. (in transaction SM30).
    Regards,
    Alejandro.

  • Error while creating new entity object.

    Hi all
    I'm using Jdev 11.1.1.3. I want to create an entity object and Jdev issues an information error saying "Either this is not a valid name or an object with that name already exists."
    I found that if the package I'm targeting for the new entity is called "com.test.model.whatever" I cannot create a EO called "Whatever".
    I can't find any reference in the fusion developer guide that constraints the entity names to be allowed.
    Is there a way to circumvent this issue or is this the way it should be?

    Sudipto and Suresh, thank you very much for your replies.
    I know that changing the package or entity name would work, but was expecting some other kind of workaround, something like giving a full qualified name on some xml or something to avoid the name clash or whatever the problem is.
    I do not like packing all the entities together as it goes against my best practice of packing things that change together on the same package. Also I don't like suffix or prefix class names as it goes against my best practice of short descriptive names.
    So well, I will have to tinker the names some more and meet you guys half way.
    I will now mark this thread as answered, thanks again.

  • How can we create an entity object using multiple tables?

    Hi All,
    I'm a newbie to OAF.
    I'm trying to create a simple page using OAF.
    While creating Entity object, there is an option to add the database objects from which we can create our Entity Object.
    There we can enter only one database object.
    If suppose I need to create a Entity object by using mutiple data base objects, how can I add other database objects?
    Is there any option for multiple selection of database objects there?
    Thanks in Advance

    User,
    a). You should use the [url http://forums.oracle.com/forums/forum.jspa?forumID=210]OA Framework Forum for this question.
    b). Entity objects always correspond to a single table. I think you want to create a View object instead.
    c). Really, you want to be using the OA Framework forum.
    John

  • Entity Object validation for "Date" type

    I am trying to use the Entity Object validation for a Date field type, it is a required field.
    I am using the format: MM/dd/yy HH:mm:ss
    It is a simple validation where the date value must be less than or equal to the current date/time.
    I tried using "Query Result" validation where the date is LESS THAN the query SELECT SYSDATE FROM dual.
    This throws an error:
    JBO-27011: Attribute set with value 2006-07-09 14:05:53.0 for LksrSurveyDte in LCFSReportService.LeakDetailView1 failed.
    I have be unable to find help on validating dates using validation for an Entity Object and need some help.
    Thanks in advance.

    In your case you can implement a service method in the VO to check if any other reservation overlaps with the new one (which is not inserted in the db).
    I would use a an other VO (e.g. VODateCheck) for this. This VO has it's query build to check if a given roomid and a given startdate(time?) overlaps any other record for the roomid
    select * from ReservationRoom where RoomId=:bindRoomId and ReservationEnd>=:bindReservationStartIf this query returns one or more rows you have an overlapping in the schedule and throw an error.
    You call this VODateCheck from your service method in the other module before inserting the record. Set the bind variables in the VODateCheck and execute the query.
    Timo

  • How to create a Generic Object Services for a standard tcode.

    Hi,
    We have a requirement where we are depreciating the assets (standard transaction ABAA) using a custom BDC program. We need to maintain a history (called audit trail) for the particular asset that has been depreciated using this program. For this audit train we have been asked to use "Generic Object Services" in transaction code ABAA.
    Unfortunately, Generic object services are not available in this transaction code. Can you please suggest me how to create "Generic Object Services" for a particular standard transaction code. Also, we have show the details of custom workflow that follows the approval process in order to depreciate the asset. how to show this workflow details using Generic Services. This is a very critical issue, any help will be very help ful.
    Please let me know should you require more information on this topic.
    Thanks,
    Ashish

    Instead of copyg the std fm to z, do the following,
    1. Go to se37 open FM VIEW_KURGV in display mode.
    2. Click on the spiral icon on the top.
    3. Then in menu go edit->enhancment options -> show implicit enhancement
    4. """""""""""""""""""""" kind of lines will appear in the cde, just rt click on the line at the place u want to insert the code and select
         enhancement implementation create.
    5. Give apropriate name for thi , it will inset a n place to write your code.
    This is an std sap methodology and is supported in upgradde also.

  • Create a entity object myself in a Parent class

    1) I made 2 tables, a parent and a child.
    2) I created entity classes out of them, and an association.
    Now I want a method in the parent-class, where I create a child, belonging to the parent. How do I do that? I see no constructor, just a Create(), but what do I fill in for the attributelist, I guess the attributes :-) but how do these two objects reference to each other?
    So I'm looking for something like this code in the Parent class:
    public void addChild(String NameChild)
    Child.create(NameChild, This)
    Is this correct? Or not?
    null

    Are you looking for a Composition ie "Child" should be contained in a "Parent"?

  • How to create Entity object for Non Database Object.

    Friends,
    I have a requirement something like, I will be getting some huge amount of data from external system via CORBA, I have to display the data in jsff page in <af:table>. My requirement is If User updates any of the row I need to identify what are all the rows user updated and Need to invoke again a CORBA call for only UPDATED Rows.
    Basically here, I am not dealing anything with the Database, I assume using Entity we can find out a status of the row whether the row is updated/deleted/created .
    How can I create an Entity object in this case.
    Any help will be highly appreciated !!!
    Thanks

    The basics steps are described here http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcadveo.htm#sm0328
    and here http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcadvvo.htm#sm0341
    You need to change the underlying data source from pl/sql to meet your requirements (CORBA).
    Timo

  • Unable to create Entity objects for tables in TimesTen database using ADF

    Hi,
    I am not able to create Entity and View objects for tables in TimesTen database using ADF. I have installed TimesTen client on my machine.
    I have created a database connection by using connection type as "Generic JDBC" and giving driver class and JDBC URL. I am attaching screen shot of the same.
    I am right clicking on Model project and selecting New option after that I am selecting ADF Business components and in it I am selecting Business components from tables and there I am querying for tables.I am getting list of tables and when I am trying to create a Entity object from the table after clicking finish Jdev is closing by itself giving an error.
    Can anyone please help me how to create Entity objects for tables using TimesTen as database.I might be missing some jars or the way I am creating connection might be wrong or any plugins required to connect to TimesTen.

    What is the actual error being given by Jdev? Are you sure that the JDBC connection is using the TimesTen JDBC driver JAR and not some other JDBC driver or the Generic JDBC/ODBC bridge?
    Is ADF even supported with TimesTen?
    Chris

  • Unable to create entity object in JDev 10.1.3(R12)

    Hi,
    I am Unable to create entity object in JDev 10.1.3(R12).Everything else works fine but not the EO creation.THe option for selecting table,synonym are disabled when I try to create new entity object.
    Please let me know if you any of you had the same problem and resolved it.
    Regards
    Sudhakar

    Sudhakar,
    The (R12) in the thread subject line leads me to believe that you are asking this question in the wrong forum. OA Framework has its own [url http://forums.oracle.com/forums/forum.jspa?forumID=210]forum that you should use.
    Best,
    John

  • Creating Entity Object from Service Interface - JDeveloper version 11.1.1.3

    In our project, we don't intend to have any JDBC connection to a database and want to create all my entity objects using SDO web services deployed in a remote server. I could create an entity object based on a SDO web service deployed in the standalone WL server successfully. But at the time of Development,when I select ADF Business Component --> Entity Object, it always takes to a screen that prompts for a JDBC connection, if you have no connection defined in the project yet. To bypass this, I need to create a valid connection to a local DB and then I can go the next page that prompts me to to choose service interface and asks for a WSDL URL. How do I get around creating a JDBC connection and create a service interface based data source directly?
    To get around this issue, I created a connection to a local DB by providing a wrong password to make sure that we don't need a valid db connection. The application module (Business Component Browser) works fine when the DB connection is broken. But when I create a JSF page and put the data control there, if we don't have the DB connection established it gives error during deployment.I tried deleting the unused connection, but that gives a lot of errors during deployment. My question is;
    1. How can I create a service interface based data source by-passing the requirement for a connection?
    2. If that's not possible - how can I cleanly delete the JDBC connection and all it's dependencies, so that, it deploys and runs without error

    Frank,
    Thanks for your response.
    I have made some progress in last two days and solved some of the original issues. I deleted the fake JDBC connection from connection.xml that I had to use to go to the second screen that lets me select the WSDL for the service interface. After that, I checked off the "Auto Generate and Synchronize ..." option from Application --> Application Properties --> Deployment. (thanks to Steve Muench's blog post on this subject). After that, I could deploy the JSF page and the page shows up with no problem.
    However, when I try to run the App Module that was created from the WSDL (service interface), it brings up a pop-up with heading "Password Required" that says "Enter the password for" and asks for a user name and password (not sure what they are as they take any value and takes me to the next screen). After that, I can open the View and navigate through it. When i change some data and try to commit - it makes the change to the data and stores in the DB but gives an error saying "(oracle.jbo.NotConnectedException) JBO-25200: Application module is not connected to a database."
    Also, the data control created from the service interface had operations called Commit and Rollback. I used the Commit on JSF page and that does the exact same thing too. Any idea?
    Also - when we consume a SDO WSDL to create the entity object - how can we access the SOAP Request and Response objects? We have to implement WS-Security by instrumenting the SOAP header and need to get a handle on that. Is there a mechanism similar to JAX-WS handler framework for SDO?
    R,
    Chandan

  • How to create entity object (Business Component) using service interface

    Hi,
    I have tried to create one entity object (ADF Business Component) in JDeveloper 11g using service interface option instead of database schema but getting Failed to read service WSDL URL: http://....?wsdl message.
    I have tried with axis default service Admin & Version wsdl and got same error message.
    Regards,
    Devang

    Hi,
    +"Oracle ADF Business Components application modules offer built-in support for web services and for publishing rows of view object data as service data objects (SDOs). This means that you can use an application module both as a local component and as a remotely accessible service, thereby using the same component to support interactive web user interfaces and web service clients. Entity objects that you create in your local Business Components project can utilize SDOs that the service-enabled application module exposes on its service interface."+
    This means that you don't use Axis services but ADF Business Components Services. I am not sure this functionality made it in Boxer, but surely will in the next
    Frank

  • How to create Entity Object when connecting JavaDB in Jdev 11g

    I use Jdev 11g to connect JavaDB. When I use the BC4J wizard to create EO and VO, I only can see VO, the EO is empty.
    any ideas?
    Thanks

    In the Application Navigator, right-click the project in which you want to create the entity object and choose New.
    In the New Gallery, expand Business Tier, select ADF Business Components and then Entity Object, and click OK.
    If this is the first component you're creating in the project, the Initialize Business Components Project dialog appears to allow you to select a database connection.
    In the Initialize Business Components Project dialog, select the database connection or choose New to create a connection. Click OK.
    On the Name page, do the following to create the entity object:
    Enter the package name in which the entity object will be created.
    Click Browse (next to the Schema Object field) to select the table for which you want to create the entity object.
    Or, if you plan to create the table later, you can enter a name of a table that does not exist.
    If you manually entered a table name in the Schema Objects field, you will need to define each attribute on the Attributes page of the wizard. Click Next.
    When you are satisfied with the table object and its corresponding entity object name, click Finish

  • Create a business object for a Maintenance object

    Hello,
    I want to create a business object for a maintenance object to change all XML attributes to XML elements.
    Should I have to change the whole XML Schema from attributes to elements one by one?
    For example, I create the business object CM_Person_BO for the maintenance object Person, and use the business object to add user in a more standard way.
    But it is a quite large job to rewrite the whole schema for the maintenance object Person, which has following elements, which are PersonIdentifiers, PersonNames, PersonPhones, PersonCharacteristics, Person and SeasAddress.
    Is there any easy way to do it?
    Thanks,
    Kerr

    Should I have to change the whole XML Schema from attributes to elements one by one?
    Is there any easy way to do it?Unfortunately not, you will have to define the schema containing each field/element, once. The primary objective is that you should create a scaled down version of the BO having only the required fields or subset of available fields, you may not need all the fields of a MO. This increases performance as the IO is performed only for specified fields in the BO.
    You can define separate Data Areas for each Person object's context, i.e. Identifiers, Names, Phones, etc. and include them (includeDA) within the Person BO (CM_Person_BO) for clarity.

  • Can we create entity object based on a text file on the OS?

    I understand you can interface with files using webDAV. Can we just create a entity object with source to a text/xml file on the OS instead of a table?

    Have a look at the URL data source (under new->business tier->web services) - it allows you to create a data control based on an XML or csv file.
    http://technology.amis.nl/blog/?p=1592
    You can also create a data control based on a Java class that interact with a file.

Maybe you are looking for

  • Bluetooth USB dongle stopped working

    I have an unbranded USB bluetooth dongle. I'm running osx 10.4.11 on a G4 Dual Optical. The dongle worked fine, plug and play and I have used it to Sync my Sony Ericsson mobile using iSync. I do not leave it plugged in as I use it on my work PC too.

  • What's the deal with the video format?

    Hello! What is the deal with the video format? Does it mean I have to code the videos for 640*480 ? It won't accept any other size? What size do I need to select for widescreen format? With Quicktime pro I've been able to encode videos with a very ni

  • IBook G4 and 10.4 or 10.5?

    I saw various topics on this, but couldn't find all the info I was looking for. I'm looking to upgrade the OS on my old iBook G4. It's a 1Ghz processor, has 640 SDRAM, and a 60 GB HDD. Are 10.4 or 10.5 a good idea on a system like this? Also I have 1

  • How to get music to play when i uses a slid show as my screen saver

    I created a slide show with music it works fine as a slide show. When I choose it to be my screensaver the music does not play. New to mac any help would be much appreciated.

  • Scan to PDF files

    Is there software available that will allow scanning to PDF files? This question was solved. View Solution.