Flex 3 Class Architecture Map?

Hello,
Does anyone know if there is a Class Architecture Map for Flex 3 at all? Not sure if it's actually called that but basically I'm after a wall chart that shows all the Classes, they're properties and methods, etc and ideally the inheritence structure?
This is so I can stick it on my wall and see at a glance what is available to me and where things are.
Thanks,
Nick

Hi Nick,
I like to think of it as wallpaper, as opposed to posters.
Contact your local user groups and they may still have some of them.  I'm not sure where you'd get it.
If you google around, you can find a few links:
http://blogs.adobe.com/flexteam/archives/2008/02/sneak-peak-at-f.html
http://blog.flashgen.com/2008/10/23/free-flex-3-actionscript-3-posters/
https://www.adobe.com/cfusion/entitlement/index.cfm?e=posters&sdid=ZFCT

Similar Messages

  • Creating a pseudo column in class-table mapping

    I would like to create a class (Reference) with attributes
    long owner ;
    long child ;
    String childName ; // read only
    This will be loaded into the owner object in a Vector.
    This will be mapped to a database table (db_references) with columns
    owner number; -- FK to owner
    child number; --FK to child
    We are setting a shallow load scheme where we are only pulling the keys of the child objects into the owner.
    However, on load, I would like to be able to pull in the name of the child object as well as the key.
    If I add the child table to the descriptor, inserts of the Reference class try to insert into child table which already has the row, throwing the predictable error.
    This is another situation where my Oracle Forms experience must be blinding me to the correct solution. Any suggestions?

    I gave up on the generic mapping class and mapping table endeavor.
    In my current test, I created a read only SummaryClass that maps to a subset of the attributes on the FullClass.
    The Vector in the OwnerClass is mapped to the SummaryClass in TopLink. I even created a view on the tables involved with the FullClass with just the attributes required by the SummaryClass. When I read the owner, I get the FullClass in the Vector. I even changed the PK in the view for the SummaryClass to not match that in the FullClass.
    The FullClass objects are in the TopLink cache. There is no attempt to read the database on the read.
    When I issue a
    server.initializeIdentityMaps()
    in the read statement.
    Then the correct classes are returned on the read.
    A less radical:
    UnitOfWork uowSession = getUnitOfWorkSession();
    uowSession.removeFromIdentityMap(thePlan);
    in the read also works.
    I am rather concerned that the returned class from a TopLink read changes based on the state of the read cache.
    Any suggestions on how best to address this odd behavior?
    Thanks

  • Mapping inner class in mapping workbench

    A project needs to work with inner classes and map these inner classes using TopLink Mapping Workbench. Is this supported? Thanks.
    Haiwie

    Karen,
    Thanks for your response.
    I tried with 9.0.4.4, and it worked. I had to use 'Use Factory' option for Instantiation; the mapping workbench complains about the default instantiation setting, i.e. 'Use Default Constructor'.
    Haiwei

  • How do you compile Flex-dependent classes with ASC?

    Hi,
    I've been trying unsuccessfully for most of the evening to compile a .as file that relies on mx.collections.ListCollectionView using asc. I figured I could just import the Flex framework SWCs from the command line with asc, but asc doesn't seem to respect SWCs - it only seems to respect .abc files.
    So, I've spent most of my time trying to compile the Flex framework into a single .abc file that I can import whenever I want to compile a class that relies on Flex. I figured I could make a base .as file with include statements for all of the Flex .as files (copying the approach I saw for files like builtin.as) and compile that, but all I seem to get are compiler errors - mostly "[Compiler] Error #1181: Forward reference to base class (base class name)."
    I have a feeling I'm doing this completely the wrong way. I'd very much appreciate any assistance that anybody can offer me.
    Thanks,
    - max

    <div class=Section1><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'>I use MXMLC to compile my .as file projects.<o:p></o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'><o:p> </o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'>Alex Harui<o:p></o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'>Flex SDK Developer<o:p></o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'><a href="http://www.adobe.com/"><span style='color:blue'>Adobe<br />Systems Inc.</span></a><o:p></o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'>Blog: <a href="http://blogs.adobe.com/aharui"><span<br />style='color:blue'>http://blogs.adobe.com/aharui</span></a><o:p></o:p></span></p><br /><br /><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";<br />color:#1F497D'><o:p> </o:p></span></p><br /><br /><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><br /><br /><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span<br />style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Maxim Porges<br />[mailto:[email protected]] <br><br /><b>Sent:</b> Monday, February 09, 2009 9:22 PM<br><br /><b>To:</b> [email protected]<br><br /><b>Subject:</b> How do you compile Flex-dependent classes with ASC?<o:p></o:p></span></p><br /><br /></div><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal style='margin-bottom:12.0pt'>A new discussion was started by<br />Maxim Porges in <br><br /><br><br /><b>Developers</b> --<br><br />  How do you compile Flex-dependent classes with ASC?<br><br /><br><br />Hi, <br><br /><br><br />I've been trying unsuccessfully for most of the evening to compile a .as file<br />that relies on mx.collections.ListCollectionView using asc. I figured I could<br />just import the Flex framework SWCs from the command line with asc, but asc<br />doesn't seem to respect SWCs - it only seems to respect .abc files. <br><br /><br><br />So, I've spent most of my time trying to compile the Flex framework into a<br />single .abc file that I can import whenever I want to compile a class that<br />relies on Flex. I figured I could make a base .as file with include statements<br />for all of the Flex .as files (copying the approach I saw for files like<br />builtin.as) and compile that, but all I seem to get are compiler errors -<br />mostly &quot;[Compiler] Error #1181: Forward reference to base class (base<br />class name).&quot; <br><br /><br><br />I have a feeling I'm doing this completely the wrong way. I'd very much<br />appreciate any assistance that anybody can offer me. <br><br /><br><br />Thanks, <br><br /><br><br />- max <o:p></o:p></p><br /><br /><div class=MsoNormal><br /><br /><hr size=2 width=200 style='width:150.0pt' align=left><br /><br /></div><br /><br /><p class=MsoNormal style='margin-bottom:12.0pt'>View/reply at <a<br />href="http://www.adobeforums.com/webx?13@@.59b7d5d2">How do you compile<br />Flex-dependent classes with ASC?</a><br><br />Replies by email are OK.<br><br />Use the <a<br />href="http://www.adobeforums.com/webx?280@@.59b7d5d2!folder=.3c060fa3">unsubscribe</a>< br />form to cancel your email subscription.<o:p></o:p></p><br /><br /></div>

  • Primary Key Class Indicator mapping

    Hi
    We are using a Class Inidcator Field as described within Toplink documentation.
    We have encountered a problem, relating to the Class Indicator field not being populated within the Object within the cache,
    For example, the creation of one of our indictated objects successfully inserts the relevant class indicator value in the database, but the Object in the cache does not have the value set. This casues issues when attempting to identify the object in the cache.
    When re-reading the documentation at http://www.oracle.com/technology/products/ias/toplink/doc/1013/main/_html/descun007.htm#sthref2899 I noted the following line:
    "If the indicator field is part of the primary key, define a write-only transformation mapping for the indicator field (see Chapter 48, "Configuring a Relational Transformation Mapping"). "
    However following the documentaion trail, to http://www.oracle.com/technology/products/ias/toplink/doc/1013/main/_html/relmapun013.htm#CHDDBJJJ there is a statement:
    "Use transformation mappings only when mapping multiple fields into a single attribute. Because of the complexity of transformation mappings, it is often easier to perform the transformation with a converter or getter and setter methods of a direct-to-field mapping. See Chapter 38, "Configuring a Relational Direct-to-Field Mapping" for more information."
    Is there any definitive answer to correctly use a Class Indicator on a Primary Key field.
    Many Thanks
    Marc

    Hi,
    I'm still really struggling to find the correct way of implementing the mapping, as described within the documentation.
    As per the amended documentation quoted above, we are using a Primary Key field as the indentifier of a Class Indicator Mapping, and should therefore implement a "Read-Only Transformation Mapping for the indicator field".
    The explanation of how to implement Transformation Mappings in section 33-15,
    stipluates that both the "attribute transformer" - reading from the database,
    and the "field transformer" must be specified. By default, this would appear to
    be describing a read and write transformational mapping. Please correct me, if
    I am wrong.
    Therefore, we have currently found no method of implementing a "Read Only"
    transformational mapping for a Class Indicator Mapping.
    Any assistance in advising of the method of implementing this, would be greatly appreciated.
    Regards
    Marc

  • Comp. Primary key class-field mapping to DB columns problem.(EJB 2.0 CMP)

    Hi!
    I have deal with EJB 2.0 CMP bean.
    I have a composite PK so use the java class to store it. And there is a corresponding field in the Entity Bean with its primary key class type.
    The problem is: when deployment tool creates sql query for the findByPrimaryKey(PKClass ck)
    where ck is an object with 3 fielde : a_id, b_id, c_id.
    it says:
    <sql>SELECT "ck" FROM "MyTable" WHERE "ck" = ? </sql>
    And it means by the "ck" simple a column in DB but NOT the composite key which has to be splited into 3 different fields. So the container can't do the proper mapping.
    Does anyone know solutions?

    I was wrong about primary key class fields, take a look at Ejb2.0 Specification (10.8.2):
    The primary key class must be public, and must have a public constructor with no parameters.
    All fields in the primary key class must be declared as public.
    The names of the fields in the primary key class must be a subset of the names of the container-managed
    fields. (This allows the container to extract the primary key fields from an instance�s container-managed
    fields, and vice versa.)
    Right now I'm using BMP and I don't have this problems. Primary keys, calculated fields and types not supported by the DB can be easily achieved. But I understand your interest on CMP, is clearly evolving!

  • New problem  --  My java code can't see my CLASSES from Mapping Workbench

    Donald and others -
    I am VERY new to TopLink......
    I was at the last Oracle Developer Days in Northern Virginia. Donald convinced me and my co-workers to use TopLink for our upcoming project. I have been having tons of problems getting it to work correctly. Maybe I need a TOPLINK license plate, like Donald!!!
    Here is my newest problem. I can create a DatabaseSession, login to it, write a query and log out of it.
    However, I can only do this if I remove my classes from the Mapping Workbench. As soon as I add even one class to the Mapping Workbench......I get an error as follows:
    LOCAL EXCEPTION STACK:
    EXCEPTION [TOPLINK-3007] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.ConversionException
    EXCEPTION DESCRIPTION: The object [mil.usa.lbit.isr.TestIsr], of class [class java.lang.String], could not be converted to [class java.lang.Class]. Please ensure that the class [class java.lang.Class] is on the CLASSPATH. You may need to use alternate API passing in the appropriate class loader as required, or setting it on the default ConversionManager
    INTERNAL EXCEPTION: java.lang.ClassNotFoundException: mil.usa.lbit.isr.TestIsr
    Can anyone tell me where I need to put my class files so the java code can see them via the ISR.xml deployment file.
    I currently have these files in a .jar file on the system path and in my web-inf folder and in my project settings. I put them everywhere I could think of, but no luck.
    Here is my code:
    package mil.usa.lbit.isr;
    import mil.usa.lbit.LbitColors;
    import java.util.*;
    import java.math.*;
    import oracle.toplink.sessions.*;
    import oracle.toplink.tools.schemaframework.*;
    import oracle.toplink.exceptions.*;
    import oracle.toplink.expressions.*;
    import oracle.toplink.queryframework.*;
    import oracle.toplink.tools.workbench.*;
    public class TestIsr extends ISR {
    public DatabaseSession session;
         public Project project;
    public TestIsr() {
    this.name = "TestISR";
    this.color = LbitColors.AMBER;
    this.metric = 97.00;
    public boolean isConnected() {
    if (session == null)
    System.out.println("Not Connected");
    return false;     
    System.out.println("Connected");
    return session.isConnected();
    public void loginToDatabase() {
    Project builderProject;
    System.out.println("Attempt to login to database using TopLink:");
    project = XMLProjectReader.read("C:\\LBIT TopLink\\ISR\\ISR.xml");
    session = project.createDatabaseSession();
    session.login();
    System.out.println("Logged in");
    public void runQuery() {
    ExpressionBuilder builder = new ExpressionBuilder();
    Expression expression = builder.get("isr_id").equal(3);
    System.out.println(expression);          
    //TestIsr isr = (TestIsr) session.readObject(TestIsr.class, expression);
    //System.out.println(isr);     
    public void logoutOfDatabase() {
    session.logout();     
    System.out.println("Logged out");          
    public static void main(String[] args) {     
    TestIsr testing = new TestIsr();
    testing.isConnected();     
    testing.loginToDatabase();          
    testing.isConnected();
    testing.runQuery();
    testing.logoutOfDatabase();     
    Thanks in advance.
    Donald please email me and maybe we can chat on the phone if you want to offer some help.
    Andy

    Thanks for the reply!
    However, I did try to implement that yesterday.
    When I add the "getClass().getClassLoader()" to the "XMLProjectReader.read" call, the codes loses site of my project (.xml) file.
    Here is the new line:
    project = XMLProjectReader.read("C:\\LBIT TopLink\\ISR\\ISR.xml", getClass().getClassLoader());
    Here is the new error:
    EXCEPTION [TOPLINK-7099] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.ValidationException
    EXCEPTION DESCRIPTION: Could not find xml project file which is specified in properties file: xmlProjectFile=C:\LBIT TopLink\ISR\ISR.xml.
         oracle.toplink.exceptions.ValidationException oracle.toplink.exceptions.ValidationException.projectXMLNotFound(java.lang.String, java.lang.Exception)
         oracle.toplink.sessions.Project oracle.toplink.tools.workbench.XMLProjectReader.read(java.lang.String, java.lang.ClassLoader)
    But my code could find that file before I added the "getClass().getClassLoader()" code.
    Maybe I can avoid this problem by "deploying the XML file in my application jar?" Could you please explain more about this option after answering the first part of my question.
    Any other posters feel free to help me too.
    I know TopLink is a powerful tool, I just keep hitting these hurdles. ARRRRRRRGGGG!!!
    Thanks again,
    Andy

  • Linkage error occured when loading the class:Java Mapping

    I AM GETTING THE ABOVE ERROR IN SUB WHEN TESTING THE MAPPING .
    Source:
    <MTO_FTP_MAT_DETAILS>
    <MATDETAILS>
    <MAKTX>
    <MATNR>
    <WERKS>
    <LABST>
    <MEINS>
    <PERCNT>
    TARGET
    MTI_FTP_MAT_DETAILS
    <MATDETAILS>
    <MAKTX>
    <MATNR>
    <WERKS>
    <LABST>
    <MEINS>
    <PERCNT>
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    import com.sap.aii.mapping.api.StreamTransformation;
    class Echo {
         public static OutputStream out;
    public class myEcho extends DefaultHandler implements StreamTransformation {
         private Map map;
         public void setParameter(Map param) {
              map = param;
         public void execute(InputStream in, OutputStream out) {
              DefaultHandler handler = this;
              SAXParserFactory factory = SAXParserFactory.newInstance();
              try {
                   SAXParser saxParser = factory.newSAXParser();
                   Echo.out = out;
                   saxParser.parse(in, handler);
              } catch (Throwable t) {
                   t.printStackTrace();
         public void startDocument() throws SAXException {
              try {
                   Echo.out.write("<?xml version='1.0' encoding='UTF-8'?>".getBytes());
              } catch (IOException e) {
                   e.notify();
         public void endDocument() throws SAXException {
              try {
                   Echo.out.flush();
              } catch (IOException e) {
                   throw new SAXException("I/O error", e);
         public void startElement(String namespaceURI, String sName, // simple name
         String qName, // qualified name
         Attributes attrs) throws SAXException {
              String eName = sName; // element name
              if ("".equals(eName))
                   eName = qName; // not namespace-aware
              if ("ns0:MTO_SAP_MAT_DETAILS".equals(qName)) {
                   try {
                        Echo.out.write(("<MTI_FTP_MAT_DETAILS>").getBytes());
                   } catch (Exception e) {
                        e.printStackTrace();
              } else {
                   try {
                        Echo.out.write(("<" + qName + ">").getBytes());
                   } catch (Exception e) {
                        e.printStackTrace();
         public void endElement(String namespaceURI, String sName, // simple name
         String qName // qualified name
         ) throws SAXException {
              String eName = sName; // element name
              if ("".equals(eName))
                   eName = qName; // not namespace-aware
              if ("ns0:MTO_SAP_MAT_DETAILS".equals(qName)) {
                   try {
                        Echo.out.write(("</MTI_FTP_MAT_DETAILS>").getBytes());
                   } catch (Exception e) {
                        e.printStackTrace();
              } else {
                   try {
                        Echo.out.write(("</" + qName + ">").getBytes());
                   } catch (Exception e) {
                        e.printStackTrace();
         public void characters(char buf[], int offset, int len)
              throws SAXException {
              String s = new String(buf, offset, len);
              try {
                   Echo.out.write(s.getBytes());
              } catch (Exception e) {
                   e.printStackTrace();

    Hi,
    When you make the jar to import to XI you must verify the two classes are generated at the same time. Later you can verify in Inteface Mapping that you are using the myEcho class to do the java mapping.
    Plesae verify the java version are the same in you own machine and the xi machine.
    Regards.

  • Flex Proxy class

    Whats the benefit of using the flex 3 Proxy class? I know the description of the class. I am asking from an Architect's point of view. What benefits will it provide me? Is there any situation where using this class would not be a good idea?
    Pardon me if my question seems to kiddish or irrelevant.
    Thanks in Advance.

    http://www.slideshare.net/banjankumar/proxydesignpattern

  • CDP nei results and Flex Connect AP vlan mapping behavior

    Hi all,
        We're running controller code 7.4.100.108 and PRIME version 1.3.
        Occassionally, usually as the result of some networking event that causes flex connect AP's to lose connectivity to their controller, the flex connect AP's lose their vlan mapping configuration when they reconnect to their home controller.
        We "think" we have noticed that the cdp nei results are different for AP's that have proper vlan mappings from those that have lost their mappings.  For example, in the below example, only AP's 8213 and 8219 have lost their vlan mapping configs (all the AP's below are flex connect):
    8107   Gig 1/0/45        177           R T      AIR-LAP11 Gig 0
    8106   Gig 1/0/44        163           R T      AIR-LAP11 Gig 0
    8216   Gig 1/0/47        136           R T      AIR-LAP11 Gig 0
    8213   Gig 1/0/48        135           R T      AIR-LAP11 Gig 0.2
    8219   Gig 1/0/46        159           R T      AIR-LAP11 Gig 0.2
    8109   Gig 2/0/48        153           R T      AIR-LAP11 Gig 0
    ...and when the vlan mapping is fixed:
    8107   Gig 1/0/45        177           R T      AIR-LAP11 Gig 0
    8106   Gig 1/0/44        163           R T      AIR-LAP11 Gig 0
    8216   Gig 1/0/47        149           R T      AIR-LAP11 Gig 0
    8213   Gig 1/0/48        149           R T      AIR-LAP11 Gig 0
    8219   Gig 1/0/46        152           R T      AIR-LAP11 Gig 0
    8109   Gig 2/0/48        153           R T      AIR-LAP11 Gig 0
         I've done some reading to try to understand the details of the "Port ID" field of cdp neighbor with AP's but haven't found my answer.  I want to know what the significance of the difference between "Gig 0" and "Gig 0.2" is.
         I'm going to lab up an AP and see if I can replicate the behavior and confirm that it is related to the vlan mapping, but haven't gotten to it yet.   If anyone can point me to the nuts/bolts behind that sublte change in "Port ID" it'll help.
         By the way, I'm interested in this problem so that I can quickly identify which of my hundreds of flex connect AP's have lost their vlan mappings after a network disruptive event.  I can't find an interesting report in PRIME that will let me see it quickly.  So if a scriptable cdp nei command could identify the problem as well, that would be interesting.
         Thanks in advance for the help.

    I also have created WCS/NCS/PI templates to push the WLAN to vlan changes in the early morning just I'm case. When users start complaining, it's faster to just push out the commands to all than trying to find what AP lost its vlan setting.
    Sent from Cisco Technical Support iPhone App

  • Class architecture question

    I am coming from a c++ world into objective-c++/cocoa. I work for a company that sells static libraries to be used by other developers. Distributed with these libraries are, of course, the header files.
    Currently, I am tasked with adding cocoa support to out library. I am using a subclass of NSOpenGL (we'll call it myNSGL) to render to. For proof of concept, I placed the rendering code in the instance methods of myNSGL, and called them from my controller class. This all works fine, able to render, and so on...
    Now, I need to move this rendering code from the myNSGL class to inside our static library, abstracting it from the end user. This is where I have some questions.
    I am compiling myNSGL into the static library. I would hope that providing ONLY the h file to the client application developer would be enough. There is a problem however. The client application will compile with the header and static lib, but at runtime it complains that interface builder doesn't know what myNSGL is. In IB, I have the view's class set to myNSGL, but without the myNSGL.mm file, interface builder is lost. The question is: Is there a way to distribute ONLY the lib and h file to customers (not the lib, h, AND mm file)?
    Thanks for reading

    Hi Zakk - I think this thread is going to need Etresoft, but I have a few questions.. and on the odd chance that one of them is relevant, you'll be ahead of the game to have the answers already posted by the time you get some more help.
    ... adding cocoa support to our library
    This line scares me so I'd like to rule out my worst fears before continuing. Please tell me the Cocoa support will be a separate binary, ok?
    I would hope that providing ONLY the h file to the client application developer would be enough.
    Yes, the header certainly should be enough. Otherwise, I don't think anyone would claim that Cocoa is object oriented. AFAIK a header is all we get to see of any Cocoa framework.
    at runtime it complains that interface builder doesn't know what myNSGL is.
    Erm.. IB doesn't have anything to do with runtime. So could you clarify that? If you're getting a runtime message about IB, please post it, ok?
    In IB, I have the view's class set to myNSGL, but without the myNSGL.mm file, interface builder is lost.
    AFAIK IB only reads the @interface files. I've been confused about this in the past when it seemed like IB was in fact responding to a change in the @implementation, but each time it seemed that way further testing showed I'd reached the wrong conclusion. Of course, if someone who wasn't a team player snuck a @interface into your .mm, all bets are off.
    In general, I would be sure the .h's were correctly included into the project and I would review some of the docs on building a Cocoa library. The easiest way to make sure Xcode is set up correctly would be to start the project with the OS X Cocoa Static Library template. I had a couple ADC links to post for you, but suddenly all my dev site links are broken. Let me know if you have any shortage of library docs.
    \- Ray
    p.s.: Just saw you already have Et's attention.

  • Remote Class Mapping

    This may be just me or possibly a bug in Flex, I have a remote class and a local class and using AMFPHP the classes should map in Flex without a problem and it works... but only if I have a reference to the local class somewhere in the script block.
    For example:
    If I request an array of Employee objects they are returned as Employee objects from AMFPHP and mapped correctly as long as in the script block I have a reference to Employee even if its not used.
    public var employee:Employee = new Employee
    Remove this reference and the objects are mapped to object Object not object Employee - I'm I going crazy or is this strange behaviour from Flex, can anyone shed any light on why this might happen and how to stop it?
    Many Thanks,
    J
    UPDATE: Think I have cracked it - its because there is no refrence so even with an import statment the compiler does not include the file and therefore it cannot map to that class. Now I just need to figure out a way to force the compiler to include the file...
    Message was edited by: dataDash

    The Employee class comes with code that registers it with the AMF conversion
    code.  Without the class definition, it will revert to Object because it
    won't know how to map the fields in the AMF stream.

  • Mapping existing actionscript class (mx.collections.SortField) to java

    Hi,
    I would like to map the existing SortField actionscript class on a SortField class on my java backend.
    Is it possible to map an actionscript class from standard flex API to a java class? If so, how?
    Thanks

    Yeah, there is something awry with your mapped classes.  You don't use the java source files to map your classes, you use AS3
    classes that are designated to which classes they map to on the backend.  Observe..
    package shared.servicevos
       import flash.events.EventDispatcher;
       import flash.events.IEventDispatcher;
       [Bindable]
       [RemoteClass(alias="amf.ShopperVO")]
       public class ShopperVO
           public var shopperId:int;
           public var shopperLocation:String;
           public var shopDate:Date;
           public var shopperAddress:Address
    If you notice the the metadata beginning with "RemoteClass", I am telling Flex "when you see an object that comes in with this type "alias" it is should be made into a ShopperVO".  On the backend, I have a folder with a directory structure of /amf and it contains a ShopperVO.java class.
    P.S This isn't exactly the setup I am working with cause I am using php, but the ideas are the same.

  • EvaluatingTteststand 4.2.1: Null pointer access violation (error 17502) when attempting to use a mixed-mode std::map / boost shared_ptr class contained in a DLL through an interface from a different DLL

    Hi there.
    I have been working on a test system which will potentially have TestStand at its core, and downloaded/installed the 4.2.1 evaluation. Current details from the information dialog are:
    TestStand Engine version 4.2.1 (4.2.1.83)
    Sequence Editor Verison 4.2.1.83
    The system will drive mobile radio devices using RS232 serial interfaces, usnig a variety of serial protocols (Hayes, and a couple of proprietary binary protocols for other work).
    We already have in existence a soak tester, written in VS2005 with MFC unmanaged DLLs and also managed DLLs, which are mixed up together to provide different aspects of the functionality required for the binary protocols.
    I have created:
    1. a "master wrapper" DLL for the constellation of other DLLs - this offers up a simple C-API interface which I hope TestStand will use. It's called "SerialSessionMgr.dll""
    2. a mixed managed / unmanaged "IJW" (it just works) DLL which wraps up the binary logging protocol control interfaces, which are entirely in managed C++/CLI: the "master wrapper" DLL calls into this through an unmanaged interface to create instances of the CLI-compiled class which interfaces to the underlying managed DLLs imlpementing the logging protocol. This is called "WinTseInterface.dll".
    Before I started evaluating TestStand, I knocked up a test harness using CPPUnit / MFC, with which I was able to test SerialSessionMgr.dll and its' use of WinTseInterface.dll and verify they worked. The harness loads the DLL dynamically at run-time using AfxLoadLibrary() to try to emulate the way TestStand uses it.
    When we open a
    TSE session:
    The SerialSessionManager makes a call to the
    WinTseInterface.dll to "create" a logging instance. The instance is
    created in a std::map which is held by the CWinApp derived class, this map
    contains boost::shared_ptr of the class which works with a managed class. So we
    have a call trace: Client
    app->SerialSessionManager{TseStartSession()}->WinTseInterface{WINTSE_GetWinTseBridge()} - WINTSE_GetWinTseBridge()
    just creates a new instance of the unmanaged class which interfaces through to
    the managed CLI/C++ class beneath, and returns the address to the
    SerialSessionManager, which stores it.
    The SerialSessioManager actually initialises the WinTseBridge using a method of a C++ pure virtual interface class to the class in the std::map in the WinTseInterface DLL
    implements. The initialise call passes miscellaneous details and actually calls
    "gcnew" to create the managed class which interfaces to the
    underlying managed DLLs which implement the logging protocol.
    My logs of the DLL loading as seen in VS2005 debug output are attached this message as PDFs
    While trying to fix this, I have tried:
    Enhancing the WinTseInterface DLL so it manually loads all the other assemblies in the logging system, including the managed portion of WinTseInterface itself (no effect)
    All the different options for the way the C DLL adapter loads and unloads the DLL in the DLL adapter steptype in TestStand
    I've even tried calling directly into the WinTseInterface DLL before trying any SerialSessionManager DLL calls to try to load the WinTseInterface DLL completely beforehand
    and I cannot stop this exception.
    It seems like the object is created in the WinTseInterface DLL OK (I have debugged the creation step which runs for WINTSE_GetWinTseBridge() and the object is created OK) when the SerialSessionManager makes the call, but when it calls the first managed function, which creates the managed object, the DLL is reloaded as managed - I suspect this causes the object to be destroyed or overwritten, and thus the call to initialise bombs with null pointer violation.
    Have I done something obviously wrong, and what other approaches can I take? 
    Does TestStand 4.2.1 have issues with driving DLLs which use managed/unmanaged DLLs beneath them?
    My nuclear option is to throw the WinTseInterface DLL out completely and wrap up the managed C++ CLI code in a new interface, entirely managed, and use the TestStand ".Net" adaptor to drive that, creating my step library to run to that directly. This isn't ideal as I have some co-ordination of the protocols which is implemented in the SerialSessionMgr DLL.
    I hope someone can help. This one's low level, dirty and a stumper to me.
    Many thanks to the NI community. This is my first posting!
    Solved!
    Go to Solution.
    Attachments:
    CPPUnit Test Harness DLL load debug output.pdf ‏18 KB
    TestStand DLL load & crash debug output.pdf ‏43 KB

    Hi there Ray.
    First - many thanks for engaging with this thorny problem. Love the avatar BTW.
    I've been using the C/C++ DLL adapter: the original premise of the Serial Session Manager DLL was to provide a simple C type functional interface, using simple data types, so that TestStand would be able to drive the underlying functionality easily through a single DLL.
    Seeing as you've been kind enough to respond, I should explain the makeup of the DLLs a little more, I think.
    The SerialSessionManager (SSMgr) DLL uses C++ and MFC internally. This is the DLL which TestStand calls into directly through the C/C++ adapter. This DLL does have one odd feature though - because the it uses the Windows Multimedia Timer (implemented in WinMM.dll) I had to artificially create a scenario where it would load the .Net mscoree DLL _before_ it loads WinMM.dll - (http://connect.microsoft.com/VisualStudio/feedback/details/329819/freelibrary-in-the-winmm-dlls-modu...), basically WinMM.dll's init code gets rather upset when .Net DLLs load, which causes the entire executable to be unloaded with subsequent crashes.
    To work around this crash, the SSMgr has a single, completely empty, file which is compiled for CLR, effectively forcing a dependency into the DLL on the .Net subsystems and turning the DLL into a "IJW" binary. The resulting DLL doesn't actually have any executable managed .Net assemblies, but I'm guessing that it does contain enough .Net related stubs and information that when the DLL is loaded, mscoree.dll loads before WinMM.dll - and this means the system doesn't crash.
    Now, on to the WinTseInterface DLL. My initial description of this little software system was done in something of a hurry.
    This DLL is the C++/CLI "IJW" DLL which actually contains managed and unmanaged code. Underneath the WinTseInterface DLL is another system of (this time exclusively C++/CLI) DLL assemblies which implement the TSE protocol interpretation system.
    When the SSMgr DLL needs to start a TSE protocol session, it calls a C-API function in the WinTseInterface which creates a new CWinTseBridge class. Here's the steps in a little more detail:
    SSMgr DLL calls WINTSE_GetWinTseBridge(), passing in the name of the device which needs it (this is used to put the new WinTseBridge into a std::map in the WinTseInterface DLL) - this call runs just fine, and returns the address of the CWinTseBridge C++ object. This is stored in the SSMgr, because the CWinTseBridge class implements a pure virtual interface which is used by the SSMgr as a way of accessing the CWinTseBridge methods. 
    We now use the address from (1) to make a call to CWinTseBridge::Initialise(), passing some basic configuration details.
    I've run VS2005 debug on the Sequence Editor when running the test, and done F11 step-throughs of the code loading each parameter in the Initialise() call onto the stack, and what appears to happen is that when the call is made, the whole lot steps off into oblivion (a reference to 0x00000000 is made, I think).
    Do you think it's worth trying to get this approach to work? It would be useful to retain the control surface in the top of the SSMgr as there is co-ordination of the protocols within the logic of that component. If I move the Wintse control out into a separate managed DLL I may not have that co-ordination (this might be overcome with some design, as I've confirmed that it is possible to "reach into" the WinTseInterface DLL with TestStand and create and use managed objects from assemblies contained within).
    Are there any known issues with this version of TestStand using C/C++ CLI IJW DLLs? I haven't found much out there on the web.
    Attachments:
    Tse_Test.seq ‏7 KB

  • XML mapping inheritance problem; missing class indicator field

    Hi!
    I am currently working on a project which involves mapping a large domain model on a XSD schema. For this we use Toplink 10.1.3.1 which is mostly great. But now I have a problem while wanting to use class inheritance.
    In my XSD I have the following defined
    <xs:complexType name="Traject">
         <xs:sequence>
              <xs:element name="SoortTraject" type="SoortTraject"/>
         </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SpecialTraject">
         <xs:complexContent>
              <xs:extension base="Traject">
                   <xs:sequence>
                                 [some elements] 
                   </xs:sequence>
              </xs:extension>
         </xs:complexContent>
    </xs:complexType>My XML is an implementation of this XSD and looks like this
    <Trajecten>
            <Traject xsi:type="SpecialTraject">
                     [implementation of the elements]
             </Traject>
    </Trajecten>My domain model corresponts to the XSD, so there is a Traject object and an inherited SpecialTraject object.
    In the mapping I used the Advanced properties->inheritance on both descriptors telling the Traject descriptor that it was the 'Root Parent Descriptor' ('Use class indicator field' -> 'use XML Schema Type attribute', 'Use class indicator dictionary') and the SpecialTraject what it Child Descriptor was ('Traject').
    When I test my mapping it always results in the same error (no matter how I configure this inheritance mapping). It says :
    [TOPLINK-44] missing class indicator field
    Descriptor: XMLDescriptor(Traject --> [])What am I doing wrong? Does anybody know a sollution?
    Best regards,
    Jouke Stoel
    Developer

    This is the changed XML descriptor file. When I deploy the file it automaticly overrides the old file so it ain't possible that I was still using the wrong file
    <toplink:class-indicator-mappings>
        <toplink:class-indicator-mapping>
            <toplink:class>Traject</toplink:class>
            <toplink:class-indicator xsi:type="xsd:string">Traject</toplink:class-indicator>
        </toplink:class-indicator-mapping>
        <toplink:class-indicator-mapping>
            <toplink:class>SpecialTraject</toplink:class>
            <toplink:class-indicator xsi:type="xsd:string">SpecialTraject</toplink:class-indicator>
        </toplink:class-indicator-mapping>
    </toplink:class-indicator-mappings>I have posted the stacktrace but I had to translate a bit because my exception was in Dutch :)
    Locale is a great invention
    Exception [TOPLINK-44] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DescriptorException
    Exception description: Missing class indicator field of database row [UnmarshalRecord()].
    Descriptor: XMLDescriptor(Traject --> [])
         at oracle.toplink.exceptions.DescriptorException.missingClassIndicatorField(DescriptorException.java:887)
         at oracle.toplink.internal.ox.QNameInheritancePolicy.classFromRow(QNameInheritancePolicy.java:84)
         at oracle.toplink.internal.ox.XMLRelationshipMappingNodeValue.processChild(XMLRelationshipMappingNodeValue.java:13)
         at oracle.toplink.internal.ox.XMLCompositeCollectionMappingNodeValue.startElement(XMLCompositeCollectionMappingNodeValue.java:62)
         at oracle.toplink.ox.record.UnmarshalRecord.startElement(UnmarshalRecord.java:352)
         at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1288)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:336)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:205)
         at oracle.toplink.internal.ox.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:189)
         at oracle.toplink.internal.ox.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:147)
         at oracle.toplink.ox.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:228)
    .

Maybe you are looking for