Skip to content

Commit 3be445c

Browse files
author
lucaijun
committed
AJ-266: optimize some code logic
1 parent 5557ce4 commit 3be445c

File tree

1 file changed

+52
-58
lines changed

1 file changed

+52
-58
lines changed

src/com/xxdb/data/BasicEntityFactory.java

Lines changed: 52 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)