@@ -657,7 +657,7 @@ public static Entity createScalar(DATA_TYPE dataType, Object object, int extraPa
657657 return createAnyVector (dataType , (Short []) object , extraParam );
658658 }
659659 if (object instanceof short []) {
660- return createAnyVector (dataType , (short []) object , extraParam );
660+ return createAnyVector (dataType ,(short [])object ,extraParam );
661661 }
662662 if (object instanceof Integer ) {
663663 return createScalar (dataType , (int ) object , extraParam );
@@ -666,7 +666,7 @@ public static Entity createScalar(DATA_TYPE dataType, Object object, int extraPa
666666 return createAnyVector (dataType , (Integer [])object , extraParam );
667667 }
668668 if (object instanceof int []){
669- return createAnyVector (dataType , (int [])object , extraParam );
669+ return createAnyVector (dataType , (int [])object , extraParam );
670670 }
671671 if (object instanceof Long ) {
672672 return createScalar (dataType , (long ) object , extraParam );
@@ -740,6 +740,13 @@ public static Entity createScalar(DATA_TYPE dataType, Object object, int extraPa
740740 throw new RuntimeException ("Failed to insert data. invalid data type for " +dataType + "." );
741741 }
742742
743+ private static boolean vectorAndTypeIsRight (DATA_TYPE dataType ,DATA_TYPE comparedDataType ){
744+ if (dataType .getValue ()<64 ){
745+ throw new RuntimeException ("Failed to insert data, only arrayVector support data vector for " +dataType + "." );
746+ }
747+ return dataType .equals (comparedDataType );
748+ }
749+
743750 private static <T > Vector createAnyVector (DATA_TYPE dataType , T [] val , int extraParam ) throws Exception {
744751 if (dataType .getValue ()<64 ){
745752 throw new RuntimeException ("Failed to insert data, only arrayVector support data vector for " +dataType + "." );
@@ -758,133 +765,120 @@ private static <T> Vector createAnyVector(DATA_TYPE dataType, T[] val, int extra
758765 return vector ;
759766 }
760767
761- private static < T > Vector createAnyVector (DATA_TYPE dataType , float [] val , int extraParam ) throws Exception {
762- if ( dataType . getValue ()< 64 ){
763- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
768+ private static Vector createAnyVector (DATA_TYPE dataType , float [] val , int extraParam ) throws Exception {
769+ if ( vectorAndTypeIsRight ( dataType , DT_FLOAT_ARRAY ) ){
770+ return new BasicFloatVector ( val );
764771 }
765772 dataType = values ()[dataType .getValue ()-64 ];
766773 int count = val .length ;
767774 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
768775 for (int i = 0 ; i < count ; ++i )
769776 {
770- Entity t = createScalar (dataType , val [i ], extraParam );
771- vector .set (i , ( Scalar ) t );
777+ Scalar t = createScalar (dataType , val [i ], extraParam );
778+ vector .set (i , t );
772779 }
773780 return vector ;
774781 }
775- private static < T > Vector createAnyVector (DATA_TYPE dataType , double [] val , int extraParam ) throws Exception {
776- if ( dataType . getValue ()< 64 ){
777- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
782+ private static Vector createAnyVector (DATA_TYPE dataType , double [] val , int extraParam ) throws Exception {
783+ if ( vectorAndTypeIsRight ( dataType , DT_DOUBLE_ARRAY ) ){
784+ return new BasicDoubleVector ( val );
778785 }
779786 dataType = values ()[dataType .getValue ()-64 ];
780787 int count = val .length ;
781788 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
782789 for (int i = 0 ; i < count ; ++i )
783790 {
784- Entity t = createScalar (dataType , val [i ], extraParam );
785- vector .set (i , ( Scalar ) t );
791+ Scalar t = createScalar (dataType , val [i ], extraParam );
792+ vector .set (i , t );
786793 }
787794 return vector ;
788795 }
789- private static < T > Vector createAnyVector (DATA_TYPE dataType , int [] val , int extraParam ) throws Exception {
790- if ( dataType . getValue ()< 64 ) {
791- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
796+ private static Vector createAnyVector (DATA_TYPE dataType , int [] val , int extraParam ) throws Exception {
797+ if ( vectorAndTypeIsRight ( dataType , DT_INT_ARRAY )) {
798+ return new BasicIntVector ( val );
792799 }
793800 dataType = values ()[dataType .getValue ()-64 ];
794801 int count = val .length ;
795802 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
796- // if (dataType == DT_DECIMAL32 || dataType == DT_DECIMAL64 || dataType == DT_DECIMAL128){
797- // ((AbstractVector)vector).setExtraParamForType(extraParam);
798- // }
803+
799804 for (int i = 0 ; i < count ; ++i )
800805 {
801- Entity t = createScalar (dataType , val [i ], extraParam );
802- vector .set (i , ( Scalar ) t );
806+ Scalar t = createScalar (dataType , val [i ], extraParam );
807+ vector .set (i , t );
803808 }
804809 return vector ;
805810 }
806- private static < T > Vector createAnyVector (DATA_TYPE dataType , short [] val , int extraParam ) throws Exception {
807- if ( dataType . getValue ()< 64 ) {
808- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
811+ private static Vector createAnyVector (DATA_TYPE dataType , short [] val , int extraParam ) throws Exception {
812+ if ( vectorAndTypeIsRight ( dataType , DT_SHORT_ARRAY )) {
813+ return new BasicShortVector ( val );
809814 }
810815 dataType = values ()[dataType .getValue ()-64 ];
811816 int count = val .length ;
812817 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
813- // if (dataType == DT_DECIMAL32 || dataType == DT_DECIMAL64 || dataType == DT_DECIMAL128){
814- // ((AbstractVector)vector).setExtraParamForType(extraParam);
815- // }
818+
816819 for (int i = 0 ; i < count ; ++i )
817820 {
818- Entity t = createScalar (dataType , val [i ]);
819- vector .set (i , ( Scalar ) t );
821+ Scalar t = createScalar (dataType , val [i ]);
822+ vector .set (i , t );
820823 }
821824 return vector ;
822825 }
823- private static < T > Vector createAnyVector (DATA_TYPE dataType , byte [] val , int extraParam ) throws Exception {
824- if ( dataType . getValue ()< 64 ){
825- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
826+ private static Vector createAnyVector (DATA_TYPE dataType , byte [] val , int extraParam ) throws Exception {
827+ if ( vectorAndTypeIsRight ( dataType , DT_BYTE_ARRAY ) ){
828+ return new BasicByteVector ( val );
826829 }
827830 dataType = values ()[dataType .getValue ()-64 ];
828831 int count = val .length ;
829832 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
830- // if (dataType == DT_DECIMAL32 || dataType == DT_DECIMAL64 || dataType == DT_DECIMAL128){
831- // ((AbstractVector)vector).setExtraParamForType(extraParam);
832- // }
833+
833834 for (int i = 0 ; i < count ; ++i )
834835 {
835- Entity t = createScalar (dataType , val [i ]);
836- vector .set (i , ( Scalar ) t );
836+ Scalar t = createScalar (dataType , val [i ]);
837+ vector .set (i , t );
837838 }
838839 return vector ;
839840 }
840- private static < T > Vector createAnyVector (DATA_TYPE dataType , char [] val , int extraParam ) throws Exception {
841+ private static Vector createAnyVector (DATA_TYPE dataType , char [] val , int extraParam ) throws Exception {
841842 if (dataType .getValue ()<64 ){
842843 throw new RuntimeException ("Failed to insert data, only arrayVector support data vector for " +dataType + "." );
843844 }
844845 dataType = values ()[dataType .getValue ()-64 ];
845846 int count = val .length ;
846847 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
847- // if (dataType == DT_DECIMAL32 || dataType == DT_DECIMAL64 || dataType == DT_DECIMAL128){
848- // ((AbstractVector)vector).setExtraParamForType(extraParam);
849- // }
848+
850849 for (int i = 0 ; i < count ; ++i )
851850 {
852- Entity t = createScalar (dataType , val [i ]);
853- vector .set (i , ( Scalar ) t );
851+ Scalar t = createScalar (dataType , val [i ]);
852+ vector .set (i , t );
854853 }
855854 return vector ;
856855 }
857- private static < T > Vector createAnyVector (DATA_TYPE dataType , boolean [] val , int extraParam ) throws Exception {
858- if ( dataType . getValue ()< 64 ) {
859- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
856+ private static Vector createAnyVector (DATA_TYPE dataType , boolean [] val , int extraParam ) throws Exception {
857+ if ( vectorAndTypeIsRight ( dataType , DT_BOOL_ARRAY )) {
858+ return new BasicBooleanVector (( val ) );
860859 }
861860 dataType = values ()[dataType .getValue ()-64 ];
862861 int count = val .length ;
863862 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
864- // if (dataType == DT_DECIMAL32 || dataType == DT_DECIMAL64 || dataType == DT_DECIMAL128){
865- // ((AbstractVector)vector).setExtraParamForType(extraParam);
866- // }
863+
867864 for (int i = 0 ; i < count ; ++i )
868865 {
869- Entity t = createScalar (dataType , val [i ]);
870- vector .set (i , ( Scalar ) t );
866+ Scalar t = createScalar (dataType , val [i ]);
867+ vector .set (i , t );
871868 }
872869 return vector ;
873870 }
874- private static < T > Vector createAnyVector (DATA_TYPE dataType , long [] val , int extraParam ) throws Exception {
875- if ( dataType . getValue ()< 64 ){
876- throw new RuntimeException ( "Failed to insert data, only arrayVector support data vector for " + dataType + "." );
871+ private static Vector createAnyVector (DATA_TYPE dataType , long [] val , int extraParam ) throws Exception {
872+ if ( vectorAndTypeIsRight ( dataType , DT_LONG_ARRAY ) ){
873+ return new BasicLongVector ( val );
877874 }
878875 dataType = values ()[dataType .getValue ()-64 ];
879876 int count = val .length ;
880877 Vector vector = BasicEntityFactory .instance ().createVectorWithDefaultValue (dataType , count , extraParam );
881- // if (dataType == DT_DECIMAL32 || dataType == DT_DECIMAL64 || dataType == DT_DECIMAL128){
882- // ((AbstractVector)vector).setExtraParamForType(extraParam);
883- // }
884878 for (int i = 0 ; i < count ; ++i )
885879 {
886- Entity t = createScalar (dataType , val [i ], extraParam );
887- vector .set (i , ( Scalar ) t );
880+ Scalar t = createScalar (dataType , val [i ], extraParam );
881+ vector .set (i , t );
888882 }
889883 return vector ;
890884 }
0 commit comments