Deprecation Question

I am very new at Java and was wondering if someone could give me some direction on this code sample. Ist probably something easy, but as I said I am very new.
import java.awt.*;
import java.applet.*;
public class Mystery5 extends Applet{
     Image Buffer;
     Graphics gBuffer;
public void init(){
     Buffer=createImage(size().width,size().height);
     gBuffer=Buffer.getGraphics();
     public boolean mouseDown(Event evt,int x,int y){
          drawRB(x,y);
          repaint();
          return true;
     public void drawRB(int x, int y){
     int red=(int)(Math.random()*255);
     int green=(int)(Math.random()*255);     
     int blue=(int)(Math.random()*255);
     Color randomColor=new Color(red,green,blue);
     gBuffer.setColor(randomColor);
     int diameter=(int)(Math.random()*90)+10;
     gBuffer.fillOval(x-diamter/2,y-diameter/2,diameter,diameter);
     public void update(Graphics g){
     paint(g);
     public void paint(Graphics g){
          gBuffer.setColor(Color.black);
          gBuffer.drawString("Click the applet to go!", 50,20);
          g.drawImage(Buffer,0,0,this);
the errors I get are :
When I compile I recieve these..
Mystery5.java uses or overrides a deprecated API.
recomplie with -deprecation for details
Mystery5.java:27: cannot resolve symbol
symbol: variable diameter
location: class Mystery5
gBuffer fill Oval(x-diamter/2,y-diameter/2,diameter,diamter);
^
Thank you very much

Sometimes you spell "diameter" as "diamter". While what you mean is obvious to us humans, the compiler is not as smart.
What comes to the use of deprecated API, don't worry about it (yet). The warning only says that you are doing something that is not recommended anymore but will likely work still.
(What that something is, is using the old event handling mechanism by overriding mouseDown, and accessing the fields width and height directly instead of through the accessor methods where it sasy "createImage(size().width, size().height).")

Similar Messages

  • Basic Question - "deprecated" reference

    Hey,
    I'm new (but learning) to flex & programming. I just downloaded the Flex sample photo viewer code (http://www.adobe.com/devnet/flex/samples/photo_explorer/) but I'm having an issue. The code was written in FLex 2.0, but I'm running 3.0. I have a couple error messages:
    -Warning: 3608: 'getString' has been deprecated since 3.0. Please use 'ResourceManager.getInstance().getString()'
    -Error: Unable to resolve resource bundle "strings" for locale "en_US"
    I've played around with it but no luck. Any ideas?
    Take care,
    Colin

    Accidently while browsing the net I've encountered the following article:
    I was trying with Photviewer app that i mentioned in below post  app..but i got “Unable to resolve a class for ResourceBundle: strings” error..i solved it
    After downloading the PhotoViewer sample application source code (www.adobe.com/devnet/flex/samples/photo_explorer/), you may receive compilation errors such as “Unable to resolve a class for ResourceBundle: strings”.
    http://mathewjacob.wordpress.com/2008/03/02/unable-to-resolve-a-class-for-resourcebundle-s trings/
    Check this article out, this may help you to compile this sample application.

  • Adobe Configurator and deprecated Flash-based panel support in Adobe CC products

    Does Configurator 4.0 (or Configurator 3) support the creation of HTML5-based panels?
    I received the following email from Adobe: 
    Photoshop CC, starting in the middle of 2014, will remove support for Flash-based extensions. All other Creative Cloud products have already marked Flash-based panel support as deprecated at this time, meaning no future enhancements or bug fixes will be coming for Flash-based extensions.
    The current version of Photoshop CC already includes support for a new type of HTML5 based panel. We are currently working on a new version of Adobe Extension Builder designed specifically to support the creation of these HTML5 based panels.  You can download a free preview here: http://labs.adobe.com/technologies/extensionbuilder3/.
    Details about developing HTML5 extensions for Photoshop as well as for other Creative Cloud products are available in the Extension Builder pre-release program here: https://adobeformscentral.com/?f=6V6IgvE0yLQQ7bgadxNXaw .   You can also join the Photoshop developers' prerelease program for details specific to Photoshop.  If you're interested, please let me know and I will get you setup.
    Will the panels created by Configurator 4.0 work in PS CC after the middle of 2014 when support for Flash-based extensions is removed from Photoshop CC?  For that matter, will the panels created in Configurator 3.0 work in PS CC after the middle of 2014?

    I've carefully read all the posts here and would like to give my feedback on the whole question. I'm a professional retoucher and a teacher as well, and during my professional carrer I've built dozens of panels.
    I do really take advantage of boosting my productivity with any customized panel, as automation is something that adds speed, reliability and dramatically reduce errors during repetitive tasks. Therefore, I can't live without it.
    Now, I  understand why Adobe wants to move towards HTML 5, but please give us the ability to keep our work at the same level of efficiency we currently have. Photoshop is not for amateurs, it's a professional software. And professionals must keep their productivity, for sure they can't afford any loss of it, especially in these times!
    Moving from Flash to HTML 5  means rebuilding all the existing panels from scratch: how much this will cost to us in terms of time (and money) if we could have an HTML 5 version of Configurator? And how much, if we don't have a tool like Configurator at all? Three times, ten times as much? Maybe Adobe knows the answer, not me, I'm not a coder. But I'd like to know this answer.
    Further, picture this: I've taught several classes for at least  five intercontinental companies on how to build actions and organize them into panels for improving their productivity. Every time the response was the same: BOOM!
    They had a huge speed improvement in their daily workflows, and started to build dozens of panels by themselves for any possibile use. It was like opening a Pandora's box for them (their words).
    Every one who attended my classes, have taught the same topic inside their company and the reaction was always the same. So now, in every company in which I've taught building panels and actions, there are hundreds of panels for many different uses, all over the world. Of course, as 100% of them were specifically built for internal use, they shared the panels among them, but not outside their company.
    Many of them who are now mid-advanced users, have written to me asking how they could keep their panels working correctly in the next CC version of Photoshop. I have no solution for them, unless many of them become coders. That's a bad answer, I must admit, but no way out right now.
    Their reply to me was very straight: "well, we won't upgrade any copy of Photoshop until we can keep our panels working correctly for sure. For us is much more important being productive and efficient than upgrading to the latest version, if this means to lower our performance, no doubt."
    Adobe wanted to integrate all their softwares into the Creative Cloud. So far so good, I'm for it. But when you decide to integrate everything saying to the world that "it's for the sake of a better productivity", then you must really integrate them. Otherwise people will think that it was only a commercial move. So why we can't build panels for the applications inside Muse, for example? It was introduced to allow people to build  websites quickly and efficiently using HTML 5, taking care about the layout instead of investing too much time in coding.
    Exactly what Configurator allowed to do. Focus on the result with minimal time cost, aka money cost.
    World is running faster, therefore we need to work faster too. And without Configurator we won't. I can't disagree with all the people that won't upgrade Photoshop, if this means that they'll work slower because they can't use their panels carefully made by themselves. Photoshop is a tool for producing ideas and other nice stuff, like any software. The faster it is, the most people will like it, the better will sold. A simple truth. Think about what happened to Apple Finalcut ProX and how many users switched to Premiere. Photoshop has no competitors except new versions of itself.
    And this does not apply only the CC users. Look at the bigger picture: how many users still using CS6 with all their fully working panels won't upgrade to CC if they know they'll reduce their productivity?
    Think about the answer. Carefully.

  • How do I find out if a class file has deprecated functions

    Currently I'm having problems with a old Visual Cafe class.
    It is definately using deprecated awt funcions.
    My question is..
    1) Without the source code how do I find out what deprecated functions the CLASS file is using.
    2) Has any deprecated class been truly scrapped ? If so, I cannot find
    it in the JDK API documentation or the java.sun.com search engine..

    Here is what I did, to answer your question. I unzipped the symantec jar and used a decompiler (JAD works fine, or cavaj) to create an entire src tree (you can do this with 1 command). Then, compile using your target version of Java. There are well over 100 warnings (with -deprecation on) ranging from Cafe's use of awt.Component methods (mostly), Thread.suspend in their Timer class, to the use of java.util.Date in their Calendar component.
    Cheers!

  • How to find out the destination of an "Adaptive RFC Model - DEPRECATED"

    Hi All,
    How to find out the destination of an "Adaptive RFC Model - DEPRECATED" of an running application
    and Where is the destination created in the server .
    I have got the code of the running project from NWDI .
    Thanks in Advance
    Regards
    Piyas Kumar

    Hi,
    I am not sure I fully understand the question, but as per the guide
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50f7192d-2808-2d10-189b-df3fa5f71abf
    Excerpt from Page 7
    Caveat Confector!1
    ARFC1 destinations were created using the Web Dynpro Content Administrator tool. This tool is
    still available for compatibility reasons, but the destinations it creates are not used by ARFC2
    models!
    Instead, you should use the u201CDestinationsu201D tool found on the Configuration Management screen of
    the NetWeaver Administrator.
    Therefore I think if you look up the application in the WD content Admin, there you can find out what kind of JCO/RFC connections are belonging to it. You can find it on http://<host>:<port>/webdynpro/dispatcher/sap.com/tcwdtools/Explorer
    Browse your application here, and then select the JCO Connections tab on the right hand side.
    I hope this helps.
    Best Regards,
    Ervin

  • ColdFusion 11: custom serialisers. More questions than answers

    G'day:
    I am reposting this from my blog ("ColdFusion 11: custom serialisers. More questions than answers") at the suggestion of Adobe support:
    @dacCfml @ColdFusion Can you post your queries at http://t.co/8UF4uCajTC for all cfclient and mobile queries.— Anit Kumar Panda (@anitkumar85) April 29, 2014
    This particular question is not regarding <cfclient>, hence posting it on the regular forum, not on the mobile-specific one as Anit suggested. I have edited this in places to remove language that will be deemed inappropriate by the censors here. Changes I have made are in [square brackets]. The forums software here has broken some of the styling, but so be it.
    G'day:
    I've been wanting to write an article about the new custom serialiser one can have in ColdFusion 11, but having looked at it I have more questions than I have answers, so I have put it off. But, equally, I have no place to ask the questions, so I'm stymied. So I figured I'd write an article covering my initial questions. Maybe someone can answer then.
    ColdFusion 11 has added the notion of a custom serialiser a website can have (docs: "Support for pluggable serializer and deserializer"). The idea is that whilst Adobe can dictate the serialisation rules for its own data types, it cannot sensibly infer how a CFC instance might get serialised: as each CFC represents a different data "schema", there is no "one size fits all" approach to handling it. So this is where the custom serialiser comes in. Kind of. If it wasn't a bit rubbish. Here's my exploration thusfar.
    One can specify a custom serialiser by adding a setting to Application.cfc:
    component {     this.name = "serialiser01";     this.customSerializer="Serialiser"; }
    In this case the value - Serialiser - is the name of a CFC, eg:
    // Serialiser.cfccomponent {     public function canSerialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return true;     }     public function canDeserialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return true;     }     public function serialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return "SERIALISED";     }     public function deserialize(){         logArgs(args=arguments, from=getFunctionCalledName());         return "DESERIALISED";     }     private function logArgs(required struct args, required string from){         var dumpFile = getDirectoryFromPath(getCurrentTemplatePath()) & "dump_#from#.html";         if (fileExists(dumpFile)){             fileDelete(dumpFile);         }         writeDump(var=args, label=from, output=dumpFile, format="html");     } }
    This CFC needs to implement four methods:
    canSerialize() - indicates whether something can be serialised by the serialiser;
    canDeserialize() - indicates whether something can be deserialised by the serialiser;
    serialize() - the function used to serialise something
    deserialize() - the function used to deserialise something
    I'm being purposely vague on those functions for a reason. I'll get to that.
    The first [issue] in the implementation here is that for the custom serialisation to work, all four of those methods must be implemented in the serisalisation CFC. So common sense would dictate that a way to enforce that would be to require the CFC to implement an interface. That's what interfaces are for. Now I know people will argue the merit of having interfaces in CFML, but I don't really give a [monkey's] about that: CFML has interfaces, and this is what they're for. So when one specifies the serialiser in Application.cfc and it doesn't fulfil the interface requirement, it should error. Right then. When one specifies the inappropriate tool for the job. What instead happens is if the functions are omitted, one will get erratic behaviour in the application, through to outright errors when ColdFusion goes to call the functions and cannot find it. EG: if I have canSerialize() but no serialize() method, CF will error when it comes to serialise something:
    JSON serialization failure: Unable to serialize to JSON.
    Reason : The method serialize was not found in component C:/wwwroot/scribble/shared/git/blogExamples/coldfusion/CF11/customerserialiser/Serialiser .cfc.
    The error occurred inC:/wwwroot/scribble/shared/git/blogExamples/coldfusion/CF11/customerserialiser/testBasic.c fm: line 4
    2 : o = new Basic();
    3 :
    4 : serialised = serializeJson(o);5 : writeDump([serialised]);
    6 :
    Note that the error comes when I go to serialise something, not when ColdFusion is told about the serialiser in the first place. This is just lazy/thoughtless implementation on the part of Adobe. It invites bugs, and is just sloppy.
    The second [issue] follows immediately on from this.
    Given my sample serialiser above, I then run this test code to examine some stuff:
    o = new Basic(); serialised = serializeJson(o); writeDump([serialised]); deserialised = deserializeJson(serialised); writeDump([deserialised]);
    So all I'm doing is using (de)serializeJson() as a baseline to see how the functions work. here's Basic.cfc, btw:
    component { }
    And the test output:
    array
    1
    SERIALISED
    array
    1
    DESERIALISED
    This is as one would expect. OK, so that "works". But now... you'll've noted I am logging the arguments each of the serialisation methods receives, as I got.
    Here's the arguments passed to canSerialize():
    canSerialize - struct
    1
    XML
    My reaction to that is: "[WTH]?" Why is canSerialize() being passed the string "XML" when I'm trying to serialise an object of type Basic.cfc?
    Here's the docs for canSerialize() (from the page I linked to earlier):
    CanSerialize - Returns a boolean value and takes the "Accept Type" of the request as the argument. You can return true if you want the customserialzer to serialize the data to the passed argument type.
    Again, back to "[WTH]?" What's the "Accept type" of the request? And what the hell has the request got to do with a call to serializeJson()? You might think that "Accept type" references some HTTP header or something, but there is no "Accept type" header in the HTTP spec (that I can find: "Hypertext Transfer Protocol -- HTTP/1.1: 14 Header Field Definitions"). There's an "Accept" header (in this case: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"), and other ones like "Accept-Encoding", "Accept-Language"... but none of which contain a value of "XML". Even if there was... how would it be relevant to the question as to whether a Basic.cfc instance can be serialised? Raised as bug: 3750730.
    serialize() gets more sensible arguments:
    serialize - struct
    1
    https://www.blogger.com/nullserialize - component scribble.shared.git.blogExamples.coldfusion.CF11.customerserialiser.Basic
    2
    JSON
    So the first is the object to serialise (which surely should be part of the question canSerialize() is supposed to ask, and the format to serialise to. Cool.
    canDeserialize() is passed this:
    canDeserialize - struct
    1
    JSON
    I guess it's because it's being called from deserializeJson(), so it's legit to expect the input value is indeed JSON. Fair enough. (Note: I'm not actually passing it JSON, but that's beside the point here).
    And deserialize() is passed this:
    deserialize - struct
    1
    SERIALISED
    2
    JSON
    3
    [empty string]
    The first argument is the value to work on, and the second is the type of deserialisation to do. I have no idea what the third argument is for, and it's not mentioned directly or indirectly on that docs page. So dunno what the story is there.
    The next issue isn't a code-oriented one, but an implementation one: how the hell are we expected to work with this?
    The only way to work here is for each function to have a long array of IF/ELSEIF statements which somehow identify each object type that is serialisable, and then return true from canSerialise(), or in the case of serialize(), go ahead and do the serialisation. So this means this one CFC needs to know about everything which can be serialised in the entire application. Talk about a failure in "separation of concerns".
    You know the best way of determining if an object can be seriaslised? Ask it! Don't rely on something else needing to know. This can be achieved very easily in one of two ways:
    Check to see if the object implements a "Serializable" interface, which requires a serialize() method to exist.
    Or simply take the duck-typing approach: if a CFC implements a serialize() method: it can be serialised. By calling that method. Job done.
    Either approach would work fine, keeps things nicely encapsulated, and I see merits in both. And either make far more sense than Adobe's approach. Which is like something from the "OO Failures Special Needs" class.
    Deserialisation is trickier. Because it relies on somehow working out how to deserialise() an object. I'm not sure of the best approach here, but - again - how to deserialise something should be as close to the thing needing deserialisation as possible. IE: something in the serialised data itself which can be used to bootstrap the process.
    This could simply be a matter of specifying a CFC type at a known place in the serialised data. EG: Adobe stipulates that if the serialised data is JSON, and at the top level of the JSON is a key eg: type, and the value is an extant CFC... use that CFC's deserialize() method. Or it could look for an object which contains a type and a method, or whatever. But Adobe can specify a contract there.
    The only place I see a centralised CFC being relevant here is for a mechanism for handling serialised data that is neither a ColdFusion internal type, nor identifiable as above. In this case, perhaps they could provide a mechanism for a serialisation router, which basically has a bunch of routes (if/elseifs if need be) which contains logic as to how to work out how to deserialise the data. But it should not be the actual deserialiser, it should simply have the mechanism to find out how to do it. This is actually pretty much the same in operation as the deserialize() approach in the current implementation, but it doesn't need the canDeserialize() method (it can return false at the end of the routing), and it doesn't need to know about serialising. And also it's not the main mechanism to do the deserialisation, it's just the fall back if the prescribed approach hasn't been used.
    TBH, this still sounds a bit jerry-built, and I'm open for better suggestions. This is probably a well-trod subject in other languages, so it might be worth looking at how the likes of Groovy, Ruby or even PHP (eek!) achieve this.
    There's still another issue with the current approach. And this demonstrates that the Adobe guys don't actually work with either CFML applications or even modern websites. This approach only works for a single, stand-alone website (like how we might have done in 2001). What if I'm not in the business of building websites, but I build applications such as FW/1 or ColdBox or the like? Or any sort of "helper" application. They cannot use the current Adobe implementation of the customserializer. Why? Because the serialisation code needs to be in a website-specific CFC. There's no way for Luis to implement a custom serialiser in ColdBox (for example), and then have it work for someone using ColdBox. Because it relies on either editing Application.cfc to specify a different CFC, or editing the existing customSerializer CFC. Neither of which are very good solutions. This should have been immediately apparent to the Adobe engineer(s) implementing this stuff had they actually had any experience with modern web applications (which generally aren't just a single monolithic site, but an aggregation of various other sub applications). Equally, I know it's not a case of having thought about this and [I'm just missing something], because when I asked them the other day, at first they didn't even get what I was asking, but when I clarified were just like "oh yeah... um... err... yeah, you can't do that. We'll... have to... ah yeah". This has been raised as bug 3750731.
    So I declare the intent here valid, but the implementation to be more alpha- / pre-release- quality, not release-ready.
    Still: it could be easily deprecated and rework fairly easily. I've raised this as bug 3750732.
    Or am I missing something?
    Adam

    Yes, you can easily add additional questions to the Lookup.WebClient.Questions Lookup to allow some additional choices. We have added quite a few additional choices, we have noticed that removing them once people have selected them causes some errors.
    You can also customize the required number of questions to select when each user sets them up as well as the number required to be correct to reset the password, these options are in the System Configuration settings.
    If you need multi-language versions of the questions, you will also need to modify the appropriate language resource file in the xlWebApp.war file to provide the necessary translations for the values entered into the Lookup.

  • Non-english characters in file names show as question marks

    It's probably iocharset=utf8 question, but it's not only cd-rom - native partitions with "defaults" options behave no better. What is the correct solution? Current locale is en_US.UTF-8, which should be OK.

    native partitions with "defaults" options behave no better
    What filesystems?
    For ntfs read http://wiki.archlinux.org/index.php/HAL
    Policies
    NOTE: this is deprecated from hal => 0.5.10
    and
    mount.ntfs linking
    As of hal => 0.5.10 the above policy may not work. This is a workaround forcing hal to use the ntfs-3g driver instead of the standard ntfs driver. Please note that this method will use the ntfs-3g driver for all NTFS drives on your system! As root create a symbolic link from mount.ntfs to mount.ntfs-3g.
    # ln -s /sbin/mount.ntfs-3g /sbin/mount.ntfs
    Possible issues using this method:
    if mount is called with "-i" option it doesn't work
    possible issues with the kernels ntfs module
    Locale issues
    If you use KDE, you may have problem with filenames containing non-latin characters. This happens because kde's mounthelper is not parsing correctly the policies and locale option. There is a workaround for this:
    1) Remove the "/sbin/mount.ntfs-3g" which is a symlink. code: rm /sbin/mount.ntfs-3g
    2) Replace it with a new bash script containing:
    #!/bin/bash
    /bin/ntfs-3g $1 $2 -o locale=en_US.UTF-8 #put your own locale here
    3) Make it executable: chmod +x /sbin/mount.ntfs-3g
    There is only a problem with partition labels containing spaces, so if you have such a label, replace the space with an underscore, otherwise when you try to mount it you will get an error.
    4) Add NoUpgrade=sbin/sbin/mount.ntfs-3g to pacman.conf.
    I think your understand Russian. Welcome to http://linuxforum.ru/index.php?showtopic=53488 and
    http://archlinux.org.ru/

  • Load Balancing Directory Servers with Access Manager - Simple questions

    Hi.
    We are in the process of configuring 2 Access Manager instances (servers) accessing the same logical LDAP repository (comprising physically of two Directory Servers working together with Multi-Master Replication configured and tested) For doing this, we are following guide number 819-6258.
    The guide uses BigIP load balancer for load balancing the directory servers. However, we intend to use Directory Proxy Server. Since we faced some (unresolved) issues last time that we used DPS, there are some simple questions that I would be very grateful to have answers to:
    1. The guide, in section 3.2.10 (To configure Access Manager 1 with the Directory Server load balancer), talks about making changes at 4 places, and replacing the existing entry (hostname and port) with the load balancer's hostname and port (assuming that the load balancer has already been configured). It says that changes need not be made on Access Manager 2 since the LDAPs are in replication, and hence changes will be replicated at all places. However, the guide also states that changes have to be made in two files, namely AMConfig.properties, and the serverconfig.xml file. But these changes will not be reflected on Access Manager 2, since these files are local on each machine.
    Question 1. Do changes have to be made in AMConfig.properties and serverconfig.xml files on the other machine hosting Access Manager 2?
    Question 2: What is the purpose of putting these values here? Specifically, what is achieved by specifying the Directory server host and port in AMConfig.properties, as well as in serverconfig.xml?
    Question 3. In the HTTP console, there is the option of specifying multiple primary LDAP servers, as well as multiple secondary LDAP servers. What is the purpose of these? Are secondary servers attempted when none of the list in the primary list are accessible? Also, if there are multiple entries in the primary server list, are they accessed in a round robin fashion (hereby providing rudimentary load balancing), or are other servers accessed only when the one mentioned first is not reachable etc.?
    2. Since I do not have a load balancer setup yet, I tried the following deviation to the above, which, according to me, should have worked. If viewed in the HTTP console, LDAP / Membership / MSISDN and Policy configuration all pointed to the DS on host 1. When I changed all these to point to the directory server on host 2 (and made AMConfig.properties and serverconfig.xml on host 1 point to DS of host 2 as well), things should have worked fine, but apparently Access manager 1 could not be started. Error from Webserver:
    [14/Aug/2006:04:30:36] info (13937): WEB0100: Loading web module in virtual server [https-machine_1_FQDN] at [search]
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: Exception in thread "EventService" java.lang.ExceptionInInitializerError
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: at com.iplanet.services.ldap.event.EventServicePolling.run(EventServicePolling.java:132)
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: at java.lang.Thread.run(Thread.java:595)
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: Caused by: java.lang.InterruptedException
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: at com.sun.identity.sm.ServiceManager.<clinit>(ServiceManager.java:74)
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: ... 2 more
    In effect, AM on 1 did not start. On rolling back the changes, things again worked like previously.
    Will be really grateful for any help / insight / experience on dealing with the above.
    Thanks!

    Update to the above, incase anyone is reading:
    We setup a similar setup in Windows, and it worked. Here is a detailed account of what was done:
    1. Host 1: Start installer, install automatically, chose Directory server, Directory Administration server, Directory Proxy server, Web server, Access Manager.
    All installed, and worked fine. (AMConfig.properties, serverconfig.xml, and the info in LDAP service, all pointed to HOST1:389)
    2. Host 2: Start installer, install automatically, chose Directory server, Directory Administration server, Directory Proxy server, Web server, Access Manager.
    All installed, and worked fine. (AMConfig.properties, serverconfig.xml, and the info in LDAP service, all pointed to HOST2:389)
    3. Host 1: Started replication. Set to Master
    4. Host 2: Started replication. Set to Master
    5. Host 1: Setup replication agreement to Host 2
    6. Host 2: Setup replication agreement to Host 1
    7. Initiated the remote replica from Host 1 ----> Host 2
    Note that since default installation uses abc.....xyz as the encryption key, setting this to same was not an issue.
    9. Started webserver for Host 1 and logged into AM as amadmin.
    10. Added Host 2 FQDN in DNS Aliases / Realms
    11. Added http://HOST2_FQDN:80 in the Platform server (instance) list.
    12. Started Host 2 webserver. Logged in AM on Host 2, things worked fine.
    At this stage, note the following:
    a) Host 1:
    AMConfig.properties file has
    com.iplanet.am.directory.host=host1_FQDN
    and
    com.iplanet.am.directory.port=389
    serverconfig.xml has:
    <Server name="Server1" host="host1_FQDN" port="389" type="SIMPLE" />
    b) Host 2:
    AMConfig.properties file has
    com.iplanet.am.directory.host=host2_FQDN
    and
    com.iplanet.am.directory.port=389
    serverconfig.xml has:
    <Server name="Server1" host="host2_FQDN" port="389" type="SIMPLE" />
    c) If one logs into AM, and checks LDAP servers for LDAP / Policy Configuration / Membership etc services, they all contain Host2_FQDN:389 (which makes sense, since replica 2 was initialized from 1)
    Returning back to the configuations:
    13. On Host 1, login into the Admin server console of the Directory server. Navigate to the DPS, and confgure the following:
    a) Network Group
    b) LDAP servers
    c) Load Balancing
    d) Change Group
    e) Action on-bind
    f) Allow all actions (permit modification / deletion etc.).
    g) any other configuations required - Am willing to give detailed steps if someone needs them to help me / themselves! :)
    So now, we have DPS configured and running on Host1:489, and distributing load to DS1 and DS2 on a 50:50 basis.
    14. Now, log into AM on Host 1, and instead of Host1_fqdn:389 (for DS) in the following places, specify Host1_fqdn:489 (for the DPS)--
    LDAP Authentication
    MSISDN server
    Membership Service
    Policy configuation.
    Verified that this propagated to the Policy Configuration service and the LDAP authentication service that are already registered with the default organization.
    15. Log out of AM. Following the documentation, modify directory.host and directory.port in AMConfig.properties to point to Host 1_FQDN and 489 respectively. Make this change in AMConfig.properties of both Host 1 as well as 2.
    16. Edit serverconfig.xml on both hosts, and instead of they pointing to their local directory servers, point both to host1_FQDN:489
    17. When you start the webserver, it will refuse to start. Will spew errors such as:
    [https-host1_FQDN]: Sun ONE Web Server 6.1SP5 B06/23/2005 17:36
    [https-host1_FQDN]: info: CORE3016: daemon is running as super-user
    [https-host1_FQDN]: info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.5.0_04] from [Sun Microsystems Inc.]
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [amserver]
    [https-host1_FQDN]: warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [ampassword]
    [https-host1_FQDN]: warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [amcommon]
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [amconsole]
    [https-host1_FQDN]: warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [search]
    [https-host1_FQDN]: warning: CORE3283: stderr: netscape.ldap.LDAPException: error result (32); matchedDN = dc=sun,dc=com; No such object (DN changed)
    [https-host1_FQDN]: warning: CORE3283: stderr: Got LDAPServiceException code=-1
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getConnection(DSConfigMgr.java:357)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewFailoverConnection(DSConfigMgr.java:314)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewConnection(DSConfigMgr.java:253)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewProxyConnection(DSConfigMgr.java:184)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewProxyConnection(DSConfigMgr.java:194)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.initLdapPool(DataLayer.java:1248)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.(DataLayer.java:190)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.getInstance(DataLayer.java:215)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.getInstance(DataLayer.java:246)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.ldap.SMSLdapObject.initialize(SMSLdapObject.java:156)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.ldap.SMSLdapObject.(SMSLdapObject.java:124)
    [https-host1_FQDN]: warning: CORE3283: stderr: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    [https-host1_FQDN]: warning: CORE3283: stderr: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    [https-host1_FQDN]: warning: CORE3283: stderr: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    [https-host1_FQDN]: warning: CORE3283: stderr: at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    [https-host1_FQDN]: warning: CORE3283: stderr: at java.lang.Class.newInstance0(Class.java:350)
    [https-host1_FQDN]: warning: CORE3283: stderr: at java.lang.Class.newInstance(Class.java:303)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.SMSEntry.(SMSEntry.java:216)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.ServiceSchemaManager.(ServiceSchemaManager.java:67)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.am.util.AMClientDetector.getServiceSchemaManager(AMClientDetector.java:219)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.am.util.AMClientDetector.(AMClientDetector.java:94)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.mobile.filter.AMLController.init(AMLController.java:85)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:322)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:120)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3271)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardContext.start(StandardContext.java:3747)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    [https-host1_FQDN]: failure: WebModule[amserver]: WEB2783: Servlet /amserver threw load() exception
    [https-host1_FQDN]: javax.servlet.ServletException: WEB2778: Servlet.init() for servlet LoginLogoutMapping threw exception
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:949)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    [https-host1_FQDN]: at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    [https-host1_FQDN]: at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    [https-host1_FQDN]: ----- Root Cause -----
    [https-host1_FQDN]: java.lang.NullPointerException
    [https-host1_FQDN]: at com.sun.identity.authentication.UI.LoginLogoutMapping.init(LoginLogoutMapping.java:71)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    [https-host1_FQDN]: at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    [https-host1_FQDN]: at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    [https-host1_FQDN]:
    [https-host1_FQDN]: info: HTTP3072: [LS ls1] http://host1_FQDN:58080 [i]ready to accept requests
    [https-host1_FQDN]: startup: server started successfully
    Success!
    The server https-host1_FQDN has started up.
    The server infact, didn't start up (nothing even listening on 58080).
    However, if AMConfig.properties is left as it originally was, and only serverconfig.xml files were changed as mentioned above, web servers started fine, and things worked all okay. (Alright, except for some glitches when viewed in /amconsole. If /amserver/console is accessed, all is good. Can this mean that all is still not well? I am not sure).
    So far so good. Now comes the sad part. When the same is done on Solaris 9, things dont work. You continue to get the above error, OR the following error, and the web server will refuse to start:
    Differences in Solaris and Windows are as follows:
    1. Windows hosts have 1 IP and hostname. Solaris hosts have 3 IPs and hostnames (for DS, DPS, and webserver).
    No other difference from an architectural perspective.
    Any help / insight on why the above is not working (and why the hell does the documentation seem so sketchy / insecure / incorrect).
    Thanks a bunch!

  • Questions on Connection Pooling

    I already read the documentations on data-sources.xml, but I still have questions. In the following data-sources.xml (for OC4J 9.0.3):
    <data-source
    class="com.evermind.sql.ConnectionDataSource"
    name="ccf"
    location="jdbc/ccf"
    xa-location="jdbc/xa/ccf"
    ejb-location="jdbc/ccfPool"
    url="jdbc:oracle:thin:@erb:1521:prod"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="scott"
    password="tiger"
    max-connections="300"
    min-connections="5"
    max-connect-attempts="10"
    connection-retry-interval="1"
    inactivity-timeout="30"
    wait-timeout="30"
    />
    I know that if we want to use a connection pool, we should use "ejb-location" and it is the only one used for emulated data sources. I also know that both "location" and "xa-connection" are used for non-emulated data sources.
    Then my questions are:
    1) Does non-emulated data source mean that it can not used for connection pooling? In other words, both "location" and "xa-location" can not be used for connection pooling? The only one that can be used for connection pooling is "ejb-location"?
    2) How can I use a non-pooled connection? right now, I am using "location" for non-connnection pooling, is this the right way to do it? The documentation says that it will be deprecated in future release, then what should I use if I want a non-pooled connection? can I still use "ejb-location" by setting "min-connections" and "max-connections" to 1? This is assuming that we can NOT use "location" to get the data source.
    3) Putting the username and password in the data-sources.xml seems not be good from the security point of view. But, if I am using CMP, I must supply the username and password in the data-sources.xml. Is there another way around this?
    Thank you very much for the help in advance.
    Jingzhi

    Liu
    I may not answer all ur questions.But would like to share my experiences....
    3) U can set the username and password dynamically also...we use it in orion..so u should be able to use it in oc4j..as a matter of fact, we can set all the data-sources parameters dynamically(programmatically).
    1) I may not be correct 100 percent with this :but for pooling only ejb-location is used and for non pooling location is used.
    For non pooled connections also, use ejb-location and dont give any max and min connections..let it take the default values...
    I am not aware that Oracle is going to deprecate the location ..well it is good to hear this which will reduce some confusion..
    seems there is lot being raised on these topics..
    yugandhar

  • Deprecated methods in 10.1.3

    Many methods in 10.1.3 are marked as deprecated.
    For example, class oracle.toplink.publicinterface.Descriptor is replaced by ClassDescriptor and RelationalDescriptor where getQueryManager() is deprecated with no replacement method.
    Another example, in oracle.toplink.sessions.Session interface, method containsObjectInIdentityMap is deprecated and no replacement is specified.
    I understand those deprecated methods will probably be removed in the future TopLink release. My question is: will TopLink provide the functions currently implemented in those methods, i.e. replacement methods?
    Thanks.
    Haiwei

    Haiwei,
    Yes the work done in 10.1.3 to add formal support for non-relational mapping (Object-XML and EIS/JCA) did require some refactoring of the descriptor class. In the end the previous Descriptor class was deprecated in place of a new ClassDescriptor hierarchy. This work is backwards compatible but some of the deprecated methods were not properly Java Doc'd with their new replacement.
    getQueryManager() -> getDescriptorQueryManager() - New method on ClassDescriptor
    All of the cache access methods have been refactored into a new IdentityMapAccessor class. This is available from any session using getIdentityMapAccessor().
    Doug

  • Special characters in URL parameters retrieved as question marks

    Hello,
    I am posting a simple HTML form to a WebDynpro application, and then I retrieve the 2 parameters with the following code :
    IWDWebContextAdapter adapter = WDWebContextAdapter.getWebContextAdapter();
    String comment= adapter.getRequestParameter("comment");
    Problem : some special characters (those with accents for instance) are retrieved as question marks. Their ascii character is always 65533 (unicode rather?).
    I guess this is a problem of charset, but where could I change it ?
    Trying to encode afterwards does not change the characters, I always get the question marks. But I may not do it the right way...
    Any hint on that ?
    Thanks a lot.
    Best Regards,
    Nicolas

    Hi,
    refer to following code.
    Stop using deprecated object IWDWebContextAdapter
    IWDProtocolAdapter adapter = WDProtocolAdapter.getProtocolAdapter();
         try {
              byte comment[]= adapter.getRequestObject().getParameter("comment").getBytes("ASCII");
              String str = new String(comment);
         } catch (UnsupportedEncodingException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    Ashu

  • Deprecated Thread Methods

    My organization has recently come from the Microsoft world into the J2EE world. In .Net, Microsoft has an abort method on threads that is similar to the Java's stop method. Unfortunately, the stop method has been deprecated.
    While I have read the information on why this method is dangerous, I don't understand why the method has been removed. If I have a situation that warrants killing a thread (such as in the case of an application server that hosts other threads of execution), why remove it from the platform? While I agree with Sun's article on seeking out alternative methods, there are still exceptions where a thread just needs to be interrupted so that it can get out of a deadlock, endless loop or blocking I/O.
    Since the stop method is deprecated, is there an equivalent VM call that I can interface from native code?
    I must say that I feel a bit like I'm being mothered by Sun.

    From your comments, you make a strong argument that suggests there's no need for a VM-level stop function.
    This puzzles me because operating systems implement kill methods to terminate rogue processes, yet they remain efficient and manage to keep things clean. Granted, multiple processes don't generally share memory structures but certainly the OS, on their behalf, shares memory structures. I'm puzzled as to why similar desires/features aren't present in the JRE.
    Regardless, short of running multiple JRE instances, each managing just one piece of work, the current deprecated status of the stop method renders Java without the ability to stop something that's gone wild unless the application is specifically pre-programmed to anticipate this behavior. (Of course that's a bit of a catch 22 in and of itself but...)
    There is also a subscription to the notion that my company or company x can write perfect software that never hangs a Java-based application server. I feel that this is impractical -- especially when what businesses ask of IT continues to get more complex.
    At this point perhaps it's fair to reveal the underlying reasons for my up-to-now, hypothetical questions. In my situation, company x is actually Sun. They failed to expose a socket timeout on their implementation of HTTPUrlConnection. I suppose that pretty much removes the luster from the argument that I, or anyone else, can write perfect software when the inventors of Java are themselves, imperfect. Of course, like you said and the JDK documents, the stop method will not abort a blocking socket read anyway (...although there's no reason why it couldn't except for more flawed design decisions...)
    I've certainly investigated alternative packages but I'm just chasing a moving target. HTTPUrlConnection today, class x tomorrow. That's why I was wanting something at the framework level to provide a trap door so that recovery without terminating the JRE is possible.

  • Validation report question

    What can I do about these messages?  There are aboutr 60 of them. Should I do anything? 
    Especially the 7 errors.  Is there some way to let DW make the corrections?
    The page is http://righttax.org if you want to look at it.
    Message  In HTML 4.0, FONT is deprecated. It may become obsolete in future versions, consider using style sheets instead.  50
    Error  The tag:"link" is not allowed within: "td" It is only allowed within: head.  71
    Error  The tag:"meta" is not allowed within: "div" It is only allowed within: head.  145
    Error  The tag:"meta" is not allowed within: "div" It is only allowed within: head.  147
    Error  The tag:"style" is not allowed within: "font" It is only allowed within: head.  151
    Error  The tag: "font" doesn't have an attribute: "align" in currently active versions.  191
    Message  In HTML 4.0, FONT is deprecated. It may become obsolete in future versions, consider using style sheets instead.  191
    Message  In HTML 4.0, U is deprecated.  191
    Error  The tag: "font" doesn't have an attribute: "align" in currently active versions.  201
    Error  The tag: "font" doesn't have an attribute: "align" in currently active versions.  204
    Thanks

    Harvey - because the page is created from a template, you will need to edit the template to remove some of these errors.
    In the template page:
    Change this -
    <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" >
      <!-- GOOGLE SEARCH --></td>
    to this -
      <!-- GOOGLE SEARCH --></td>
    and this -
      </style>
      <!-- InstanceBeginEditable name="doctitle" -->
    to this -
      </style>
    <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" >
    <!-- InstanceBeginEditable name="doctitle" -->
    Change this -
          <p class="style3" align="left"><a href="petition.html">We,
    the </font>undersigned</a>, respectfully
    to this -
          <p class="style3" align="left"><a href="petition.html">We,
    the undersigned</a>, respectfully
    Then in the child page (the one you gave the code for) -
    Remove the meta tags and the embedded stylesheet from the page's editable region called "EditRegion", and place it in the page's editable region called "head".
    Finally, change this -
    America</strong><strong>.</strong></em></font></div>
                  </blockquote>
                   <p align="center">
    to this -
    America.</strong></em></font></div>
                   <p align="center">
    Now the next question is - how did this page get into such sorry shape?

  • 1z0-053 - Doubtful question/answer in Transcender preparation kit

    Hello,
    I purchased the exam preparation  kit and I'm confused about a correct answer.
    http://www.transcender.com/practice-exam/oracle/1z0-053.kap
    It's in regard to the Flashback Database procedure, it states that we must use STARTUP MOUNT EXCLUSIVE rather thant STARTUP MOUNT.
    Going into 11gR2 documentation, it's never stated to do STARTUP MOUNT EXCLUSIVE, but simply STARTUP MOUNT.
    Link: Performing Flashback and Database Point-in-Time Recovery
    Here is the  screenshot of the exam question and correct answer.
    I read at some places that the STARTUP MOUNT EXCLUSIVE is deprecated and the simple STARTUP MOUNT is the way to go unless explicitly stated.
    Is my answer is OK? Is the suggested answer OK?
    If both valid and I see this kind of dualities in the official exam, should I prefer the simple STARTUP MOUNT rather than the EXCLUSIVE way?
    Thanks
    Bruno

    The documentation beats third-party materials every time -- even Kaplan materials, which are generally quite good.
    You are extremely unlikely to find an ambivalent question like this in an exam that has been around as long as 1Z0-053.  In beta exams or tests that have recently come out of beta perhaps.  Ones that have been in place for years should have resolved any such problems.

  • Preloader and Document Class BIG question (yeap please help)

    Hy,
    I know that this its a question posted many, many times, but
    after searching the net, reading a lot of books and searching this
    forum too, I cant get out with a solution. If I'd say for sure
    there is no possibility to create something like this, I just go
    back to old methods but is not the scope of Adobe with AS3 to
    encourage the use of OOP principle or not?
    The problem:
    I have a single fla file (AS3) with a single frame on
    timeline, frame that its there when you will create the file with
    flash. In the library I have different symbols, that for simplicity
    are only jpg image, (BitmapData) checked for export for
    ActionScript and exported on frame one. An external .as file called
    DocumentClass its off course my Document Class
    This its all that I want to do with the fla, the goal its to
    create, animate etc. only with AS3 in external classes, no timeline
    script. I don't want to load external files, XML, or else in this
    movie. I just want a single swf after compilation, no additional
    files.
    Ok, how do I create a preloader that will take care of
    starting the logic after the whole swf its loaded and in the same
    time shows the user a percentage or a load bar or something that
    its not the blank screen when the swf its downloading. I want to do
    this without another swf that load this swf, or timeline scripts,
    or place all the content on second frame and then gotoAndStop to
    the third frame. All this are not solution but cheap tricks, that
    are against all this OOP principle that I just continue to read in
    books and here from guru programmers.
    The big question is:
    It is possible to create a preloader, when use a document
    class with your fla? And if yes, how?
    I know that the Document Class its not instantiated if its
    not fully loaded, if that's true when the document class will be
    fully loaded? maybe after the whole movie its loaded? And, if its
    true, it will never show a percentage bar "while" the movie its
    loaded. And if that's true WHY use a document class anyway?
    Thank you for reading this and I really wait to get some
    answer.

    I am pretty sure you cannot do self preloader with one frame
    and all the objects in the library. I guess the key here is
    one-frame design. Screen refreshes (renders) only when all the
    scripts in the frame are executed - this is a very important thing
    to understand about how Flash works. Yes, you can force screen
    refresh with updateAfterEvent() method but it is attached to a
    handful of events only (MouseEvent and TimerEvent) but, again, all
    this functionality is available only after first frame scripts are
    executed. Thus, it seems like the only way to create preloader from
    within SWF is to use multiple frames and set library objects to
    load in later (not first) frame.
    quote:
    And if that's true WHY use a document class anyway?
    Well, preloader is the last thing that would be on my mind in
    terms of using AS3 ability to link DocumentClass to the top movie.
    This feature allows for very sophisticated architectural
    approaches. It has no connection to preloader as to any other
    features developer wants to implement. Neither it depends on or
    negates timeline. As a matter of fact, although I love one-frame
    applications, I find on numerous occasions that my application
    would be more efficient if I used several (at least two) frames.
    gotoAndStop is not deprecated. It is a valid MovieClip class'
    method. After all, having only one frame doesn't mean not having
    frames at all - there is one already. Frames are fundament of
    Flash. AS3 did introduce frameless entities like Sprite, etc. but
    it doesn't mean that frames are going anywhere.
    I would agree that timeline code is inferior to
    classed/packaged (read: better organized) code but, still, how is
    it not OOP? Frame is an Object, right? Why using timeline is cheap
    and not a solution?
    On a side note, I see too many times how some authors (and
    managers) are pushing their agenda (or close mindedness) onto their
    audience with no real substantiation. Claiming that timeline in
    Flash is not valid architectural decision from OOP standpoint is
    totally wrong. As wrong as strict adherence to design patterns. I
    don't think there is sharply defined "right" or "wrong" in
    programming. One finds the best optimal solution. The goal is to
    create something that works fine. Unless, of course, the process is
    the goal - but very few of us can afford focusing on the process.

