File Coverage

blib/lib/Apache/Hadoop/Watcher/Base.pm
Criterion Covered Total %
statement 17 46 36.9
branch 0 14 0.0
condition 0 2 0.0
subroutine 6 12 50.0
pod 0 1 0.0
total 23 75 30.6


line stmt bran cond sub pod time code
1             #
2             # (C) 2015, Snehasis Sinha
3             #
4             package Apache::Hadoop::Watcher::Base;
5              
6 4     4   22381 use 5.010001;
  4         13  
7 4     4   22 use strict;
  4         8  
  4         82  
8 4     4   19 use warnings;
  4         11  
  4         1178  
9              
10 4     4   4540 use IO::Socket::INET;
  4         109319  
  4         30  
11 4     4   7496 use LWP::UserAgent;
  4         215928  
  4         172  
12 4     4   4341 use Data::Dumper;
  4         32700  
  4         2078  
13              
14             our @ISA = qw();
15             our $VERSION = '0.01';
16              
17              
18             # base methods
19             sub new {
20 0     0 0   my $class = shift;
21 0           my %args = @_;
22 0           my $self = { };
23 0           bless $self, $class;
24 0           return $self;
25             }
26              
27             # common methods
28             sub _wget {
29 0     0     my ($self, %opts) = (@_);
30 0           my $content;
31             my $res;
32 0           my $ua;
33              
34 0           $ua = LWP::UserAgent->new;
35 0           $res = $ua->get ( $opts{'url'} );
36 0 0         return 'error' unless $res->is_success;
37              
38 0           $content = $res->decoded_content;
39 0           return $content;
40             }
41              
42             sub _port {
43 0     0     my (%opts) = (@_);
44             my $socket = IO::Socket::INET->new(
45             Proto=>'tcp',
46             PeerAddr=>$opts{'host'} || '0.0.0.0',
47 0   0       PeerPort=>$opts{'port'} || 0
48             ) || undef;
49 0 0         return (defined $socket ? 1 : undef);
50             }
51              
52             # changing json boolean object to perl values
53             sub _jsontr {
54 0     0     my ($self, $hash) = (@_);
55 0           foreach my $v ( values %{$hash} ) {
  0            
56 0 0         $v = ($v ? 'true' : 'false') if ref $v eq 'JSON::PP::Boolean';
    0          
57 0 0         $self->_jsontr ( $v ) if ref $v eq 'HASH';
58             }
59             #return $hash;
60             }
61              
62             sub _jsonjmx {
63 0     0     my ($self, $hook) = (@_);
64 0 0         if ( ref $hook eq 'HASH' ) {
65 0           $self->_jsontr ( $hook );
66             }
67 0 0         if ( ref $hook eq 'ARRAY' ) {
68 0           foreach my $e ( @$hook ) {
69 0           $self->_jsontr ( $e );
70             }
71             }
72             }
73              
74             # dumps output hashref
75             sub _print {
76 0     0     my ($self, %opts) = (@_);
77 0           print Dumper ( $opts{'output'} );
78             }
79              
80             1;
81              
82             __END__