cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bimargul...@apache.org
Subject svn commit: r707902 - in /cxf/trunk: common/common/src/main/java/org/apache/cxf/common/xmlschema/ rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/ rt/javascript/src/main/java/org/apache/cxf/javascript/ rt/javascript/src/main/java...
Date Sat, 25 Oct 2008 20:43:59 GMT
Author: bimargulies
Date: Sat Oct 25 13:43:58 2008
New Revision: 707902

URL: http://svn.apache.org/viewvc?rev=707902&view=rev
Log:
Add test case for generic of generics. It passes, perhaps issue was already fixed. Initial
swat at supporting inheritance.

Added:
    cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java
  (with props)
    cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java
  (with props)
Modified:
    cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteral.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteralImpl.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java
    cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/Messages.properties
    cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java
    cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
    cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
    cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitWrappedClientTest.java
    cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrapped.java
    cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrappedImpl.java

Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
(original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
Sat Oct 25 13:43:58 2008
@@ -86,7 +86,7 @@
     public XmlSchemaElement getElementByQName(QName qname) {
         return schemaCollection.getElementByQName(qname);
     }
-
+    
     public XmlSchemaAttribute getAttributeByQName(QName qname) {
         String uri = qname.getNamespaceURI();
         for (XmlSchema schema : schemaCollection.getXmlSchemas()) {

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteral.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteral.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteral.java
(original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteral.java
Sat Oct 25 13:43:58 2008
@@ -18,9 +18,11 @@
  */
 package org.apache.cxf.aegis.type.java5.map;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+
 import javax.jws.WebService;
 
 @WebService(targetNamespace = "uri:org.apache.cxf.aegis.test.map", 
@@ -34,5 +36,8 @@
     List<Student> getStudents(Map<String, String> filters);
 
     List<Student> getStudentsByIds(List<String> ids);
+    
+    //CHECKSTYLE:OFF
+    void takeMapMap(HashMap<String, HashMap<String, Student>> myComplexData);
 
 }

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteralImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteralImpl.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteralImpl.java
(original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceDocLiteralImpl.java
Sat Oct 25 13:43:58 2008
@@ -63,4 +63,9 @@
         return studentMap;
     }
 
+    //CHECKSTYLE:OFF
+    public void takeMapMap(HashMap<String, HashMap<String, Student>> myComplexData)
{
+        // original failure was explosion on this, no need to bother to fill it in.
+    }
+
 }

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java
(original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java
Sat Oct 25 13:43:58 2008
@@ -18,12 +18,15 @@
  */
 package org.apache.cxf.aegis.type.java5.map;
 
+import java.util.HashMap;
 import java.util.Map;
 
 import org.w3c.dom.Document;
 
 import org.apache.cxf.aegis.AbstractAegisTest;
 import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.frontend.ClientProxyFactoryBean;
+import org.apache.cxf.frontend.ServerFactoryBean;
 import org.apache.cxf.interceptor.LoggingInInterceptor;
 import org.apache.cxf.interceptor.LoggingOutInterceptor;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
@@ -74,6 +77,35 @@
     }
 
     @Test 
+    public void testMapMap() throws Exception {
+
+        ServerFactoryBean sf = new ServerFactoryBean();
+        sf.setServiceClass(StudentServiceDocLiteral.class);
+        sf.setServiceBean(new StudentServiceDocLiteralImpl());
+        sf.setAddress("local://StudentServiceDocLiteral");
+        setupAegis(sf);
+        Server server = sf.create();
+        server.getEndpoint().getInInterceptors().add(new LoggingInInterceptor());
+        server.getEndpoint().getOutInterceptors().add(new LoggingOutInterceptor());
+        server.start();
+        
+        ClientProxyFactoryBean proxyFac = new ClientProxyFactoryBean();
+        proxyFac.setAddress("local://StudentServiceDocLiteral");
+        proxyFac.setServiceClass(StudentServiceDocLiteral.class);
+        proxyFac.setBus(getBus());
+        setupAegis(proxyFac.getClientFactoryBean());
+        //CHECKSTYLE:OFF
+        HashMap<String, Student> mss = new HashMap<String, Student>();
+        mss.put("Alice", new Student());
+        HashMap<String, HashMap<String, Student>> mmss = new HashMap<String,
HashMap<String, Student>>();
+        mmss.put("Bob", mss);
+        
+        StudentServiceDocLiteral clientInterface = (StudentServiceDocLiteral)proxyFac.create();
+        clientInterface.takeMapMap(mmss);
+        //CHECKSTYLE:ON
+    }
+    
+    @Test 
     public void testReturnMapDocLiteral() throws Exception {
 
         JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();

Modified: cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/Messages.properties
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/Messages.properties?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/Messages.properties (original)
+++ cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/Messages.properties Sat
Oct 25 13:43:58 2008
@@ -31,3 +31,4 @@
 IMPOSSIBLE_GLOBAL_ITEM= JavaScript limitation: Element or xs:any at {0} used in a context
that requires a global name, but it, and its type, are anonymous.
 MISSING_TYPE=Type {0} is missing from the WSDL schema for element {1}. {2}
 ATTRIBUTE_DANGLING_REFERENCE=Attribute {0} refers to undefined attribute {1}.
+ELEMENT_DANGLING_REFERENCE= Element {0} refers to undefined element {1}.

Modified: cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java (original)
+++ cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java Sat
Oct 25 13:43:58 2008
@@ -32,7 +32,10 @@
 import org.apache.ws.commons.schema.XmlSchemaAny;
 import org.apache.ws.commons.schema.XmlSchemaAnyAttribute;
 import org.apache.ws.commons.schema.XmlSchemaAttribute;
+import org.apache.ws.commons.schema.XmlSchemaComplexContentExtension;
 import org.apache.ws.commons.schema.XmlSchemaComplexType;
+import org.apache.ws.commons.schema.XmlSchemaContent;
+import org.apache.ws.commons.schema.XmlSchemaContentModel;
 import org.apache.ws.commons.schema.XmlSchemaElement;
 import org.apache.ws.commons.schema.XmlSchemaForm;
 import org.apache.ws.commons.schema.XmlSchemaObject;
@@ -87,6 +90,52 @@
         
     }
     
+    public static QName getBaseType(XmlSchemaComplexType type) {
+        XmlSchemaContentModel model = type.getContentModel();
+        if (model == null) {
+            return null;
+        }
+        XmlSchemaContent content = model.getContent();
+        if (content == null) {
+            return null;
+        }
+        
+        if (!(content instanceof XmlSchemaComplexContentExtension)) {
+            return null;
+        }
+
+        XmlSchemaComplexContentExtension ext = (XmlSchemaComplexContentExtension)content;
+        QName baseTypeName = ext.getBaseTypeName();
+        return baseTypeName;
+    }
+    
+    public static XmlSchemaSequence getContentSequence(XmlSchemaComplexType type) {
+        XmlSchemaContentModel model = type.getContentModel();
+        if (model == null) {
+            return null;
+        }
+        XmlSchemaContent content = model.getContent();
+        if (content == null) {
+            return null;
+        }
+        if (!(content instanceof XmlSchemaComplexContentExtension)) {
+            return null;
+        }
+
+        XmlSchemaComplexContentExtension ext = (XmlSchemaComplexContentExtension)content;
+        XmlSchemaParticle particle = ext.getParticle();
+        if (particle == null) {
+            return null;
+        }
+        XmlSchemaSequence sequence = null;
+        try {
+            sequence = (XmlSchemaSequence) particle;
+        } catch (ClassCastException cce) {
+            unsupportedConstruct("NON_SEQUENCE_PARTICLE", type);
+        }
+        return sequence;
+    }
+    
     public static XmlSchemaSequence getSequence(XmlSchemaComplexType type) {
         XmlSchemaParticle particle = type.getParticle();
         XmlSchemaSequence sequence = null;

Modified: cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
(original)
+++ cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
Sat Oct 25 13:43:58 2008
@@ -188,7 +188,7 @@
                 }
                 // If the element uses a named type, we use the functions for the type.
                 XmlSchemaComplexType elementType = (XmlSchemaComplexType)element.getSchemaType();
-                if (elementType.getQName() != null) {
+                if (elementType != null && elementType.getQName() != null) {
                     name = elementType.getQName();
                 }
                 utils.appendLine("this.globalElementSerializers['" + name.toString() + "']
= "

Modified: cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
(original)
+++ cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
Sat Oct 25 13:43:58 2008
@@ -53,8 +53,6 @@
  * Generate Javascript for a schema, and provide information needed for the
  * service builder. As of this pass, there is no support for non-sequence types
  * or for attribute mappings.
- * 
- * @author bimargulies
  */
 public class SchemaJavascriptBuilder {
 
@@ -349,8 +347,20 @@
      */
     protected void complexTypeSerializerBody(XmlSchemaComplexType type, String elementPrefix,
                                              JavascriptUtils bodyUtils) {
+        XmlSchemaSequence sequence = null;
+        // deal with type extension.
+        QName baseTypeName = XmlSchemaUtils.getBaseType(type);
+        if (baseTypeName !=  null) {
+            XmlSchemaType baseType = xmlSchemaCollection.getTypeByQName(baseTypeName);
+            XmlSchemaComplexType baseComplexType = (XmlSchemaComplexType) baseType;
+            // I think we can recurse ...?
+            complexTypeSerializerBody(baseComplexType, elementPrefix, bodyUtils);
+            sequence = XmlSchemaUtils.getContentSequence(type);
+        }
 
-        XmlSchemaSequence sequence = XmlSchemaUtils.getSequence(type);
+        if (sequence == null) {
+            sequence = XmlSchemaUtils.getSequence(type);
+        }
 
         for (int i = 0; i < sequence.getItems().getCount(); i++) {
             XmlSchemaObject sequenceItem = (XmlSchemaObject)sequence.getItems().getItem(i);

Modified: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitWrappedClientTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitWrappedClientTest.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitWrappedClientTest.java
(original)
+++ cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DocLitWrappedClientTest.java
Sat Oct 25 13:43:58 2008
@@ -233,6 +233,18 @@
     }
     
     @Test
+    public void inheritedProperties() {
+        testUtilities.runInsideContext(Void.class, new JSRunnable<Void>() {
+
+            public Void run(Context context) {
+                return null;
+            }
+            
+        });
+    }
+
+    
+    @Test
     public void callTest2WithNullString() {
         testUtilities.runInsideContext(Void.class, new JSRunnable<Void>() {
             public Void run(Context context) {
@@ -298,4 +310,5 @@
         testUtilities.rhinoCallMethod(rv, "setStringItem", beanTwoItem.stringItem);
         return rv;
     }
+    
 }

Added: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java?rev=707902&view=auto
==============================================================================
--- cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java
(added)
+++ cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java
Sat Oct 25 13:43:58 2008
@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.javascript.fortest;
+
+//import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * 
+ */
+//@XmlRootElement(name = "InheritanceTestBase")
+@XmlType(namespace = "uri:org.apache.cxf.javascript.testns")
+public class InheritanceTestBase {
+    private int id;
+    private String name;
+    public int getId() {
+        return id;
+    }
+    public void setId(int id) {
+        this.id = id;
+    }
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+}

Propchange: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestBase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java?rev=707902&view=auto
==============================================================================
--- cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java
(added)
+++ cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java
Sat Oct 25 13:43:58 2008
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.javascript.fortest;
+
+//import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * 
+ */
+//@XmlRootElement(name = "InheritanceTestDerived")
+@XmlType(namespace = "uri:org.apache.cxf.javascript.testns")
+public class InheritanceTestDerived extends InheritanceTestBase {
+    private String derived;
+
+    public String getDerived() {
+        return derived;
+    }
+
+    public void setDerived(String derived) {
+        this.derived = derived;
+    }
+
+}

Propchange: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/InheritanceTestDerived.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrapped.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrapped.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrapped.java
(original)
+++ cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrapped.java
Sat Oct 25 13:43:58 2008
@@ -70,4 +70,7 @@
     @WebMethod
     void genericTestFunction(@WebParam(name = "g1") SpecificGenericClass sgc,
                              @WebParam(name = "g2") GenericGenericClass<Double> ggc);
+    
+    @WebMethod 
+    void inheritanceTestFunction(@WebParam(name = "d") InheritanceTestDerived d);
 }

Modified: cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrappedImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrappedImpl.java?rev=707902&r1=707901&r2=707902&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrappedImpl.java
(original)
+++ cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/fortest/SimpleDocLitWrappedImpl.java
Sat Oct 25 13:43:58 2008
@@ -37,6 +37,7 @@
     private TestBean1[] lastBean1Array;
     private SpecificGenericClass lastSpecificGeneric;
     private GenericGenericClass<Double> lastGenericGeneric;
+    private InheritanceTestDerived lastInheritanceTestDerived;
 
     /** {@inheritDoc}*/
     public int basicTypeFunctionReturnInt(String s, int i, long l, float f, double d) {
@@ -119,6 +120,10 @@
         lastSpecificGeneric = sgc;
         lastGenericGeneric = ggc;
     }
+    
+    public void inheritanceTestFunction(InheritanceTestDerived d) {
+        lastInheritanceTestDerived = d;
+    }
 
     public SpecificGenericClass getLastSpecificGeneric() {
         return lastSpecificGeneric;
@@ -127,4 +132,9 @@
     public GenericGenericClass<Double> getLastGenericGeneric() {
         return lastGenericGeneric;
     }
+
+    public InheritanceTestDerived getLastInheritanceTestDerived() {
+        return lastInheritanceTestDerived;
+    }
+
 }



Mime
View raw message