130 |
sub add { |
sub add { |
131 |
my ($self,$id,$ds) = @_; |
my ($self,$id,$ds) = @_; |
132 |
|
|
133 |
|
die "need input" unless $self->input; |
134 |
|
|
135 |
my $log = $self->_get_logger; |
my $log = $self->_get_logger; |
136 |
$log->debug("id: $id ds = ",sub { dump($ds) }); |
$log->debug("id: $id ds = ",sub { dump($ds) }); |
137 |
|
|
150 |
|
|
151 |
return unless (@tags); |
return unless (@tags); |
152 |
|
|
153 |
my $xml = qq{<xml>}; |
my $xml = qq{<all>}; |
|
|
|
|
$xml .= "<$_>" . $self->$_ . "</$_>" foreach ( 'database', 'input' ); |
|
|
|
|
154 |
my $data; |
my $data; |
155 |
|
|
156 |
|
foreach ( 'database', 'input' ) { |
157 |
|
$xml .= "<$_>" . $self->$_ . "</$_>"; |
158 |
|
$data->{$_} = $self->$_; |
159 |
|
} |
160 |
|
|
161 |
foreach my $tag (@tags) { |
foreach my $tag (@tags) { |
162 |
|
|
163 |
my $r = ref $ds->{$tag}->{$type}; |
my $r = ref $ds->{$tag}->{$type}; |
172 |
$xml .= qq{<$tag><![CDATA[BW $vals EW]]></$tag>}; |
$xml .= qq{<$tag><![CDATA[BW $vals EW]]></$tag>}; |
173 |
|
|
174 |
$self->{stats}->{attr}->{$tag}++; |
$self->{stats}->{attr}->{$tag}++; |
175 |
|
$self->{stats}->{input}->{ $self->input }->{$tag}++; |
176 |
|
|
177 |
$data->{$tag} = $vals; |
$data->{$tag} = $vals; |
178 |
} |
} |
181 |
$data = to_json($data); |
$data = to_json($data); |
182 |
$xml .= qq{<data><![CDATA[$data]]></data>}; |
$xml .= qq{<data><![CDATA[$data]]></data>}; |
183 |
|
|
184 |
$xml .= qq{</xml>\n}; |
$xml .= qq{</all>\n}; |
185 |
|
|
186 |
my $len = length($xml); |
my $len = length($xml); |
187 |
|
|