You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hdt.apache.org by rs...@apache.org on 2013/07/25 06:29:24 UTC
[8/8] git commit: HDT-32: Merge the code base of Hadoop-Eclipse
project into HDT. Contributed by Srimanth Gunturi
HDT-32: Merge the code base of Hadoop-Eclipse project into HDT.
Contributed by Srimanth Gunturi
Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/63bec260
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/63bec260
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/63bec260
Branch: refs/heads/hadoop-eclipse-merge
Commit: 63bec2607fdb96f57cc5c8b71561c03bbc986502
Parents: 0a0744f
Author: Rahul Sharma <rs...@apache.org>
Authored: Thu Jul 25 09:08:50 2013 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Thu Jul 25 09:11:50 2013 +0530
----------------------------------------------------------------------
org.apache.hdt.core/.classpath | 8 +
org.apache.hdt.core/.project | 28 +
.../.settings/org.eclipse.core.resources.prefs | 3 +
.../.settings/org.eclipse.jdt.core.prefs | 276 ++++
.../.settings/org.eclipse.jdt.ui.prefs | 6 +
org.apache.hdt.core/META-INF/MANIFEST.MF | 27 +
org.apache.hdt.core/build.properties | 9 +
org.apache.hdt.core/models/Hadoop.ecore | 92 ++
org.apache.hdt.core/models/Hadoop.genmodel | 28 +
org.apache.hdt.core/plugin.properties | 8 +
org.apache.hdt.core/plugin.xml | 43 +
.../org.apache.hadoop.eclipse.hdfsclient.exsd | 118 ++
...g.apache.hadoop.eclipse.zookeeperClient.exsd | 111 ++
org.apache.hdt.core/src/log4j.properties | 17 +
.../src/org/apache/hdt/core/Activator.java | 63 +
.../org/apache/hdt/core/hdfs/HDFSClient.java | 114 ++
.../hdt/core/hdfs/ResourceInformation.java | 213 +++
.../apache/hdt/core/internal/HadoopManager.java | 83 ++
.../hdt/core/internal/hdfs/DownloadFileJob.java | 137 ++
.../hdt/core/internal/hdfs/HDFSFileStore.java | 594 ++++++++
.../hdt/core/internal/hdfs/HDFSFileSystem.java | 57 +
.../hdt/core/internal/hdfs/HDFSManager.java | 285 ++++
.../core/internal/hdfs/HDFSMoveDeleteHook.java | 130 ++
.../hdfs/HDFSTeamRepositoryProvider.java | 41 +
.../apache/hdt/core/internal/hdfs/HDFSURI.java | 73 +
.../hdt/core/internal/hdfs/HDFSUtilites.java | 86 ++
.../internal/hdfs/InterruptableHDFSClient.java | 260 ++++
.../hdt/core/internal/hdfs/UploadFileJob.java | 150 ++
.../hdt/core/internal/model/HDFSServer.java | 127 ++
.../hdt/core/internal/model/HadoopFactory.java | 85 ++
.../hdt/core/internal/model/HadoopPackage.java | 1380 ++++++++++++++++++
.../apache/hdt/core/internal/model/Server.java | 175 +++
.../hdt/core/internal/model/ServerStatus.java | 247 ++++
.../apache/hdt/core/internal/model/Servers.java | 103 ++
.../apache/hdt/core/internal/model/ZNode.java | 527 +++++++
.../hdt/core/internal/model/ZNodeType.java | 251 ++++
.../core/internal/model/ZooKeeperServer.java | 35 +
.../internal/model/impl/HDFSServerImpl.java | 310 ++++
.../internal/model/impl/HadoopFactoryImpl.java | 195 +++
.../internal/model/impl/HadoopPackageImpl.java | 621 ++++++++
.../core/internal/model/impl/ServerImpl.java | 395 +++++
.../core/internal/model/impl/ServersImpl.java | 271 ++++
.../hdt/core/internal/model/impl/ZNodeImpl.java | 1017 +++++++++++++
.../model/impl/ZooKeeperServerImpl.java | 1109 ++++++++++++++
.../model/util/HadoopAdapterFactory.java | 208 +++
.../core/internal/model/util/HadoopSwitch.java | 229 +++
.../zookeeper/InterruptableZooKeeperClient.java | 233 +++
.../internal/zookeeper/ZooKeeperManager.java | 162 ++
.../hdt/core/zookeeper/ZooKeeperClient.java | 45 +
org.apache.hdt.feature/.project | 17 +
org.apache.hdt.feature/build.properties | 1 +
org.apache.hdt.feature/feature.xml | 68 +
org.apache.hdt.hadoop.release/.classpath | 25 +
org.apache.hdt.hadoop.release/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 276 ++++
.../.settings/org.eclipse.jdt.ui.prefs | 6 +
.../META-INF/MANIFEST.MF | 27 +
org.apache.hdt.hadoop.release/build.properties | 23 +
org.apache.hdt.hadoop.release/fragment.xml | 36 +
.../hdt/hadoop/release/HDFSClientRelease.java | 235 +++
.../hadoop/release/ZooKeeperClientRelease.java | 215 +++
org.apache.hdt.ui.test/.classpath | 7 +
org.apache.hdt.ui.test/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 7 +
org.apache.hdt.ui.test/META-INF/MANIFEST.MF | 14 +
org.apache.hdt.ui.test/build.properties | 5 +
org.apache.hdt.ui.test/plugin.xml | 21 +
.../src/org/apache/hdt/ui/test/Activator.java | 67 +
.../src/org/apache/hdt/ui/test/AllTests.java | 21 +
.../org/apache/hdt/ui/test/hdfs/HDFSTests.java | 20 +
.../org/apache/hdt/ui/test/hdfs/ModelTests.java | 22 +
org.apache.hdt.ui/.classpath | 7 +
org.apache.hdt.ui/.project | 28 +
.../.settings/org.eclipse.jdt.core.prefs | 276 ++++
.../.settings/org.eclipse.jdt.ui.prefs | 6 +
org.apache.hdt.ui/META-INF/MANIFEST.MF | 19 +
org.apache.hdt.ui/NOTICE.txt | 2 +
org.apache.hdt.ui/build.properties | 9 +
org.apache.hdt.ui/plugin.xml | 424 ++++++
.../src/org/apache/hdt/ui/Activator.java | 135 ++
.../hdt/ui/internal/HadoopAdapterFactory.java | 30 +
.../internal/HadoopCommonContentProvider.java | 182 +++
.../hdt/ui/internal/HadoopLabelProvider.java | 177 +++
.../ui/internal/HadoopPerspectiveFactory.java | 40 +
.../hdt/ui/internal/HadoopServersView.java | 29 +
.../hdfs/DiscardDownloadResourceAction.java | 132 ++
.../hdt/ui/internal/hdfs/DisconnectAction.java | 88 ++
.../internal/hdfs/DownloadResourceAction.java | 124 ++
.../hdfs/HDFSCommonContentProvider.java | 188 +++
.../hdfs/HDFSFileStorePropertySource.java | 177 +++
.../hdt/ui/internal/hdfs/HDFSLabelProvider.java | 153 ++
.../hdfs/HDFSLightweightLabelDecorator.java | 163 +++
.../ui/internal/hdfs/HDFSPropertySection.java | 182 +++
.../ui/internal/hdfs/NewHDFSServerAction.java | 62 +
.../internal/hdfs/NewHDFSServerWizardPage.java | 242 +++
.../hdt/ui/internal/hdfs/NewHDFSWizard.java | 96 ++
.../ui/internal/hdfs/PropertyTypeMapper.java | 29 +
.../hdt/ui/internal/hdfs/ReconnectAction.java | 88 ++
.../ui/internal/hdfs/UploadResourceAction.java | 123 ++
.../hdt/ui/internal/zookeeper/DeleteAction.java | 119 ++
.../ui/internal/zookeeper/DisconnectAction.java | 95 ++
.../zookeeper/NewZooKeeperServerAction.java | 62 +
.../zookeeper/NewZooKeeperServerWizardPage.java | 129 ++
.../internal/zookeeper/NewZooKeeperWizard.java | 81 +
.../hdt/ui/internal/zookeeper/OpenAction.java | 102 ++
.../ui/internal/zookeeper/ReconnectAction.java | 95 ++
.../ui/internal/zookeeper/RefreshAction.java | 85 ++
.../internal/zookeeper/ZNodePropertySource.java | 226 +++
.../ZooKeeperCommonContentProvider.java | 187 +++
.../zookeeper/ZooKeeperLabelProvider.java | 87 ++
.../ZooKeeperLightweightLabelDecorator.java | 67 +
.../zookeeper/ZooKeeperNodeEditorInput.java | 126 ++
.../zookeeper/ZooKeeperNodeStorage.java | 94 ++
org.apache.hdt.updateSite/.project | 17 +
org.apache.hdt.updateSite/site.xml | 7 +
115 files changed, 16744 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/.classpath
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/.classpath b/org.apache.hdt.core/.classpath
new file mode 100644
index 0000000..c5158db
--- /dev/null
+++ b/org.apache.hdt.core/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry exported="true" kind="lib" path="lib/log4j/log4j-1.2.17.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/.project
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/.project b/org.apache.hdt.core/.project
new file mode 100644
index 0000000..bb03cc0
--- /dev/null
+++ b/org.apache.hdt.core/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.apache.hdt.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/.settings/org.eclipse.core.resources.prefs b/org.apache.hdt.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..fc54be2
--- /dev/null
+++ b/org.apache.hdt.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Wed Mar 13 23:19:03 PDT 2013
+eclipse.preferences.version=1
+encoding//models/Hadoop.ecore=UTF-8
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/.settings/org.eclipse.jdt.core.prefs b/org.apache.hdt.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..9e90209
--- /dev/null
+++ b/org.apache.hdt.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,276 @@
+#Mon Mar 18 00:41:50 PDT 2013
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+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_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.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=true
+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=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+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.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_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=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_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_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_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_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_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_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=160
+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=tab
+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_outer_expressions_when_nested=false
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/.settings/org.eclipse.jdt.ui.prefs
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/.settings/org.eclipse.jdt.ui.prefs b/org.apache.hdt.core/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..7223ecf
--- /dev/null
+++ b/org.apache.hdt.core/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,6 @@
+#Thu Mar 21 01:21:51 PDT 2013
+eclipse.preferences.version=1
+formatter_profile=_Apache Hadoop Eclipse Format
+formatter_settings_version=11
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context
" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * "License"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http\://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n</template><tem
plate autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author Srimanth Gunturi\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javad
oc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.co
detemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodb
ody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/META-INF/MANIFEST.MF b/org.apache.hdt.core/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c3d206a
--- /dev/null
+++ b/org.apache.hdt.core/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Apache Hadoop Eclipse Plugin
+Bundle-SymbolicName: org.apache.hdt.core;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.apache.hdt.core.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.filesystem;bundle-version="1.3.0";visibility:=reexport,
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.eclipse.emf.ecore;bundle-version="2.6.1";visibility:=reexport,
+ org.eclipse.team.core;bundle-version="3.5.100"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: Apache Hadoop
+Bundle-ClassPath: lib/log4j/log4j-1.2.17.jar,
+ .
+Export-Package: org.apache.hdt.core,
+ org.apache.hdt.core.hdfs,
+ org.apache.hdt.core.internal,
+ org.apache.hdt.core.internal.hdfs;x-friends:="org.apache.hdt.ui",
+ org.apache.hdt.core.internal.model,
+ org.apache.hdt.core.internal.model.impl,
+ org.apache.hdt.core.internal.model.util,
+ org.apache.hdt.core.internal.zookeeper,
+ org.apache.hdt.core.zookeeper,
+ org.apache.log4j,
+ org.apache.log4j.config
+Bundle-ActivationPolicy: lazy
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/build.properties
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/build.properties b/org.apache.hdt.core/build.properties
new file mode 100644
index 0000000..f06f871
--- /dev/null
+++ b/org.apache.hdt.core/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ lib/log4j/log4j-1.2.17.jar
+src.includes = src/,\
+ schema/,\
+ models/
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/models/Hadoop.ecore
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/models/Hadoop.ecore b/org.apache.hdt.core/models/Hadoop.ecore
new file mode 100644
index 0000000..680666b
--- /dev/null
+++ b/org.apache.hdt.core/models/Hadoop.ecore
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model"
+ nsURI="http://hadoop/1.0" nsPrefix="model">
+ <eClassifiers xsi:type="ecore:EClass" name="HDFSServer" eSuperTypes="#//Server">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="loaded" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationURIs" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" transient="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel" references="#//HDFSServer/operationURIs/%http:%2F%2Fwww.eclipse.org%2Femf%2F2002%2FGenModel%">
+ <details key="documentation" value="List of HDFS uris where operations are being performed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="userId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="groupIds" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Servers">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hdfsServers" upperBound="-1"
+ eType="#//HDFSServer" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="1.0.0.0"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="zookeeperServers" upperBound="-1"
+ eType="#//ZooKeeperServer" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ServerStatus">
+ <eLiterals name="NO_PROJECT" value="1"/>
+ <eLiterals name="DISCONNECTED" value="2"/>
+ <eLiterals name="CONNECTED" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Server" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral=""/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel" references="#//Server/uri/%http:%2F%2Fwww.eclipse.org%2Femf%2F2002%2FGenModel%">
+ <details key="documentation" value="This is URI location for the HDFS server. Ex: hdfs://hdfs.server.hostname/path."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="statusCode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ transient="true" defaultValueLiteral="0">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel" references="#//Server/statusCode/%http:%2F%2Fwww.eclipse.org%2Femf%2F2002%2FGenModel%">
+ <details key="documentation" value="Indicates the status of this server. Values could be from HTTP response codes to indicate server status."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="statusMessage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastAccessed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"
+ defaultValueLiteral="-1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ZooKeeperServer" eSuperTypes="#//Server #//ZNode"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ZNode">
+ <eOperations name="getPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="if (this instanceof org.apache.hdt.core.internal.model.ZooKeeperServer)
	return "/";