Maybe you are looking for

  • Calling Servlet from Java Class in eclipse

    Hi , I am calling a Servlet from JAVA Class as I am using IDE: Eclipse. The Problem is below URL url = new URL(ServletPath); URLConnection connet = url.openConnection(); I am using the above code in JAVA to Connect to Servlet I have given Print state

  • How to open multiple forms through differnt responsiblity

    I have a 11.5.10.2 system on Linux red hat. Business pepole want to open multiple forms through different responsiblities from multiple web brower sessions. However when I opened 2 IE brower sessions, log into responsiblity and open one oracle form i

  • XI ArticleThread

    Hi XI SDNers, We really see dynamic community action here in the XI forum as well as in the XI blogging sphere.  XI SDN folks contribute, respond, critique, and support each other as you well know.  We would like to use this thread to offer our artic

  • Installing HTML DB on the existing AIX oracle 9.2.0.4 database

    Hi, I am new to HTML DB and want to know how to install this on the existing oracle 9i database at AIX 4.3.3 OS. Can anyone please tell me is it possible to install on the same existing oracle home or does it have to be installed in a separate Oracle

  • How to insure that contacts and calendar are NOT synced with ICloud?

    Hello, I do not understand, why it is not possible anymore to sync your contacts and calendar data between your mac book and your mobile devices using USB cable. I also heard that with Maverick and Itunes 11.1.2 you can not sync anything using USB an