Package org.eclipse.persistence.internal.helper

Examples of org.eclipse.persistence.internal.helper.ComplexDatabaseType


            DatabaseType type = inArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode());
            }
            else {
                ComplexDatabaseType complexType = (ComplexDatabaseType)type;
                if (inArg.inIndex != MIN_VALUE) {
                    if (type instanceof PLSQLCollection) {
                        DatabaseType nestedType = ((PLSQLCollection)type).getNestedType();
                        if (nestedType != null) {
                            ObjectRelationalDatabaseField field =
                                new ObjectRelationalDatabaseField(inArg.name);
                            field.setSqlType(nestedType.getConversionCode());
                            if (nestedType.isComplexDatabaseType()) {
                                field.setSqlTypeName(((ComplexDatabaseType)nestedType).getCompatibleType());
                            }
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(),
                                complexType.getCompatibleType(), field);
                        }
                        else {
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(),
                                complexType.getCompatibleType());
                        }
                    }
                    else {
                        super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(),
                            complexType.getCompatibleType());
                    }
                }
            }
        }
        List<PLSQLargument> outArguments = getArguments(arguments, OUT);
        outArguments.addAll(inOutArguments);
        for (ListIterator<PLSQLargument> outArgsIter = outArguments.listIterator(); outArgsIter.hasNext();) {
            PLSQLargument outArg = outArgsIter.next();
            newIndex = outArg.databaseType.computeOutIndex(outArg, newIndex,
                outArgsIter);
        }
        for (PLSQLargument outArg : outArguments) {
          DatabaseType type = outArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode());
            } else {
              ComplexDatabaseType complexType = (ComplexDatabaseType)type;
                if (outArg.outIndex != MIN_VALUE) {
                  if (complexType instanceof PLSQLCollection) {
                    DatabaseType nestedType = ((PLSQLCollection)complexType).getNestedType();
                    if (nestedType != null) {
                      ObjectRelationalDatabaseField nestedField = new ObjectRelationalDatabaseField(outArg.name);
                      nestedField.setSqlType(nestedType.getConversionCode());
                      if (nestedType.isComplexDatabaseType()) {
                        ComplexDatabaseType complexNestedType = (ComplexDatabaseType)nestedType;
                          nestedField.setType(complexNestedType.getJavaType());
                          nestedField.setSqlTypeName(complexNestedType.getCompatibleType());
                      }
                          super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(),
                              complexType.getCompatibleType(), complexType.getJavaType(), nestedField);                     
                    } else {
                          super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getCompatibleType());
View Full Code Here


                DatabaseType databaseType, Set<DatabaseType> processed) {
        if ((databaseType == null) || !databaseType.isComplexDatabaseType()
            || databaseType.isJDBCType() || processed.contains(databaseType)) {
            return;
        }
        ComplexDatabaseType type = (ComplexDatabaseType)databaseType;
        if (!type.hasCompatibleType()) {
            return;
        }
        processed.add(type);
        if (type instanceof PLSQLCollection) {
            DatabaseType nestedType = ((PLSQLCollection)type).getNestedType();
            addNestedFunctionsForArgument(functions, argument, nestedType, processed);
        } else if (type instanceof PLSQLrecord) {
            for (PLSQLargument field : ((PLSQLrecord)type).getFields()) {
              DatabaseType nestedType = field.databaseType;
                addNestedFunctionsForArgument(functions, argument, nestedType, processed);
            }
        }
        TypeInfo info = this.typesInfo.get(type.getTypeName());
        // If the info was not found in publisher, then generate it.
        if (info == null) {
            info = generateNestedFunction((ComplexDatabaseType)type);
        }
        if (argument.direction == IN) {
View Full Code Here

     */
    public static DatabaseTypeWrapper wrapType(DatabaseType databaseType) {
        if (databaseType.isJDBCType()) {
            return new JDBCTypeWrapper(databaseType);
        } else if (databaseType.isComplexDatabaseType()) {
            ComplexDatabaseType complexType = (ComplexDatabaseType)databaseType;
            if (complexType.isRecord()) {
              return new PLSQLRecordWrapper(databaseType);
            } else if (complexType.isCollection()) {
              return new PLSQLCollectionWrapper(databaseType);
            }
        } else {
            return new SimplePLSQLTypeWrapper(databaseType);
        }
View Full Code Here

        for (PLSQLargument inArg : inArguments) {
            DatabaseType type = inArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode());
            } else {
                ComplexDatabaseType complexType = (ComplexDatabaseType) type;
                if (inArg.inIndex != MIN_VALUE) {
                    if (type instanceof PLSQLCollection) {
                        DatabaseType nestedType = ((PLSQLCollection) type).getNestedType();
                        if (nestedType != null) {
                            ObjectRelationalDatabaseField field = new ObjectRelationalDatabaseField(inArg.name);
                            field.setSqlType(nestedType.getConversionCode());
                            if (nestedType.isComplexDatabaseType()) {
                                field.setSqlTypeName(((ComplexDatabaseType) nestedType).getCompatibleType());
                            }
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType(), field);
                        } else {
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType());
                        }
                    } else {
                        super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType());
                    }
                }
            }
        }
        List<PLSQLargument> outArguments = getArguments(arguments, OUT);
        outArguments.addAll(inOutArguments);
        for (ListIterator<PLSQLargument> outArgsIter = outArguments.listIterator(); outArgsIter.hasNext();) {
            PLSQLargument outArg = outArgsIter.next();
            newIndex = outArg.databaseType.computeOutIndex(outArg, newIndex, outArgsIter);
        }
        for (PLSQLargument outArg : outArguments) {
            DatabaseType type = outArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode());
            } else {
                ComplexDatabaseType complexType = (ComplexDatabaseType) type;
                if (outArg.outIndex != MIN_VALUE) {
                    if (complexType instanceof PLSQLCollection) {
                        DatabaseType nestedType = ((PLSQLCollection) complexType).getNestedType();
                        if (nestedType != null) {
                            ObjectRelationalDatabaseField nestedField = new ObjectRelationalDatabaseField(outArg.name);
                            nestedField.setSqlType(nestedType.getConversionCode());
                            if (nestedType.isComplexDatabaseType()) {
                                ComplexDatabaseType complexNestedType = (ComplexDatabaseType) nestedType;
                                nestedField.setType(complexNestedType.getJavaType());
                                nestedField.setSqlTypeName(complexNestedType.getCompatibleType());
                            }
                            super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getCompatibleType(), complexType.getJavaType(), nestedField);
                        } else {
                            super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getCompatibleType());
                        }
View Full Code Here

                DatabaseType databaseType, Set<DatabaseType> processed) {
        if ((databaseType == null) || !databaseType.isComplexDatabaseType()
                || databaseType.isJDBCType() || processed.contains(databaseType)) {
            return;
        }
        ComplexDatabaseType type = (ComplexDatabaseType)databaseType;
        if (!type.hasCompatibleType()) {
            return;
        }
        processed.add(type);
        if (type instanceof PLSQLCollection) {
            DatabaseType nestedType = ((PLSQLCollection)type).getNestedType();
            addNestedFunctionsForArgument(functions, argument, nestedType, processed);
        } else if (type instanceof PLSQLrecord) {
            for (PLSQLargument field : ((PLSQLrecord)type).getFields()) {
                DatabaseType nestedType = field.databaseType;
                addNestedFunctionsForArgument(functions, argument, nestedType, processed);
            }
        }
        TypeInfo info = this.typesInfo.get(type.getTypeName());
        // If the info was not found in publisher, then generate it.
        if (info == null) {
            info = generateNestedFunction(type);
        }
        if (argument.direction == IN) {
View Full Code Here

    /**
     * Wrap the type in a type wrapper to handle XML conversion.
     */
    public static DatabaseTypeWrapper wrapType(DatabaseType databaseType) {
        if (databaseType.isComplexDatabaseType()) {
            ComplexDatabaseType complexType = (ComplexDatabaseType)databaseType;
            if (complexType.isJDBCType()) {
              if (complexType.isCollection()) {
                return new OracleArrayTypeWrapper(databaseType);
              }
              return new OracleObjectTypeWrapper(databaseType);
            }
            if (complexType.isRecord()) {
              return new PLSQLRecordWrapper(databaseType);
            }
            if (complexType.isCollection()) {
              return new PLSQLCollectionWrapper(databaseType);
            }
            if (complexType.isCursor()) {
                return new PLSQLCursorWrapper(databaseType);
            }
        } else if (databaseType.isJDBCType()) {
            return new JDBCTypeWrapper(databaseType);
        } else {
View Full Code Here

     */
    public static DatabaseTypeWrapper wrapType(DatabaseType databaseType) {
        if (databaseType.isJDBCType()) {
            return new JDBCTypeWrapper(databaseType);
        } else if (databaseType.isComplexDatabaseType()) {
            ComplexDatabaseType complexType = (ComplexDatabaseType)databaseType;
            if (complexType.isRecord()) {
              return new PLSQLRecordWrapper(databaseType);
            } else if (complexType.isCollection()) {
              return new PLSQLCollectionWrapper(databaseType);
            }
        } else {
            return new SimplePLSQLTypeWrapper(databaseType);
        }
View Full Code Here

            DatabaseType type = inArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode());
            }
            else {
                ComplexDatabaseType complexType = (ComplexDatabaseType)type;
                if (inArg.inIndex != MIN_VALUE) {
                    if (type instanceof PLSQLCollection) {
                        DatabaseType nestedType = ((PLSQLCollection)type).getNestedType();
                        if (nestedType != null) {
                            ObjectRelationalDatabaseField field =
                                new ObjectRelationalDatabaseField(inArg.name);
                            field.setSqlType(nestedType.getConversionCode());
                            if (nestedType.isComplexDatabaseType()) {
                                field.setSqlTypeName(((ComplexDatabaseType)nestedType).getCompatibleType());
                            }
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(),
                                complexType.getCompatibleType(), field);
                        }
                        else {
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(),
                                complexType.getCompatibleType());
                        }
                    }
                    else {
                        super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(),
                            complexType.getCompatibleType());
                    }
                }
            }
        }
        List<PLSQLargument> outArguments = getArguments(arguments, OUT);
        outArguments.addAll(inOutArguments);
        for (ListIterator<PLSQLargument> outArgsIter = outArguments.listIterator(); outArgsIter.hasNext();) {
            PLSQLargument outArg = outArgsIter.next();
            newIndex = outArg.databaseType.computeOutIndex(outArg, newIndex,
                outArgsIter);
        }
        for (PLSQLargument outArg : outArguments) {
          DatabaseType type = outArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode());
            } else {
              ComplexDatabaseType complexType = (ComplexDatabaseType)type;
                if (outArg.outIndex != MIN_VALUE) {
                  if (complexType instanceof PLSQLCollection) {
                    DatabaseType nestedType = ((PLSQLCollection)complexType).getNestedType();
                    if (nestedType != null) {
                      ObjectRelationalDatabaseField nestedField = new ObjectRelationalDatabaseField(outArg.name);
                      nestedField.setSqlType(nestedType.getConversionCode());
                      if (nestedType.isComplexDatabaseType()) {
                        ComplexDatabaseType complexNestedType = (ComplexDatabaseType)nestedType;
                          nestedField.setType(complexNestedType.getJavaType());
                          nestedField.setSqlTypeName(complexNestedType.getCompatibleType());
                      }
                          super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(),
                              complexType.getCompatibleType(), complexType.getJavaType(), nestedField);                     
                    } else {
                          super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getCompatibleType());
View Full Code Here

                DatabaseType databaseType, Set<DatabaseType> processed) {
        if ((databaseType == null) || !databaseType.isComplexDatabaseType()
            || databaseType.isJDBCType() || processed.contains(databaseType)) {
            return;
        }
        ComplexDatabaseType type = (ComplexDatabaseType)databaseType;
        if (!type.hasCompatibleType()) {
            return;
        }
        processed.add(type);
        if (type instanceof PLSQLCollection) {
            DatabaseType nestedType = ((PLSQLCollection)type).getNestedType();
            addNestedFunctionsForArgument(functions, argument, nestedType, processed);
        } else if (type instanceof PLSQLrecord) {
            for (PLSQLargument field : ((PLSQLrecord)type).getFields()) {
              DatabaseType nestedType = field.databaseType;
                addNestedFunctionsForArgument(functions, argument, nestedType, processed);
            }
        }
        TypeInfo info = this.typesInfo.get(type.getTypeName());
        // If the info was not found in publisher, then generate it.
        if (info == null) {
            info = generateNestedFunction((ComplexDatabaseType)type);
        }
        if (argument.direction == IN) {
View Full Code Here

        for (PLSQLargument inArg : inArguments) {
            DatabaseType type = inArg.databaseType;
            if (!type.isComplexDatabaseType()) {
                super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode());
            } else {
                ComplexDatabaseType complexType = (ComplexDatabaseType) type;
                if (inArg.inIndex != MIN_VALUE) {
                  if (type instanceof OracleObjectType) {
                        super.addNamedArgument(inArg.name, inArg.name, Types.STRUCT, complexType.getCompatibleType());
                  } else if (complexType instanceof OracleArrayType) {
                        DatabaseType nestedType = ((OracleArrayType) type).getNestedType();
                        if (nestedType != null) {
                            ObjectRelationalDatabaseField field = new ObjectRelationalDatabaseField(inArg.name);
                            field.setSqlType(Types.STRUCT);
                            if (nestedType.isComplexDatabaseType()) {
                                field.setSqlTypeName(((ComplexDatabaseType) nestedType).getCompatibleType());
                            }
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType(), field);
                        } else {
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType());
                        }
                  } else if (type instanceof PLSQLCollection) {
                        DatabaseType nestedType = ((PLSQLCollection) type).getNestedType();
                        if (nestedType != null) {
                            ObjectRelationalDatabaseField field = new ObjectRelationalDatabaseField(inArg.name);
                            field.setSqlType(nestedType.getConversionCode());
                            if (nestedType.isComplexDatabaseType()) {
                                field.setSqlTypeName(((ComplexDatabaseType) nestedType).getCompatibleType());
                            }
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType(), field);
                        } else {
                            super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType());
                        }
                    } else {
                        super.addNamedArgument(inArg.name, inArg.name, type.getConversionCode(), complexType.getCompatibleType());
                    }
                }
            }
        }
        List<PLSQLargument> outArguments = getArguments(arguments, OUT);
        outArguments.addAll(inOutArguments);
        for (ListIterator<PLSQLargument> outArgsIter = outArguments.listIterator(); outArgsIter.hasNext();) {
            PLSQLargument outArg = outArgsIter.next();
            newIndex = outArg.databaseType.computeOutIndex(outArg, newIndex, outArgsIter);
        }
        for (PLSQLargument outArg : outArguments) {
            if (outArg.cursorOutput) {
                super.useNamedCursorOutputAsResultSet(outArg.name);
            } else {
                DatabaseType type = outArg.databaseType;
                if (!type.isComplexDatabaseType()) {
                    // for XMLType, we need to set type name parameter (will be "XMLTYPE")
                    if (type == XMLType) {
                        super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), type.getTypeName());
                    } else {
                super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode());
                    }
                } else {
                    ComplexDatabaseType complexType = (ComplexDatabaseType) type;
                    if (outArg.outIndex != MIN_VALUE) {
                        if (complexType instanceof OracleArrayType) {
                            DatabaseType nestedType = ((OracleArrayType) complexType).getNestedType();
                            if (nestedType != null) {
                                ObjectRelationalDatabaseField nestedField = new ObjectRelationalDatabaseField(outArg.name);
                                nestedField.setSqlType(Types.STRUCT);
                                if (nestedType.isComplexDatabaseType()) {
                                    ComplexDatabaseType complexNestedType = (ComplexDatabaseType) nestedType;
                                    nestedField.setType(complexNestedType.getJavaType());
                                    nestedField.setSqlTypeName(complexNestedType.getCompatibleType());
                                }
                              super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getTypeName(), complexType.getJavaType(), nestedField);
                            } else {
                              super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getTypeName(), complexType.getJavaType());
                            }
                        } else if (complexType instanceof OracleObjectType) {
                          super.addNamedOutputArgument(outArg.name, outArg.name, Types.STRUCT, complexType.getTypeName(), complexType.getJavaType());
                        } else if (complexType instanceof PLSQLCollection) {
                            DatabaseType nestedType = ((PLSQLCollection) complexType).getNestedType();
                            if (nestedType != null) {
                                ObjectRelationalDatabaseField nestedField = new ObjectRelationalDatabaseField(outArg.name);
                                nestedField.setSqlType(nestedType.getConversionCode());
                                if (nestedType.isComplexDatabaseType()) {
                                    ComplexDatabaseType complexNestedType = (ComplexDatabaseType) nestedType;
                                    nestedField.setType(complexNestedType.getJavaType());
                                    nestedField.setSqlTypeName(complexNestedType.getCompatibleType());
                                }
                                super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getCompatibleType(), complexType.getJavaType(), nestedField);
                            } else {
                                super.addNamedOutputArgument(outArg.name, outArg.name, type.getConversionCode(), complexType.getCompatibleType());
                            }
View Full Code Here

TOP

Related Classes of org.eclipse.persistence.internal.helper.ComplexDatabaseType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.