You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/02/10 07:48:06 UTC
[13/54] [abbrv] [partial] incubator-kylin git commit: cleanup for
migration from github.com
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/job/src/test/resources/jarfile/SampleBadJavaProgram.jarfile
----------------------------------------------------------------------
diff --git a/job/src/test/resources/jarfile/SampleBadJavaProgram.jarfile b/job/src/test/resources/jarfile/SampleBadJavaProgram.jarfile
deleted file mode 100644
index 75a43d5..0000000
Binary files a/job/src/test/resources/jarfile/SampleBadJavaProgram.jarfile and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/job/src/test/resources/jarfile/SampleJavaProgram.jarfile
----------------------------------------------------------------------
diff --git a/job/src/test/resources/jarfile/SampleJavaProgram.jarfile b/job/src/test/resources/jarfile/SampleJavaProgram.jarfile
deleted file mode 100644
index 8ca85c4..0000000
Binary files a/job/src/test/resources/jarfile/SampleJavaProgram.jarfile and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/job/src/test/resources/json/dummy_jobinstance.json
----------------------------------------------------------------------
diff --git a/job/src/test/resources/json/dummy_jobinstance.json b/job/src/test/resources/json/dummy_jobinstance.json
deleted file mode 100644
index 9789b03..0000000
--- a/job/src/test/resources/json/dummy_jobinstance.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "name" : "Dummy_Job",
- "type" : "REBUILD",
- "uuid" : "8ad83b8c-6bda-4b79-864a-9566c0f8ce2c",
- "last_modified" : 0,
- "related_cube" : "test_kylin_cube_with_slr_empty",
- "related_branch" : null,
- "related_segment" : null,
- "input_parameters" : {
- "storageLocationIdentifier" : "table_abc"
- },
- "job_status" : "PENDING",
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "progress" : 0.0,
- "duration" : 0,
- "mr_waiting" : 0,
- "steps" : [ {
- "interruptCmd" : null,
- "name" : "Build Dimension Dictionary",
- "sequence_id" : 0,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.dict.CreateDictionaryJob -cubename test_kylin_cube_with_slr_empty",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Create Intermediate Flat Hive Table",
- "sequence_id" : 1,
- "exec_cmd" : "hive -e \"DROP TABLE IF EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_8ad83b8c_6bda_4b79_864a_9566c0f8ce2c;\nCREATE EXTERNAL TABLE IF NOT EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_8ad83b8c_6bda_4b79_864a_9566c0f8ce2c\n(\nCAL_DT date\n,META_CATEG_NAME string\n,CATEG_LVL2_NAME string\n,CATEG_LVL3_NAME string\n,LSTG_FORMAT_NAME string\n,SITE_ID int\n,SELLER_TYPE_CD smallint\n,SELLER_ID bigint\n,PRICE decimal\n)\nROW FORMAT DELIMITED FIELDS TERMINATED BY '\\177'\nSTORED AS SEQUENCEFILE\nLOCATION '/tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/kylin_intermediate_test_kylin_cube_with_slr_desc_8ad83b8c_6bda_4b79_864a_9566c0f8ce2c';\nSET dfs.block.size=67108864;\nSET hive.exec.compress.output=true;\nSET mapred.output.compression.type=BLOCK;\nSET mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET hive.auto.convert.join.noconditionaltask = true;\nSET hive.auto.convert.join.noconditionaltask.size = 300000000;\nINSERT OVERWRITE TABLE k
ylin_intermediate_test_kylin_cube_with_slr_desc_8ad83b8c_6bda_4b79_864a_9566c0f8ce2c\nSELECT\nTEST_CAL_DT.CAL_DT\n,TEST_CATEGORY_GROUPINGS.META_CATEG_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL2_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL3_NAME\n,TEST_KYLIN_FACT.LSTG_FORMAT_NAME\n,TEST_SITES.SITE_ID\n,TEST_SELLER_TYPE_DIM.SELLER_TYPE_CD\n,TEST_KYLIN_FACT.SELLER_ID\n,TEST_KYLIN_FACT.PRICE\nFROM TEST_KYLIN_FACT\nINNER JOIN TEST_CAL_DT\nON TEST_KYLIN_FACT.CAL_DT = TEST_CAL_DT.CAL_DT\nINNER JOIN TEST_CATEGORY_GROUPINGS\nON TEST_KYLIN_FACT.LEAF_CATEG_ID = TEST_CATEGORY_GROUPINGS.LEAF_CATEG_ID AND TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_CATEGORY_GROUPINGS.SITE_ID\nINNER JOIN TEST_SITES\nON TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_SITES.SITE_ID\nINNER JOIN TEST_SELLER_TYPE_DIM\nON TEST_KYLIN_FACT.SLR_SEGMENT_CD = TEST_SELLER_TYPE_DIM.SELLER_TYPE_CD\n;\n\"",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Build Base Cuboid Data",
- "sequence_id" : 2,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.BaseCuboidJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/kylin_intermediate_test_kylin_cube_with_slr_desc_8ad83b8c_6bda_4b79_864a_9566c0f8ce2c -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -jobname Kylin_Base_Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_2 -level 0",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Build N-Dimension Cuboid Data : 7-Dimension",
- "sequence_id" : 3,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.NDCuboidJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_3 -level 1",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Build N-Dimension Cuboid Data : 6-Dimension",
- "sequence_id" : 4,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.NDCuboidJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_4 -level 2",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Build N-Dimension Cuboid Data : 5-Dimension",
- "sequence_id" : 5,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.NDCuboidJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_5 -level 3",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Build N-Dimension Cuboid Data : 4-Dimension",
- "sequence_id" : 6,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.NDCuboidJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/4d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_6 -level 4",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Get Cuboid Data Key Distribution",
- "sequence_id" : 7,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.RangeKeyDistributionJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/rowkey_stats -jobname Kylin_Region_Splits_Calculator_test_kylin_cube_with_slr_empty_Step_7",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Create HBase Table",
- "sequence_id" : 8,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.hbase.CreateHTableJob -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/rowkey_stats/part-r-00000 -htablename table_abc",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Convert Cuboid Data to HFile",
- "sequence_id" : 9,
- "exec_cmd" : "hbase org.apache.hadoop.util.RunJar kylin-job.jar com.kylinolap.job.hadoop.cube.CubeHFileJob -D mapred.compress.map.output=true -D mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compress=true -D mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec -D mapred.output.compression.type=BLOCK -D dfs.block.size=67108864 -D ebay.alert.email=DL-eBay-Kylin@corp.ebay.com -D ebay.job.name=Kylin_Olap_Cube_Builder -cubename test_kylin_cube_with_slr_empty -input /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/hfile -htablename table_abc -jobname Kylin_HFile_Generator_test_kylin_cube_with_slr_empty_Step_9",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- }, {
- "interruptCmd" : null,
- "name" : "Load HFile to HBase Table",
- "sequence_id" : 10,
- "exec_cmd" : "hadoop fs -chmod 777 /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/hfile/*;hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/8ad83b8c-6bda-4b79-864a-9566c0f8ce2c/test_kylin_cube_with_slr_empty/hfile/ table_abc",
- "pre_exec_cmd" : null,
- "post_exec_cmd" : null,
- "interrupt_cmd" : null,
- "exec_start_time" : 0,
- "exec_end_time" : 0,
- "exec_wait_time" : 0,
- "step_status" : "PENDING",
- "cmd_type" : "MRCLI",
- "cmd_output" : null,
- "info" : null,
- "run_async" : false
- } ]
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/job/src/test/resources/partition_list/_partition.lst
----------------------------------------------------------------------
diff --git a/job/src/test/resources/partition_list/_partition.lst b/job/src/test/resources/partition_list/_partition.lst
deleted file mode 100644
index 64147d4..0000000
Binary files a/job/src/test/resources/partition_list/_partition.lst and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/job/src/test/resources/partition_list/part-r-00000
----------------------------------------------------------------------
diff --git a/job/src/test/resources/partition_list/part-r-00000 b/job/src/test/resources/partition_list/part-r-00000
deleted file mode 100644
index 07f1110..0000000
Binary files a/job/src/test/resources/partition_list/part-r-00000 and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/kylin_architecture.png
----------------------------------------------------------------------
diff --git a/kylin_architecture.png b/kylin_architecture.png
deleted file mode 100644
index 404a79f..0000000
Binary files a/kylin_architecture.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/metadata/.settings/org.eclipse.core.resources.prefs b/metadata/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 04cfa2c..0000000
--- a/metadata/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//src/test/java=UTF-8
-encoding//src/test/resources=UTF-8
-encoding/<project>=UTF-8
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/metadata/.settings/org.eclipse.jdt.core.prefs b/metadata/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a903301..0000000
--- a/metadata/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,379 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=999
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/.settings/org.eclipse.jdt.ui.prefs
----------------------------------------------------------------------
diff --git a/metadata/.settings/org.eclipse.jdt.ui.prefs b/metadata/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dece0e6..0000000
--- a/metadata/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-formatter_profile=_Space Indent & Long Lines
-formatter_settings_version=12
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.staticondemandthreshold=1
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
deleted file mode 100644
index 3e76619..0000000
--- a/metadata/pom.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>kylin-metadata</artifactId>
- <packaging>jar</packaging>
- <name>Kylin:Metadata</name>
-
- <parent>
- <groupId>com.kylinolap</groupId>
- <artifactId>kylin</artifactId>
- <version>0.6.3-SNAPSHOT</version>
- </parent>
-
- <properties>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>com.kylinolap</groupId>
- <artifactId>kylin-common</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-configuration</groupId>
- <artifactId>commons-configuration</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </dependency>
-
- <!-- Env & Test -->
-
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-hdfs</artifactId>
- <scope>provided</scope>
- <!-- protobuf version conflict with hbase-->
- <exclusions>
- <exclusion>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-common</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hbase</groupId>
- <artifactId>hbase-client</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <!--
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <appendAssemblyId>true</appendAssemblyId>
- <descriptors>
- <descriptor>
- src/main/assembly/assemble.xml
- </descriptor>
- </descriptors>
-
- </configuration>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- -->
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/src/main/assembly/assemble.xml
----------------------------------------------------------------------
diff --git a/metadata/src/main/assembly/assemble.xml b/metadata/src/main/assembly/assemble.xml
deleted file mode 100644
index 0a3c323..0000000
--- a/metadata/src/main/assembly/assemble.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
- <id>jar-with-dependencies</id>
- <formats>
- <format>jar</format>
- </formats>
- <includeBaseDirectory>false</includeBaseDirectory>
- <dependencySets>
- <dependencySet>
- <outputDirectory>/</outputDirectory>
- <useProjectArtifact>true</useProjectArtifact>
- <unpack>true</unpack>
- <scope>runtime</scope>
- <excludes>
- <!--<exclude>com.google.guava:guava</exclude>
- <exclude>org.codehaus.jackson:*</exclude> -->
- </excludes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/src/main/java/com/kylinolap/metadata/MetadataConstances.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/com/kylinolap/metadata/MetadataConstances.java b/metadata/src/main/java/com/kylinolap/metadata/MetadataConstances.java
deleted file mode 100644
index 82dc2ec..0000000
--- a/metadata/src/main/java/com/kylinolap/metadata/MetadataConstances.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2013-2014 eBay Software Foundation
- *
- * Licensed 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 com.kylinolap.metadata;
-
-/**
- * Constances to describe metadata and it's change.
- *
- * @author jianliu
- *
- */
-public interface MetadataConstances {
-
- public static final String FILE_SURFIX = ".json";
-
- // Extended attribute keys
- public static final String TABLE_EXD_STATUS_KEY = "EXD_STATUS";
- public static final String TABLE_EXD_MINFS = "minFileSize";
- public static final String TABLE_EXD_TNF = "totalNumberFiles";
- public static final String TABLE_EXD_LOCATION = "location";
- public static final String TABLE_EXD_LUT = "lastUpdateTime";
- public static final String TABLE_EXD_LAT = "lastAccessTime";
- public static final String TABLE_EXD_COLUMN = "columns";
- public static final String TABLE_EXD_PC = "partitionColumns";
- public static final String TABLE_EXD_MAXFS = "maxFileSize";
- public static final String TABLE_EXD_IF = "inputformat";
- public static final String TABLE_EXD_PARTITIONED = "partitioned";
- public static final String TABLE_EXD_TABLENAME = "tableName";
- public static final String TABLE_EXD_OWNER = "owner";
- public static final String TABLE_EXD_TFS = "totalFileSize";
- public static final String TABLE_EXD_OF = "outputformat";
- /**
- * The value is an array
- */
- public static final String TABLE_EXD_CARDINALITY = "cardinality";
- public static final String TABLE_EXD_DELIM = "delim";
- public static final String TABLE_EXD_DEFAULT_VALUE = "unknown";
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a4fd4268/metadata/src/main/java/com/kylinolap/metadata/MetadataManager.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/com/kylinolap/metadata/MetadataManager.java b/metadata/src/main/java/com/kylinolap/metadata/MetadataManager.java
deleted file mode 100644
index 8ce978f..0000000
--- a/metadata/src/main/java/com/kylinolap/metadata/MetadataManager.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * Copyright 2013-2014 eBay Software Foundation
- *
- * Licensed 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 com.kylinolap.metadata;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.google.common.collect.Lists;
-import com.kylinolap.common.KylinConfig;
-import com.kylinolap.common.persistence.JsonSerializer;
-import com.kylinolap.common.persistence.ResourceStore;
-import com.kylinolap.common.persistence.Serializer;
-import com.kylinolap.common.restclient.Broadcaster;
-import com.kylinolap.common.restclient.SingleValueCache;
-import com.kylinolap.common.util.JsonUtil;
-import com.kylinolap.metadata.model.cube.CubeDesc;
-import com.kylinolap.metadata.model.invertedindex.InvertedIndexDesc;
-import com.kylinolap.metadata.model.schema.TableDesc;
-import com.kylinolap.metadata.validation.CubeMetadataValidator;
-import com.kylinolap.metadata.validation.ValidateContext;
-
-/**
- * Serves (and caches) cube metadata for Kylin instance.
- * <p/>
- * Also provides a ResourceStore for general purpose data persistence. Cube
- * metadata is serialized as JSON and stored in ResourceStore.
- *
- * @author yangli9
- */
-public class MetadataManager {
-
- private static final Logger logger = LoggerFactory.getLogger(MetadataManager.class);
-
- private static final Serializer<CubeDesc> CUBE_SERIALIZER = new JsonSerializer<CubeDesc>(CubeDesc.class);
- private static final Serializer<TableDesc> TABLE_SERIALIZER = new JsonSerializer<TableDesc>(TableDesc.class);
- private static final Serializer<InvertedIndexDesc> IIDESC_SERIALIZER = new JsonSerializer<InvertedIndexDesc>(InvertedIndexDesc.class);
-
- TypeReference<HashMap<String, Object>> typeRef = new TypeReference<HashMap<String, Object>>() {
- };
-
- // static cached instances
- private static final ConcurrentHashMap<KylinConfig, MetadataManager> CACHE = new ConcurrentHashMap<KylinConfig, MetadataManager>();
-
- public static MetadataManager getInstance(KylinConfig config) {
- MetadataManager r = CACHE.get(config);
- if (r != null) {
- return r;
- }
-
- synchronized (MetadataManager.class) {
- r = CACHE.get(config);
- if (r != null) {
- return r;
- }
- try {
- r = new MetadataManager(config);
- CACHE.put(config, r);
- if (CACHE.size() > 1) {
- logger.warn("More than one singleton exist");
- }
-
- return r;
- } catch (IOException e) {
- throw new IllegalStateException("Failed to init CubeManager from " + config, e);
- }
- }
- }
-
- public static synchronized void removeInstance(KylinConfig config) {
- CACHE.remove(config);
- }
-
- public static void dropCache() {
- CACHE.clear();
- }
-
- // ============================================================================
-
- private KylinConfig config;
- // table name ==> SourceTable
- private SingleValueCache<String, TableDesc> srcTableMap = new SingleValueCache<String, TableDesc>(Broadcaster.TYPE.METADATA);
- // name ==> CubeDesc
- private SingleValueCache<String, CubeDesc> cubeDescMap = new SingleValueCache<String, CubeDesc>(Broadcaster.TYPE.METADATA);
- // name ==> InvertedIndexDesc
- private SingleValueCache<String, InvertedIndexDesc> iiDescMap = new SingleValueCache<String, InvertedIndexDesc>(Broadcaster.TYPE.METADATA);
- // name => value
- private SingleValueCache<String, Map<String, String>> srcTableExdMap = new SingleValueCache<String, Map<String, String>>(Broadcaster.TYPE.METADATA);
-
- private MetadataManager(KylinConfig config) throws IOException {
- init(config);
- }
-
- public KylinConfig getConfig() {
- return config;
- }
-
- public ResourceStore getStore() {
- return ResourceStore.getStore(this.config);
- }
-
- public List<TableDesc> listAllTables() {
- return Lists.newArrayList(srcTableMap.values());
- }
-
- public Map<String, Map<String, String>> listAllTableExdMap() {
- return srcTableExdMap.getMap();
- }
-
- /**
- * Get Table Desc object
- *
- * @param tableName
- * @return
- */
- public TableDesc getTableDesc(String tableName) {
- tableName = tableName.toUpperCase();
- return srcTableMap.get(tableName);
- }
-
- /**
- * Get table extended info. Keys are defined in {@link MetadataConstances}
- *
- * @param tableName
- * @return
- */
- public Map<String, String> getTableDescExd(String tableName) {
- tableName = tableName.toUpperCase();
- Map<String, String> result = new HashMap<String, String>();
- if (srcTableExdMap.containsKey(tableName)) {
- Map<String, String> tmp = srcTableExdMap.get(tableName);
- Iterator<Entry<String, String>> it = tmp.entrySet().iterator();
- while (it.hasNext()) {
- Entry<String, String> entry = it.next();
- result.put(entry.getKey(), entry.getValue());
- }
- result.put(MetadataConstances.TABLE_EXD_STATUS_KEY, "true");
- } else {
- result.put(MetadataConstances.TABLE_EXD_STATUS_KEY, "false");
- }
- return result;
- }
-
- public void createSourceTable(TableDesc srcTable) throws IOException {
- if (srcTable.getUuid() == null || srcTable.getName() == null)
- throw new IllegalArgumentException();
- if (srcTableMap.containsKey(srcTable.getName()))
- throw new IllegalArgumentException("SourceTable '" + srcTable.getName() + "' already exists");
-
- String path = srcTable.getResourcePath();
- getStore().putResource(path, srcTable, TABLE_SERIALIZER);
-
- srcTableMap.put(srcTable.getName(), srcTable);
- }
-
- public InvertedIndexDesc getInvertedIndexDesc(String name) {
- return iiDescMap.get(name);
- }
-
- public CubeDesc getCubeDesc(String name) {
- return cubeDescMap.get(name);
- }
-
- /**
- * Create a new CubeDesc
- *
- * @param cubeDesc
- * @return
- * @throws IOException
- */
- public CubeDesc createCubeDesc(CubeDesc cubeDesc) throws IOException {
- if (cubeDesc.getUuid() == null || cubeDesc.getName() == null)
- throw new IllegalArgumentException();
- if (cubeDescMap.containsKey(cubeDesc.getName()))
- throw new IllegalArgumentException("CubeDesc '" + cubeDesc.getName() + "' already exists");
-
- try {
- cubeDesc.init(config, srcTableMap.getMap());
- } catch (IllegalStateException e) {
- cubeDesc.addError(e.getMessage(), true);
- }
- // Check base validation
- if (!cubeDesc.getError().isEmpty()) {
- return cubeDesc;
- }
- // Semantic validation
- CubeMetadataValidator validator = new CubeMetadataValidator();
- ValidateContext context = validator.validate(cubeDesc, true);
- if (!context.ifPass()) {
- return cubeDesc;
- }
-
- cubeDesc.setSignature(cubeDesc.calculateSignature());
-
- String path = cubeDesc.getResourcePath();
- getStore().putResource(path, cubeDesc, CUBE_SERIALIZER);
- cubeDescMap.put(cubeDesc.getName(), cubeDesc);
-
- return cubeDesc;
- }
-
- // remove cubeDesc
- public void removeCubeDesc(CubeDesc cubeDesc) throws IOException{
- String path = cubeDesc.getResourcePath();
- getStore().deleteResource(path);
- cubeDescMap.remove(cubeDesc.getName());
- }
-
- // sync on update
- private void init(KylinConfig config) throws IOException {
- this.config = config;
- reloadAllSourceTable();
- reloadAllSourceTableExd();
- reloadAllCubeDesc();
- reloadAllInvertedIndexDesc();
- }
-
- private void reloadAllSourceTableExd() throws IOException {
- ResourceStore store = getStore();
- logger.debug("Reloading SourceTable exd info from folder " + store.getReadableResourcePath(ResourceStore.TABLE_EXD_RESOURCE_ROOT));
-
- srcTableExdMap.clear();
-
- List<String> paths = store.collectResourceRecursively(ResourceStore.TABLE_EXD_RESOURCE_ROOT, MetadataConstances.FILE_SURFIX);
- for (String path : paths) {
- Map<String, String> attrContainer = new HashMap<String, String>();
- String tableName = loadSourceTableExd(getStore(), path, attrContainer);
- srcTableExdMap.putLocal(tableName.toUpperCase(), attrContainer);
- }
- logger.debug("Loaded " + paths.size() + " SourceTable EXD(s)");
- }
-
- private void reloadAllSourceTable() throws IOException {
- ResourceStore store = getStore();
- logger.debug("Reloading SourceTable from folder " + store.getReadableResourcePath(ResourceStore.TABLE_RESOURCE_ROOT));
-
- srcTableMap.clear();
-
- List<String> paths = store.collectResourceRecursively(ResourceStore.TABLE_RESOURCE_ROOT, MetadataConstances.FILE_SURFIX);
- for (String path : paths) {
- loadSourceTable(path);
- }
-
- logger.debug("Loaded " + paths.size() + " SourceTable(s)");
- }
-
- @SuppressWarnings("unchecked")
- /**
- * return table name
- */
- public static String loadSourceTableExd(ResourceStore store, String path, Map<String, String> attrContainer) throws IOException {
-
- logger.debug("Loading SourceTable exd " + path);
- InputStream is = store.getResource(path);
- if (is != null) {
- attrContainer.putAll(JsonUtil.readValue(is, HashMap.class));
- String file = path;
- if (file.indexOf("/") > -1) {
- file = file.substring(file.lastIndexOf("/") + 1);
- }
- return file.substring(0, file.length() - MetadataConstances.FILE_SURFIX.length());
- } else {
- logger.debug("Failed to get table exd info from " + path);
- return null;
- }
- }
-
- private TableDesc loadSourceTable(String path) throws IOException {
- ResourceStore store = getStore();
- logger.debug("Loading SourceTable " + store.getReadableResourcePath(path));
-
- TableDesc t = store.getResource(path, TableDesc.class, TABLE_SERIALIZER);
- t.init();
-
- if (StringUtils.isBlank(t.getName()))
- throw new IllegalStateException("SourceTable name must not be blank");
- if (srcTableMap.containsKey(t.getName()))
- throw new IllegalStateException("Dup SourceTable name '" + t.getName() + "'");
-
- srcTableMap.putLocal(t.getName(), t);
-
- return t;
- }
-
- private void reloadAllCubeDesc() throws IOException {
- ResourceStore store = getStore();
- logger.info("Reloading Cube Metadata from folder " + store.getReadableResourcePath(ResourceStore.CUBE_DESC_RESOURCE_ROOT));
-
- cubeDescMap.clear();
-
- List<String> paths = store.collectResourceRecursively(ResourceStore.CUBE_DESC_RESOURCE_ROOT, MetadataConstances.FILE_SURFIX);
- for (String path : paths) {
- CubeDesc desc;
- try {
- desc = loadCubeDesc(path);
- } catch (Exception e) {
- logger.error("Error loading cube desc " + path, e);
- continue;
- }
- if (path.equals(desc.getResourcePath()) == false) {
- logger.error("Skip suspicious desc at " + path + ", " + desc + " should be at " + desc.getResourcePath());
- continue;
- }
- if (cubeDescMap.containsKey(desc.getName())) {
- logger.error("Dup CubeDesc name '" + desc.getName() + "' on path " + path);
- continue;
- }
-
- cubeDescMap.putLocal(desc.getName(), desc);
- }
-
- logger.debug("Loaded " + cubeDescMap.size() + " Cube(s)");
- }
-
- private CubeDesc loadCubeDesc(String path) throws IOException {
- ResourceStore store = getStore();
- logger.debug("Loading CubeDesc " + store.getReadableResourcePath(path));
-
- CubeDesc ndesc = store.getResource(path, CubeDesc.class, CUBE_SERIALIZER);
-
- if (StringUtils.isBlank(ndesc.getName())) {
- throw new IllegalStateException("CubeDesc name must not be blank");
- }
-
- ndesc.init(config, srcTableMap.getMap());
-
- if (ndesc.getError().isEmpty() == false) {
- throw new IllegalStateException("Cube desc at " + path + " has issues: " + ndesc.getError());
- }
-
- return ndesc;
- }
-
- private void reloadAllInvertedIndexDesc() throws IOException {
- ResourceStore store = getStore();
- logger.info("Reloading Inverted Index Desc from folder " + store.getReadableResourcePath(ResourceStore.IIDESC_RESOURCE_ROOT));
-
- iiDescMap.clear();
-
- List<String> paths = store.collectResourceRecursively(ResourceStore.IIDESC_RESOURCE_ROOT, ".json");
- for (String path : paths) {
- InvertedIndexDesc desc;
- try {
- desc = loadInvertedIndexDesc(path);
- } catch (Exception e) {
- logger.error("Error loading inverted index desc " + path, e);
- continue;
- }
- if (path.equals(desc.getResourcePath()) == false) {
- logger.error("Skip suspicious desc at " + path + ", " + desc + " should be at " + desc.getResourcePath());
- continue;
- }
- if (iiDescMap.containsKey(desc.getName())) {
- logger.error("Dup InvertedIndexDesc name '" + desc.getName() + "' on path " + path);
- continue;
- }
-
- iiDescMap.putLocal(desc.getName(), desc);
- }
-
- logger.debug("Loaded " + iiDescMap.size() + " Inverted Index Desc(s)");
- }
-
- private InvertedIndexDesc loadInvertedIndexDesc(String path) throws IOException {
- ResourceStore store = getStore();
- logger.debug("Loading InvertedIndexDesc " + store.getReadableResourcePath(path));
-
- InvertedIndexDesc desc = store.getResource(path, InvertedIndexDesc.class, IIDESC_SERIALIZER);
- if (StringUtils.isBlank(desc.getName())) {
- throw new IllegalStateException("InvertedIndexDesc name must not be blank");
- }
-
- desc.init(this);
-
- return desc;
- }
-
- /**
- * Update CubeDesc with the input. Broadcast the event into cluster
- *
- * @param desc
- * @return
- * @throws IOException
- */
- public CubeDesc updateCubeDesc(CubeDesc desc) throws IOException {
- // Validate CubeDesc
- if (desc.getUuid() == null || desc.getName() == null) {
- throw new IllegalArgumentException();
- }
- String name = desc.getName();
- if (!cubeDescMap.containsKey(name)) {
- throw new IllegalArgumentException("CubeDesc '" + name + "' does not exist.");
- }
-
- try {
- desc.init(config, srcTableMap.getMap());
- } catch (IllegalStateException e) {
- desc.addError(e.getMessage(), true);
- return desc;
- } catch (IllegalArgumentException e) {
- desc.addError(e.getMessage(), true);
- return desc;
- }
-
- // Semantic validation
- CubeMetadataValidator validator = new CubeMetadataValidator();
- ValidateContext context = validator.validate(desc, true);
- if (!context.ifPass()) {
- return desc;
- }
-
- desc.setSignature(desc.calculateSignature());
-
- // Save Source
- String path = desc.getResourcePath();
- getStore().putResource(path, desc, CUBE_SERIALIZER);
-
- // Reload the CubeDesc
- CubeDesc ndesc = loadCubeDesc(path);
- // Here replace the old one
- cubeDescMap.put(ndesc.getName(), desc);
-
- return ndesc;
- }
-
- /**
- * Reload CubeDesc from resource store It will be triggered by an desc
- * update event.
- *
- * @param name
- * @throws IOException
- */
- public CubeDesc reloadCubeDesc(String name) throws IOException {
-
- // Save Source
- String path = CubeDesc.getCubeDescResourcePath(name);
-
- // Reload the CubeDesc
- CubeDesc ndesc = loadCubeDesc(path);
-
- // Here replace the old one
- cubeDescMap.put(ndesc.getName(), ndesc);
- return ndesc;
- }
-
- /**
- * Tell CubeManager that the cube instance has changed. The cube info will
- * be stored Reload the cube desc and source table A broadcast must be sent
- * out
- *
- * @return
- * @throws IOException
- */
- public void reload() {
- removeInstance(config);
- getInstance(config);
- }
-
-}