ViewDataManagerImpl.java

  1. /*
  2.  * Copyright 2010 James Pether Sörling
  3.  *
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  *
  8.  *   http://www.apache.org/licenses/LICENSE-2.0
  9.  *
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  *
  16.  *  $Id$
  17.  *  $HeadURL$
  18. */
  19. package com.hack23.cia.service.data.impl;

  20. import javax.sql.DataSource;

  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.jdbc.core.JdbcTemplate;
  23. import org.springframework.stereotype.Service;
  24. import org.springframework.transaction.annotation.Transactional;

  25. import com.hack23.cia.service.data.api.ViewDataManager;

  26. /**
  27.  * The Class ViewDataManagerImpl.
  28.  */
  29. @Service
  30. @Transactional(timeout=900)
  31. final class ViewDataManagerImpl implements ViewDataManager {

  32.     /** The data source. */
  33.     @Autowired
  34.     private DataSource dataSource;

  35.     /**
  36.      * Instantiates a new view data manager impl.
  37.      */
  38.     public ViewDataManagerImpl() {
  39.         super();
  40.     }

  41.     @Override
  42.     public void refreshViews() {
  43.         final JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);


  44.         //Handle FP changed to L for folkpartiet name changed to liberalerna.

  45.         jdbcTemplate.execute("update vote_data set gender='MAN' where gender='M'");
  46.         jdbcTemplate.execute("update vote_data set gender='KVINNA' where gender='K'");
  47.        
  48.         jdbcTemplate.execute("update vote_data set gender='MAN' where gender='man'");
  49.         jdbcTemplate.execute("update vote_data set gender='KVINNA' where gender='kvinna'");
  50.        

  51.         jdbcTemplate.execute("update vote_data set party='L' where party='FP'");

  52.         jdbcTemplate.execute("update person_data set party='L' where party='FP'");
  53.         jdbcTemplate.execute("update document_element set org='L' where org='FP' or org='fp'");
  54.         jdbcTemplate.execute("update document_data set org='L' where org='FP' or org='fp'");
  55.         jdbcTemplate.execute("update committee_document_data set org='L' where org='FP' or org='fp'");
  56.         jdbcTemplate.execute("update document_person_reference_da_0 set party_short_code='L' where party_short_code='FP' or party_short_code='fp'");

  57.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_worldbank_indicator_data_country_summary");
  58.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_summary");
  59.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_party_summary");
  60.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_politician_summary");
  61.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_party_summary_daily");
  62.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_party_summary_annual");
  63.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_party_summary_monthly");
  64.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_party_summary_weekly");

  65.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_summary_daily");
  66.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_summary_annual");
  67.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_summary_monthly");
  68.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_summary_weekly");

  69.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_politician_summary_daily");
  70.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_politician_summary_annual");
  71.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_politician_summary_monthly");
  72.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_vote_data_ballot_politician_summary_weekly");
  73.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_committee_decisions");
  74.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_committee_ballot_decision_politician_summary");
  75.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_committee_ballot_decision_party_summary");

  76.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_committee_ballot_decision_summary");
  77.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_committee_decision_type_org_summary");
  78.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_committee_decision_type_summary");


  79.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_politician_document");
  80.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_org_document_daily_summary");
  81.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_party_document_daily_summary");
  82.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_politician_document_daily_summary");
  83.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_riksdagen_document_type_daily_summary");

  84.         jdbcTemplate.execute("REFRESH MATERIALIZED VIEW view_worldbank_indicator_data_country_summary");

  85.     }

  86. }