else {
	String parentPath = getParent().getPath();
	return parentPath.endsWith("/") ? parentPath + getNodeName() : parentPath + "/" + getNodeName();
}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getServer" eType="#//ZooKeeperServer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="if(this instanceof org.apache.hdt.core.internal.model.ZooKeeperServer)
			return (org.apache.hdt.core.internal.model.ZooKeeperServer) this;
		else
			return getParent().getServer();"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//ZNode" transient="true" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastRefresh" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="refreshing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ephermeral" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ transient="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="modifiedId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="modifiedTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ transient="true" defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="childrenVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ transient="true" defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="aclVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ephermalOwnerSessionId"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataLength" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="childrenCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="0"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//ZNode"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nodeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="sequential" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+</ecore:EPackage>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/models/Hadoop.genmodel
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/models/Hadoop.genmodel b/org.apache.hdt.core/models/Hadoop.genmodel
new file mode 100644
index 0000000..97586d4
--- /dev/null
+++ b/org.apache.hdt.core/models/Hadoop.genmodel
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you 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.
 "
+ modelDirectory="/org.apache.hdt.core/src" modelPluginID="org.apache.hdt.core"
+ modelName="Hadoop" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+ copyrightFields="false">
+ <foreignModel>Hadoop.ecore</foreignModel>
+ <genPackages prefix="Hadoop" basePackage="org.apache.hdt.core.internal" disposableProviderFactory="true"
+ ecorePackage="Hadoop.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="Hadoop.ecore#//ServerStatus">
+ <genEnumLiterals ecoreEnumLiteral="Hadoop.ecore#//ServerStatus/NO_PROJECT"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="Hadoop.ecore#//HDFSServer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/uri"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/statusCode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/statusMessage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/lastAccessed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/loaded"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//HDFSServer/workspaceProjectName"/>
+ </genClasses>
+ <genClasses ecoreClass="Hadoop.ecore#//Servers">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Hadoop.ecore#//Servers/hdfsServers"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Hadoop.ecore#//Servers/version"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/plugin.properties
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/plugin.properties b/org.apache.hdt.core/plugin.properties
new file mode 100644
index 0000000..5d65d5d
--- /dev/null
+++ b/org.apache.hdt.core/plugin.properties
@@ -0,0 +1,8 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = Hadoop Model
+providerName = www.example.org
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/plugin.xml
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/plugin.xml b/org.apache.hdt.core/plugin.xml
new file mode 100644
index 0000000..82dcbec
--- /dev/null
+++ b/org.apache.hdt.core/plugin.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<plugin>
+ <extension-point id="org.apache.hdt.core.hdfsClient" name="Apache Hadoop HDFS Client" schema="schema/org.apache.hadoop.eclipse.hdfsclient.exsd"/>
+ <extension-point id="org.apache.hdt.core.zookeeperClient" name="Apache Hadoop ZooKeeper Client" schema="schema/org.apache.hadoop.eclipse.zookeeperClient.exsd"/>
+ <extension
+ id="org.apache.hadoop.hdfs.filesystem"
+ name="Apache Hadoop HDFS"
+ point="org.eclipse.core.filesystem.filesystems">
+ <filesystem
+ scheme="hdfs">
+ <run
+ class="org.apache.hdt.core.internal.hdfs.HDFSFileSystem">
+ </run>
+ </filesystem>
+ </extension>
+ <extension
+ point="org.eclipse.team.core.repository">
+ <repository
+ canImportId="org.apache.hadoop.hdfs"
+ class="org.apache.hdt.core.internal.hdfs.HDFSTeamRepositoryProvider"
+ fileSystemScheme="hdfs"
+ id="org.apache.hadoop.hdfs">
+ </repository>
+ </extension>
+
+</plugin>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.hdfsclient.exsd
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.hdfsclient.exsd b/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.hdfsclient.exsd
new file mode 100644
index 0000000..51da7df
--- /dev/null
+++ b/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.hdfsclient.exsd
@@ -0,0 +1,118 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.apache.hdt.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.apache.hdt.core" id="org.apache.hdt.core.hdfsClient" name="Apache Hadoop HDFS Client"/>
+ </appinfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <choice>
+ <sequence>
+ <element ref="hdfsClient" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="hdfsClient">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.apache.hdt.core.hdfs.HDFSClient:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="protocol" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="protocolVersion" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.zookeeperClient.exsd
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.zookeeperClient.exsd b/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.zookeeperClient.exsd
new file mode 100644
index 0000000..b89a826
--- /dev/null
+++ b/org.apache.hdt.core/schema/org.apache.hadoop.eclipse.zookeeperClient.exsd
@@ -0,0 +1,111 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.apache.hdt.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.apache.hdt.core" id="org.apache.hdt.core.zookeeperClient" name="Apache Hadoop ZooKeeper Client"/>
+ </appinfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <choice>
+ <sequence>
+ <element ref="zookeeperClient" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="zookeeperClient">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.apache.hdt.core.zookeeper.ZooKeeperClient:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="protocolVersion" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/src/log4j.properties
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/log4j.properties b/org.apache.hdt.core/src/log4j.properties
new file mode 100644
index 0000000..4337f2a
--- /dev/null
+++ b/org.apache.hdt.core/src/log4j.properties
@@ -0,0 +1,17 @@
+log4j.rootLogger=WARN, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+
+# Print the date in ISO 8601 format
+log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
+
+# Print only messages of level WARN or above in the package com.foo.
+log4j.logger.org.apache.hadoop.eclipse.internal.HadoopCommonContentProvider=DEBUG
+#log4j.logger.org.apache.hadoop.eclipse.internal.hdfs=DEBUG
+#log4j.logger.org.apache.hadoop.eclipse.internal.hdfs.HDFSFileStore=DEBUG
+#log4j.logger.org.apache.hadoop.eclipse.internal.hdfs.HDFSManager=DEBUG
+#log4j.logger.org.apache.hadoop.eclipse.internal.hdfs.DownloadFileJob=DEBUG
+#log4j.logger.org.apache.hadoop.eclipse.internal.hdfs.UploadFileJob=DEBUG
+log4j.logger.org.apache.hadoop.eclipse.internal.zookeeper=DEBUG
+log4j.logger.org.apache.hadoop.eclipse.ui.internal.zookeeper=DEBUG
+log4j.logger.org.apache.hadoop.eclipse.release=DEBUG
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/src/org/apache/hdt/core/Activator.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/Activator.java b/org.apache.hdt.core/src/org/apache/hdt/core/Activator.java
new file mode 100644
index 0000000..df59f32
--- /dev/null
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/Activator.java
@@ -0,0 +1,63 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.hdt.core;
+
+import org.apache.hdt.core.internal.HadoopManager;
+import org.apache.hdt.core.internal.model.impl.HadoopPackageImpl;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * @author Srimanth Gunturi
+ */
+public class Activator implements BundleActivator {
+
+ public static final String BUNDLE_ID = "org.apache.hdt.core";
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext
+ * )
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ HadoopPackageImpl.init();
+ HadoopManager.INSTANCE.getServers();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ HadoopManager.INSTANCE.saveServers();
+ Activator.context = null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/HDFSClient.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/HDFSClient.java b/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/HDFSClient.java
new file mode 100644
index 0000000..651f0c7
--- /dev/null
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/HDFSClient.java
@@ -0,0 +1,114 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.hdt.core.hdfs;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URI;
+import java.util.List;
+
+/**
+ *
+ * @author Srimanth Gunturi
+ */
+public abstract class HDFSClient {
+ /**
+ * Provides the default userId and groupIds.
+ *
+ * @return List of ids. First ID has to be of the user. Group IDs are
+ * optional.
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract List<String> getDefaultUserAndGroupIds() throws IOException, InterruptedException;
+
+ /**
+ *
+ * @param uri
+ * @param user
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract ResourceInformation getResourceInformation(URI uri, String user) throws IOException, InterruptedException;
+
+ /**
+ *
+ * @param uri
+ * @param information
+ * @param user
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract void setResourceInformation(URI uri, ResourceInformation information, String user) throws IOException, InterruptedException;
+
+ /**
+ *
+ * @param uri
+ * @param user
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract List<ResourceInformation> listResources(URI uri, String user) throws IOException, InterruptedException;
+
+ /**
+ * @param uri
+ * @param user
+ * @return
+ * @throws InterruptedException
+ */
+ public abstract InputStream openInputStream(URI uri, String user) throws IOException, InterruptedException;
+
+ /**
+ *
+ * @param uri
+ * @param user
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract boolean mkdirs(URI uri, String user) throws IOException, InterruptedException;
+
+ /**
+ * @param uri
+ * @param user
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract OutputStream openOutputStream(URI uri, String user) throws IOException, InterruptedException;
+
+ /**
+ * @param uri
+ * @param monitor
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ public abstract OutputStream createOutputStream(URI uri, String user) throws IOException, InterruptedException;
+
+ /**
+ * @param uri
+ * @param user
+ * @throws InterruptedException
+ */
+ public abstract void delete(URI uri, String user) throws IOException, InterruptedException;
+}
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/ResourceInformation.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/ResourceInformation.java b/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/ResourceInformation.java
new file mode 100644
index 0000000..2206287
--- /dev/null
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/hdfs/ResourceInformation.java
@@ -0,0 +1,213 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.hdt.core.hdfs;
+
+import java.util.List;
+
+public class ResourceInformation {
+ public static class Permissions {
+ public boolean read = true;
+ public boolean write = true;
+ public boolean execute = true;
+
+ public Permissions() {
+ }
+
+ public Permissions(boolean read, boolean write, boolean execute) {
+ this.read = read;
+ this.write = write;
+ this.execute = execute;
+ }
+
+ public void copy(Permissions copyFrom) {
+ this.read = copyFrom.read;
+ this.write = copyFrom.write;
+ this.execute = copyFrom.execute;
+ }
+ }
+
+ private String name;
+ private String path;
+ private long lastModifiedTime = -1;
+ private long lastAccessedTime = -1;
+ private boolean isFolder;
+ private long size;
+ private short replicationFactor;
+ private String owner;
+ private String group;
+ private Permissions userPermissions = new Permissions();
+ private Permissions groupPermissions = new Permissions();
+ private Permissions otherPermissions = new Permissions();
+ private Permissions effectivePermissions = new Permissions();
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name
+ * the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the lastModifiedTime
+ */
+ public long getLastModifiedTime() {
+ return lastModifiedTime;
+ }
+
+ /**
+ * @param lastModifiedTime
+ * the lastModifiedTime to set
+ */
+ public void setLastModifiedTime(long lastModifiedTime) {
+ this.lastModifiedTime = lastModifiedTime;
+ }
+
+ /**
+ * @return the lastAccessedTime
+ */
+ public long getLastAccessedTime() {
+ return lastAccessedTime;
+ }
+
+ /**
+ * @param lastAccessedTime
+ * the lastAccessedTime to set
+ */
+ public void setLastAccessedTime(long lastAccessedTime) {
+ this.lastAccessedTime = lastAccessedTime;
+ }
+
+ /**
+ * @return the isFolder
+ */
+ public boolean isFolder() {
+ return isFolder;
+ }
+
+ /**
+ * @param isFolder
+ * the isFolder to set
+ */
+ public void setFolder(boolean isFolder) {
+ this.isFolder = isFolder;
+ }
+
+ public void setSize(long size) {
+ this.size = size;
+ }
+
+ public long getSize() {
+ return size;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setReplicationFactor(short replicationFactor) {
+ this.replicationFactor = replicationFactor;
+ }
+
+ public short getReplicationFactor() {
+ return replicationFactor;
+ }
+
+ public void setOwner(String owner) {
+ this.owner = owner;
+ }
+
+ public String getOwner() {
+ return owner;
+ }
+
+ public void setGroup(String group) {
+ this.group = group;
+ }
+
+ public String getGroup() {
+ return group;
+ }
+
+ public void setUserPermissions(Permissions userPermissions) {
+ this.userPermissions = userPermissions;
+ }
+
+ public Permissions getUserPermissions() {
+ return userPermissions;
+ }
+
+ public void setGroupPermissions(Permissions groupPermissions) {
+ this.groupPermissions = groupPermissions;
+ }
+
+ public Permissions getGroupPermissions() {
+ return groupPermissions;
+ }
+
+ public void setOtherPermissions(Permissions otherPermissions) {
+ this.otherPermissions = otherPermissions;
+ }
+
+ public Permissions getOtherPermissions() {
+ return otherPermissions;
+ }
+
+ /**
+ * Effective permissions of this resource for the caller.
+ *
+ * @return {@link Permissions}
+ */
+ public Permissions getEffectivePermissions() {
+ return effectivePermissions;
+ }
+
+ /**
+ * Updates the effective permissions for the provided user and groups. This
+ * updates {@link #isRead()}, {@link #isWrite()} and {@link #isExecute()}
+ *
+ * @param user
+ * @param groups
+ */
+ public void updateEffectivePermissions(String user, List<String> groups) {
+ if (user != null) {
+ if (getOwner().equals(user)) {
+ // Owner permissions apply
+ this.effectivePermissions.copy(this.userPermissions);
+ } else if (groups!=null && groups.contains(getGroup())) {
+ // Group permissions apply
+ this.effectivePermissions.copy(this.groupPermissions);
+ } else {
+ // Other permissions apply
+ this.effectivePermissions.copy(this.otherPermissions);
+ }
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
new file mode 100644
index 0000000..937b171
--- /dev/null
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
@@ -0,0 +1,83 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.hdt.core.internal;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+
+import org.apache.hdt.core.Activator;
+import org.apache.hdt.core.internal.hdfs.HDFSManager;
+import org.apache.hdt.core.internal.model.HadoopFactory;
+import org.apache.hdt.core.internal.model.Servers;
+import org.apache.hdt.core.internal.zookeeper.ZooKeeperManager;
+import org.apache.log4j.Logger;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.osgi.framework.Bundle;
+
+/**
+ * @author Srimanth Gunturi
+ *
+ */
+public class HadoopManager {
+ private static final Logger logger = Logger.getLogger(HadoopManager.class);
+ private static final String MODEL_FILE_NAME = "servers.xmi";
+ public static HadoopManager INSTANCE = new HadoopManager();
+
+ private Servers servers = null;
+
+ private HadoopManager() {
+ }
+
+ public Servers getServers() {
+ if (servers == null) {
+ loadServers();
+ if (servers == null) {
+ Bundle bundle = Platform.getBundle(Activator.BUNDLE_ID);
+ File serversFile = bundle.getBundleContext().getDataFile(MODEL_FILE_NAME);
+ Resource resource = new ResourceSetImpl().createResource(URI.createFileURI(serversFile.getPath()));
+ servers = HadoopFactory.eINSTANCE.createServers();
+ resource.getContents().add(servers);
+ }
+ }
+ return servers;
+ }
+
+ private void loadServers() {
+ Bundle bundle = Platform.getBundle(Activator.BUNDLE_ID);
+ File serversFile = bundle.getBundleContext().getDataFile(MODEL_FILE_NAME);
+ if (serversFile.exists()) {
+ Resource resource = new ResourceSetImpl().getResource(URI.createFileURI(serversFile.getPath()), true);
+ servers = (Servers) resource.getContents().get(0);
+ HDFSManager.INSTANCE.loadServers();
+ ZooKeeperManager.INSTANCE.loadServers();
+ }
+ }
+
+ public void saveServers() {
+ try {
+ servers.eResource().save(Collections.EMPTY_MAP);
+ } catch (IOException e) {
+ logger.error("Unable to persist Hadoop servers model", e);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/63bec260/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/DownloadFileJob.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/DownloadFileJob.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/DownloadFileJob.java
new file mode 100644
index 0000000..cd40ab4
--- /dev/null
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/DownloadFileJob.java
@@ -0,0 +1,137 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.hdt.core.internal.hdfs;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+
+import org.apache.hdt.core.Activator;
+import org.apache.log4j.Logger;
+import org.eclipse.core.filesystem.EFS;
+import org.eclipse.core.filesystem.IFileInfo;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+
+/**
+ * @author Srimanth Gunturi
+ *
+ */
+public class DownloadFileJob extends Job {
+
+ private final static Logger logger = Logger.getLogger(DownloadFileJob.class);
+ private final HDFSFileStore store;
+ private final IResource resource;
+
+ /**
+ * @throws CoreException
+ *
+ */
+ public DownloadFileJob(IResource resource) throws CoreException {
+ super("Downloading " + resource.getLocationURI().toString());
+ this.resource = resource;
+ this.store = (HDFSFileStore) EFS.getStore(resource.getLocationURI());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.core.resources.IWorkspaceRunnable#run(org.eclipse.core.runtime
+ * .IProgressMonitor)
+ */
+ @Override
+ public IStatus run(IProgressMonitor monitor) {
+ IStatus status = Status.OK_STATUS;
+ if (store != null) {
+ URI uri = store.toURI();
+ try {
+ File localFile = store.getLocalFile();
+ if (logger.isDebugEnabled())
+ logger.debug("[" + uri + "]: Downloading to " + (localFile == null ? "(null)" : localFile.toString()));
+ HDFSManager.INSTANCE.startServerOperation(uri.toString());
+ final IFileInfo serverInfo = store.fetchInfo();
+ if (serverInfo.exists()) {
+ monitor.beginTask("Downloading " + uri.toString(), (int) serverInfo.getLength());
+ if (!localFile.exists()) {
+ localFile.getParentFile().mkdirs();
+ localFile.createNewFile();
+ }
+ InputStream openInputStream = store.openRemoteInputStream(EFS.NONE, new NullProgressMonitor());
+ FileOutputStream fos = new FileOutputStream(localFile);
+ try {
+ if (!monitor.isCanceled()) {
+ byte[] data = new byte[8 * 1024];
+ int totalRead = 0;
+ int read = openInputStream.read(data);
+ while (read > -1) {
+ if (monitor.isCanceled())
+ throw new InterruptedException();
+ fos.write(data, 0, read);
+ totalRead += read;
+ monitor.worked(read);
+ read = openInputStream.read(data);
+ if (logger.isDebugEnabled())
+ logger.debug("Downloaded " + totalRead + " out of " + serverInfo.getLength() + " [" + (((float)totalRead*100.0f) / (float)serverInfo.getLength())
+ + "]");
+ }
+ }
+ } catch (IOException e) {
+ throw e;
+ } catch (InterruptedException e) {
+ throw e;
+ } finally {
+ try {
+ openInputStream.close();
+ } catch (Throwable t) {
+ }
+ try {
+ fos.close();
+ } catch (Throwable t) {
+ }
+ monitor.done();
+ }
+ } else
+ throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Server resource not found [" + uri + "]"));
+ resource.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
+ } catch (InterruptedException e) {
+ logger.warn(e);
+ } catch (CoreException e) {
+ logger.warn(e);
+ status = e.getStatus();
+ } catch (FileNotFoundException e) {
+ logger.warn(e);
+ status = new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Local file not found for writing server content [" + uri + "]", e);
+ } catch (IOException e) {
+ logger.warn(e);
+ status = new Status(IStatus.ERROR, Activator.BUNDLE_ID, "Error downloading file content [" + uri + "]", e);
+ } finally {
+ HDFSManager.INSTANCE.stopServerOperation(uri.toString());
+ }
+ }
+ return status;
+ }
+}