Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/75870
Change subject: Add Campaign & CampaignContribution classes
......................................................................
Add Campaign & CampaignContribution classes
Change-Id: Iae7a994b3c9e8f3c54d3b90be1a9a618ea27d202
---
A commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
A
commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
M commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
3 files changed, 110 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/commons
refs/changes/70/75870/1
diff --git
a/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
b/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
new file mode 100644
index 0000000..0eeb1dc
--- /dev/null
+++ b/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java
@@ -0,0 +1,63 @@
+package org.wikimedia.commons.campaigns;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+
+public class Campaign {
+ private boolean enabled;
+
+ private String autoAddWikitext;
+ private ArrayList<String> autoAddCategories;
+
+ private String name;
+ private String ownWorkLicenseDefault;
+
+ private String defaultDescription;
+
+ private JSONObject config;
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public String getAutoAddWikitext() {
+ return autoAddWikitext;
+ }
+
+ public ArrayList<String> getAutoAddCategories() {
+ return autoAddCategories;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getOwnWorkLicenseDefault() {
+ return ownWorkLicenseDefault;
+ }
+
+ public String getDefaultDescription() {
+ return defaultDescription;
+ }
+
+ public JSONObject getConfig() {
+ return config;
+ }
+
+ public Campaign(String name, JSONObject config) {
+ this.config = config;
+ this.name = name;
+ if(config.has("autoAdd")) {
+ this.autoAddWikitext =
config.optJSONObject("autoAdd").optString("wikitext", null);
+ if(config.optJSONObject("autoAdd").has("categories")) {
+ this.autoAddCategories = new ArrayList<String>();
+ JSONArray catsArray =
config.optJSONObject("autoAdd").optJSONArray("categories");
+ for(int i=0; i < catsArray.length(); i++) {
+ autoAddCategories.add(catsArray.optString(i));
+ }
+ }
+ }
+ }
+}
diff --git
a/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
b/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
new file mode 100644
index 0000000..1566c14
--- /dev/null
+++
b/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java
@@ -0,0 +1,40 @@
+package org.wikimedia.commons.campaigns;
+
+import org.wikimedia.commons.contributions.Contribution;
+
+import java.util.ArrayList;
+
+public class CampaignContribution extends Contribution {
+ private Campaign campaign;
+
+ private ArrayList<String> fieldValues;
+
+ public Campaign getCampaign() {
+ return campaign;
+ }
+
+ public void setCampaign(Campaign campaign) {
+ this.campaign = campaign;
+ }
+
+ @Override
+ public String getTrackingTemplates() {
+ StringBuffer buffer = new StringBuffer();
+ if(campaign.getAutoAddWikitext() != null) {
+ buffer.append(campaign.getAutoAddWikitext()).append("\n");
+ }
+ if(campaign.getAutoAddCategories() != null &&
campaign.getAutoAddCategories().size() != 0) {
+ for(String cat : campaign.getAutoAddCategories()) {
+
buffer.append("[[Category:").append(cat).append("]]").append("\n");
+ }
+ } else {
+ buffer.append("{{subst:unc}}\n");
+ }
+ return buffer.toString();
+ }
+
+ @Override
+ public String getDescription() {
+ return super.getDescription();
+ }
+}
diff --git
a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
index f0f5a24..d482fea 100644
---
a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
+++
b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java
@@ -117,13 +117,17 @@
this.dateUploaded = date;
}
+ public String getTrackingTemplates() {
+ return "{{subst:unc}}"; // Remove when we have categorization
+ }
+
public String getPageContents() {
StringBuffer buffer = new StringBuffer();
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd");
buffer
.append("== {{int:filedesc}} ==\n")
.append("{{Information\n")
- .append("|description=").append(description).append("\n")
+
.append("|description=").append(getDescription()).append("\n")
.append("|source=").append("{{own}}\n")
.append("|author=[[User:").append(creator).append("]]\n");
if(dateCreated != null) {
@@ -133,9 +137,9 @@
buffer
.append("}}").append("\n")
.append("== {{int:license-header}} ==\n")
- .append(Utils.licenseTemplateFor(license)).append("\n\n")
+ .append(Utils.licenseTemplateFor(getLicense())).append("\n\n")
.append("{{Uploaded from
Mobile|platform=Android|version=").append(CommonsApplication.APPLICATION_VERSION).append("}}\n")
- .append("{{subst:unc}}"); // Remove when we have categorization
+ .append(getTrackingTemplates());
return buffer.toString();
}
--
To view, visit https://gerrit.wikimedia.org/r/75870
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae7a994b3c9e8f3c54d3b90be1a9a618ea27d202
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/commons
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits