[Yanel-commits] rev 55848 -
public/yanel/contributions/realms/konakart-yanel-realm/res-types/model/src/java/org/wyona/konakart/model/impl
michi at wyona.com
michi at wyona.com
Wed Jan 5 08:08:57 CET 2011
Author: michi
Date: 2011-01-05 08:08:55 +0100 (Wed, 05 Jan 2011)
New Revision: 55848
Modified:
public/yanel/contributions/realms/konakart-yanel-realm/res-types/model/src/java/org/wyona/konakart/model/impl/KonakartOrderJDBCNode.java
Log:
update store ID
Modified: public/yanel/contributions/realms/konakart-yanel-realm/res-types/model/src/java/org/wyona/konakart/model/impl/KonakartOrderJDBCNode.java
===================================================================
--- public/yanel/contributions/realms/konakart-yanel-realm/res-types/model/src/java/org/wyona/konakart/model/impl/KonakartOrderJDBCNode.java 2011-01-05 06:36:03 UTC (rev 55847)
+++ public/yanel/contributions/realms/konakart-yanel-realm/res-types/model/src/java/org/wyona/konakart/model/impl/KonakartOrderJDBCNode.java 2011-01-05 07:08:55 UTC (rev 55848)
@@ -112,8 +112,61 @@
public void setProperty(Property property) throws RepositoryException {
//log.debug("Property: " + property.getName() + ", " + property.getValueAsString());
properties.put(property.getName(), property);
+
+ int languageID = ((KonakartJDBCRepository)repository).getLanguageId("de");
+ log.warn("DEBUG: Language ID: " + languageID);
+
+ if (property.getName().equals("store-id")) {
+ updateStoreID(property.getValueAsString(), "orders");
+ updateStoreID(property.getValueAsString(), "orders_products");
+ updateStoreID(property.getValueAsString(), "orders_products_attributes");
+ updateStoreID(property.getValueAsString(), "orders_status_history");
+ updateStoreID(property.getValueAsString(), "orders_total");
+ } else {
+ throw new RepositoryException("No such property: " + name);
+ }
}
+ /**
+ * Update store ID
+ * @param storeId Store ID
+ * @param tableName Name of database table
+ */
+ private void updateStoreID(String storeId, String tableName) throws RepositoryException {
+ log.warn("DEBUG: Try to update store id '" + storeId + "' of order ID '" + getName() + "' within table '" + tableName + "'.");
+
+ int languageID = ((KonakartJDBCRepository)repository).getLanguageId("de");
+ log.warn("DEBUG: Language ID: " + languageID);
+
+ String query = "SELECT * FROM " + tableName + " WHERE orders_id = '" + getName() + "'";
+ //String query = "SELECT * FROM orders WHERE orders_id = '" + getName() + "' AND language_id = '" + languageID + "'";
+ try {
+ Connection con = ((KonakartJDBCRepository)repository).getConnection();
+ Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
+ ResultSet resultSet = stm.executeQuery(query);
+ if(resultSet.next()) { // TODO: filter by language
+ //if(resultSet.last() && resultSet.getRow() == 1) {
+ String id = resultSet.getString("orders_id");
+ log.warn("DEBUG: Update store id '" + storeId + "' of order ID '" + id + "' within table '" + tableName + "'.");
+ //log.debug("Column count: " + resultSet.getMetaData().getColumnCount());
+
+ resultSet.updateString("store_id", storeId);
+ resultSet.updateRow();
+ } else {
+ log.warn("No such order: " + query);
+ }
+ resultSet.close();
+ stm.close();
+ con.close();
+ } catch(SQLException e) {
+ log.error(e, e);
+ throw new RepositoryException(e.getMessage());
+ }
+ }
+
+ /**
+ *
+ */
public InputStream getInputStream() throws RepositoryException {
log.warn("TODO: Not implemented yet!");
return null;
More information about the Yanel-commits
mailing list