diff options
Diffstat (limited to 'client')
3 files changed, 46 insertions, 16 deletions
| diff --git a/client/trunk/src/com/fourisland/instadisc/Item/WellFormedItem.java b/client/trunk/src/com/fourisland/instadisc/Item/WellFormedItem.java index 9b54f96..91d95aa 100644 --- a/client/trunk/src/com/fourisland/instadisc/Item/WellFormedItem.java +++ b/client/trunk/src/com/fourisland/instadisc/Item/WellFormedItem.java | |||
| @@ -40,22 +40,54 @@ public class WellFormedItem { | |||
| 40 | return good; | 40 | return good; |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | private boolean checkForEqualFilters() { | ||
| 44 | boolean good = true; | ||
| 45 | |||
| 46 | Filter[] filters = Wrapper.getAllFilter(); | ||
| 47 | int i = 0; | ||
| 48 | for (i = 0; i < filters.length; i++) { | ||
| 49 | if (filters[i].getSubscription().equals(aThis.headerMap.get("Subscription"))) { | ||
| 50 | if (filters[i].getEqual()) { | ||
| 51 | good = (good ? aThis.headerMap.get(filters[i].getField()).contains(filters[i].getTest()) : false); | ||
| 52 | } | ||
| 53 | } | ||
| 54 | } | ||
| 55 | |||
| 56 | return good; | ||
| 57 | } | ||
| 58 | |||
| 43 | private boolean checkForFilterInvalidation() { | 59 | private boolean checkForFilterInvalidation() { |
| 44 | boolean good = true; | 60 | boolean good = true; |
| 45 | 61 | good = (good ? checkForEqualFilters() : false); | |
| 62 | good = (good ? checkForInequalFilters() : false); | ||
| 63 | |||
| 64 | if (!good) { | ||
| 65 | XmlRpc xmlrpc = new XmlRpc("deleteItem"); | ||
| 66 | xmlrpc.addParam(Integer.decode(aThis.headerMap.get("ID"))); | ||
| 67 | xmlrpc.execute(); | ||
| 68 | } | ||
| 69 | |||
| 70 | return good; | ||
| 71 | } | ||
| 72 | |||
| 73 | private boolean checkForInequalFilters() { | ||
| 74 | boolean good = true; | ||
| 75 | boolean start = false; | ||
| 76 | |||
| 46 | Filter[] filters = Wrapper.getAllFilter(); | 77 | Filter[] filters = Wrapper.getAllFilter(); |
| 47 | int i = 0; | 78 | int i = 0; |
| 48 | for (i = 0; i < filters.length; i++) { | 79 | for (i = 0; i < filters.length; i++) { |
| 49 | if (filters[i].getSubscription().equals(aThis.headerMap.get("Subscription"))) { | 80 | if (filters[i].getSubscription().equals(aThis.headerMap.get("Subscription"))) { |
| 50 | if (filters[i].getEqual()) | 81 | if (!filters[i].getEqual()) { |
| 51 | { | 82 | if (!start) { |
| 52 | good = (good ? (!aThis.headerMap.get(filters[i].getField()).equals(filters[i].getTest())) : false); | 83 | good = false; |
| 53 | } else { | 84 | start = true; |
| 54 | good = (good ? (aThis.headerMap.get(filters[i].getField()).equals(filters[i].getTest())) : false); | 85 | } |
| 86 | good = (good ? true : !aThis.headerMap.get(filters[i].getField()).contains(filters[i].getTest())); | ||
| 55 | } | 87 | } |
| 56 | } | 88 | } |
| 57 | } | 89 | } |
| 58 | 90 | ||
| 59 | return good; | 91 | return good; |
| 60 | } | 92 | } |
| 61 | 93 | ||
| @@ -107,9 +139,8 @@ public class WellFormedItem { | |||
| 107 | private boolean checkForRequiredHeader(String string) { | 139 | private boolean checkForRequiredHeader(String string) { |
| 108 | return checkForRequiredHeader(aThis.headerMap, string); | 140 | return checkForRequiredHeader(aThis.headerMap, string); |
| 109 | } | 141 | } |
| 110 | 142 | ||
| 111 | public static boolean checkForRequiredHeader(HashMap<String, String> headerMap, String string) | 143 | public static boolean checkForRequiredHeader(HashMap<String, String> headerMap, String string) { |
| 112 | { | ||
| 113 | return headerMap.containsKey(string); | 144 | return headerMap.containsKey(string); |
| 114 | } | 145 | } |
| 115 | 146 | ||
| @@ -117,7 +148,7 @@ public class WellFormedItem { | |||
| 117 | try { | 148 | try { |
| 118 | URL url = new URL(aThis.headerMap.get("URL")); | 149 | URL url = new URL(aThis.headerMap.get("URL")); |
| 119 | URI subUrl = new URI(aThis.headerMap.get("Subscription")); | 150 | URI subUrl = new URI(aThis.headerMap.get("Subscription")); |
| 120 | 151 | ||
| 121 | return url.getHost().equals(subUrl.getHost()); | 152 | return url.getHost().equals(subUrl.getHost()); |
| 122 | } catch (URISyntaxException ex) { | 153 | } catch (URISyntaxException ex) { |
| 123 | Logger.getLogger(WellFormedItem.class.getName()).log(Level.SEVERE, null, ex); | 154 | Logger.getLogger(WellFormedItem.class.getName()).log(Level.SEVERE, null, ex); |
| @@ -130,8 +161,7 @@ public class WellFormedItem { | |||
| 130 | 161 | ||
| 131 | private boolean checkForSubscription() { | 162 | private boolean checkForSubscription() { |
| 132 | boolean good = Wrapper.existsSubscription(aThis.headerMap.get("Subscription")); | 163 | boolean good = Wrapper.existsSubscription(aThis.headerMap.get("Subscription")); |
| 133 | if (!good) | 164 | if (!good) { |
| 134 | { | ||
| 135 | SubscriptionFile.deleteSubscription(Wrapper.getSubscription(aThis.headerMap.get("Subscription")), false); | 165 | SubscriptionFile.deleteSubscription(Wrapper.getSubscription(aThis.headerMap.get("Subscription")), false); |
| 136 | } | 166 | } |
| 137 | return good; | 167 | return good; |
| diff --git a/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.form b/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.form index 3f1e603..fcf64df 100644 --- a/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.form +++ b/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.form | |||
| @@ -88,9 +88,6 @@ | |||
| 88 | <Properties> | 88 | <Properties> |
| 89 | <Property name="text" type="java.lang.String" resourceKey="jLabel2.text"/> | 89 | <Property name="text" type="java.lang.String" resourceKey="jLabel2.text"/> |
| 90 | <Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/> | 90 | <Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/> |
| 91 | <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor"> | ||
| 92 | <Dimension value="[625, 17]"/> | ||
| 93 | </Property> | ||
| 94 | </Properties> | 91 | </Properties> |
| 95 | </Component> | 92 | </Component> |
| 96 | <Container class="javax.swing.JScrollPane" name="jScrollPane1"> | 93 | <Container class="javax.swing.JScrollPane" name="jScrollPane1"> |
| diff --git a/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.java b/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.java index cd4426e..620665d 100644 --- a/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.java +++ b/client/trunk/src/com/fourisland/instadisc/ManageFiltersForm.java | |||
| @@ -162,6 +162,7 @@ public class ManageFiltersForm extends javax.swing.JDialog { | |||
| 162 | }// </editor-fold>//GEN-END:initComponents | 162 | }// </editor-fold>//GEN-END:initComponents |
| 163 | private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jList1ValueChanged | 163 | private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jList1ValueChanged |
| 164 | refreshFilterPane(); | 164 | refreshFilterPane(); |
| 165 | jList2.setSelectedIndex(0); | ||
| 165 | }//GEN-LAST:event_jList1ValueChanged | 166 | }//GEN-LAST:event_jList1ValueChanged |
| 166 | 167 | ||
| 167 | private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed | 168 | private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed |
| @@ -173,9 +174,11 @@ public class ManageFiltersForm extends javax.swing.JDialog { | |||
| 173 | try { | 174 | try { |
| 174 | if (filter.getID() == -65536) { | 175 | if (filter.getID() == -65536) { |
| 175 | jButton1.setText("Add"); | 176 | jButton1.setText("Add"); |
| 177 | jButton1.setEnabled(true); | ||
| 176 | jButton2.setEnabled(false); | 178 | jButton2.setEnabled(false); |
| 177 | } else { | 179 | } else { |
| 178 | jButton1.setText("Edit"); | 180 | jButton1.setText("Edit"); |
| 181 | jButton1.setEnabled(true); | ||
| 179 | jButton2.setEnabled(true); | 182 | jButton2.setEnabled(true); |
| 180 | } | 183 | } |
| 181 | } catch (Exception ex) { | 184 | } catch (Exception ex) { |
