Skip to content

Commit 0b82881

Browse files
committed
Revert "revert hard code"
This reverts commit 3cc6e16.
1 parent 3cc6e16 commit 0b82881

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

adapter/orc/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
# under the License.
1717

1818
find_package(Arrow REQUIRED)
19+
find_package(Protobuf REQUIRED)
1920

2021
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
2122
${JNI_INCLUDE_DIRS} ${JNI_HEADERS_DIR})
@@ -35,7 +36,8 @@ add_jar(arrow_java_jni_orc_jar
3536
add_library(arrow_java_jni_orc SHARED src/main/cpp/jni_wrapper.cpp)
3637
set_property(TARGET arrow_java_jni_orc PROPERTY OUTPUT_NAME "arrow_orc_jni")
3738
target_link_libraries(arrow_java_jni_orc arrow_java_jni_orc_headers jni
38-
Arrow::arrow_static)
39+
Arrow::arrow_static
40+
${Protobuf_LIBRARIES})
3941

4042
set(ARROW_JAVA_JNI_ORC_LIBDIR
4143
"${CMAKE_INSTALL_PREFIX}/lib/arrow_orc_jni/${ARROW_JAVA_JNI_ARCH_DIR}")

dataset/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
find_package(ArrowDataset REQUIRED)
1919
find_package(ArrowSubstrait REQUIRED)
20+
find_package(Protobuf REQUIRED)
2021

2122
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
2223
${JNI_INCLUDE_DIRS} ${JNI_HEADERS_DIR})
@@ -39,7 +40,8 @@ target_link_libraries(arrow_java_jni_dataset
3940
arrow_java_jni_dataset_headers
4041
jni
4142
ArrowDataset::arrow_dataset_static
42-
ArrowSubstrait::arrow_substrait_static)
43+
ArrowSubstrait::arrow_substrait_static
44+
${Protobuf_LIBRARIES})
4345

4446
if(BUILD_TESTING)
4547
add_executable(arrow-java-jni-dataset-test src/main/cpp/jni_util_test.cc

dataset/src/main/cpp/jni_wrapper.cc

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@
3030
#ifdef ARROW_CSV
3131
#include "arrow/dataset/file_csv.h"
3232
#endif
33+
#ifdef ARROW_ORC
34+
#include "arrow/dataset/file_orc.h"
35+
#endif
36+
#ifdef ARROW_JSON
37+
#include "arrow/dataset/file_json.h"
38+
#endif
3339
#include "arrow/filesystem/api.h"
3440
#include "arrow/filesystem/path_util.h"
3541
#include "arrow/engine/substrait/util.h"
@@ -141,20 +147,25 @@ arrow::Result<std::shared_ptr<arrow::dataset::FileFormat>> GetFileFormat(
141147
jint file_format_id) {
142148
switch (file_format_id) {
143149
case 0:
144-
return std::make_shared<arrow::dataset::ParquetFileFormat>();
150+
return std::static_pointer_cast<arrow::dataset::FileFormat>(
151+
std::make_shared<arrow::dataset::ParquetFileFormat>());
145152
case 1:
146-
return std::make_shared<arrow::dataset::IpcFileFormat>();
153+
return std::static_pointer_cast<arrow::dataset::FileFormat>(
154+
std::make_shared<arrow::dataset::IpcFileFormat>());
147155
#ifdef ARROW_ORC
148156
case 2:
149-
return std::make_shared<arrow::dataset::OrcFileFormat>();
157+
return std::static_pointer_cast<arrow::dataset::FileFormat>(
158+
std::make_shared<arrow::dataset::OrcFileFormat>());
150159
#endif
151160
#ifdef ARROW_CSV
152161
case 3:
153-
return std::make_shared<arrow::dataset::CsvFileFormat>();
162+
return std::static_pointer_cast<arrow::dataset::FileFormat>(
163+
std::make_shared<arrow::dataset::CsvFileFormat>());
154164
#endif
155165
#ifdef ARROW_JSON
156166
case 4:
157-
return std::make_shared<arrow::dataset::JsonFileFormat>();
167+
return std::static_pointer_cast<arrow::dataset::FileFormat>(
168+
std::make_shared<arrow::dataset::JsonFileFormat>());
158169
#endif
159170
default:
160171
std::string error_message =

dataset/src/main/java/org/apache/arrow/dataset/jni/JniLoader.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222
import java.io.InputStream;
2323
import java.nio.file.Files;
24+
import java.nio.file.Path;
2425
import java.nio.file.StandardCopyOption;
2526
import java.util.ArrayList;
2627
import java.util.Collections;
@@ -76,14 +77,13 @@ private synchronized void loadRemaining() {
7677
}
7778

7879
private void load(String name) {
79-
final String libraryToLoad =
80+
final String libraryToLoad = "/Users/yuxia/Projects/cpp-projects/arrow/java-dist/lib/" +
8081
name + "/" + getNormalizedArch() + "/" + System.mapLibraryName(name);
8182
try {
8283
File temp =
8384
File.createTempFile("jnilib-", ".tmp", new File(System.getProperty("java.io.tmpdir")));
8485
temp.deleteOnExit();
85-
try (final InputStream is =
86-
JniWrapper.class.getClassLoader().getResourceAsStream(libraryToLoad)) {
86+
try (final InputStream is = Files.newInputStream(Path.of(libraryToLoad))) {
8787
if (is == null) {
8888
throw new FileNotFoundException(libraryToLoad);
8989
}

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ under the License.
7676
<module>algorithm</module>
7777
<module>adapter/avro</module>
7878
<module>compression</module>
79+
<module>adapter/orc</module>
80+
<module>dataset</module>
7981
</modules>
8082

8183
<scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">

0 commit comments

Comments
 (0)