Bringing back Kotlin

I can do manual DI for testing, other Android classes can handle interfacing with Kotlin. From my testing, interop is quite smooth.
This commit is contained in:
Bradlee Speice 2014-09-09 23:31:32 -04:00
parent 4d0a8618a8
commit 3d8ff65af4
5 changed files with 46 additions and 137 deletions

View File

@ -1,14 +1,18 @@
buildscript { buildscript {
ext.kotlin_version = '0.8.11'
repositories { repositories {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+' classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} }
} }
apply plugin: 'android-sdk-manager' apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android { android {
compileSdkVersion 20 compileSdkVersion 20
@ -71,6 +75,7 @@ dependencies {
compile 'com.android.support:appcompat-v7:20.+' compile 'com.android.support:appcompat-v7:20.+'
compile 'org.apache.commons:commons-lang3:+' compile 'org.apache.commons:commons-lang3:+'
compile 'com.google.code.gson:gson:+' compile 'com.google.code.gson:gson:+'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
androidTestCompile 'com.jayway.awaitility:awaitility:+' androidTestCompile 'com.jayway.awaitility:awaitility:+'
androidTestCompile 'org.mockito:mockito-core:+' androidTestCompile 'org.mockito:mockito-core:+'

View File

@ -1,110 +0,0 @@
package org.bspeice.minimalbible.service.format.osisparser;
import com.google.gson.Gson;
import org.crosswire.jsword.passage.Verse;
import java.util.ArrayList;
import java.util.List;
/**
* Created by bspeice on 9/9/14.
*/
public class VerseContent {
private int id;
private String bookName = "";
private int chapter;
private int verseNum;
private String content = "";
private String chapterTitle = "";
private String paraTitle = "";
private List<VerseReference> references = new ArrayList<VerseReference>();
public VerseContent() {
}
public VerseContent(Verse v) {
this.id = v.getOrdinal();
this.bookName = v.getBook().toString();
this.chapter = v.getChapter();
this.verseNum = v.getVerse();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getChapterTitle() {
return chapterTitle;
}
public void setChapterTitle(String chapterTitle) {
this.chapterTitle = chapterTitle;
}
public String getParaTitle() {
return paraTitle;
}
public void setParaTitle(String paraTitle) {
this.paraTitle = paraTitle;
}
public List<VerseReference> getReferences() {
return references;
}
public void setReferences(List<VerseReference> references) {
this.references = references;
}
public void appendContent(String content) {
this.content += content;
}
public void appendReference(VerseReference reference) {
this.references.add(reference);
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public int getChapter() {
return chapter;
}
public void setChapter(int chapter) {
this.chapter = chapter;
}
public int getVerseNum() {
return verseNum;
}
public void setVerseNum(int verseNum) {
this.verseNum = verseNum;
}
public String toJson() {
// Lazy load Gson - not likely that we'll call this method multiple times, so
// don't have to worry about a penalty there.
return new Gson().toJson(this);
}
}

View File

@ -1,27 +0,0 @@
package org.bspeice.minimalbible.service.format.osisparser;
import org.crosswire.jsword.passage.Verse;
/**
* Created by bspeice on 9/9/14.
*/
public class VerseReference {
private Verse verse;
private int index;
public Verse getVerse() {
return verse;
}
public void setVerse(Verse verse) {
this.verse = verse;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}

View File

@ -0,0 +1,29 @@
/**
* Created by bspeice on 9/9/14.
*/
package org.bspeice.minimalbible.service.format.osisparser
import com.google.gson.Gson
import org.crosswire.jsword.passage.Verse
import java.util.ArrayList
class VerseContent(v: Verse?) {
var id = v?.getOrdinal() ?: 0
var bookName = v?.getName() ?: ""
var chapter = v?.getChapter() ?: 0
var verseNum = v?.getVerse() ?: 0
var content = ""
var chapterTitle = ""
var paraTitle = ""
var references: MutableList<VerseReference> = ArrayList()
public fun toJson(): String {
// Lazy load Gson - not likely that we'll call this method multiple times, so
// don't have to worry about a penalty there.
return Gson().toJson(this) as String
}
public fun appendContent(content: String) {
this.content += content
}
}

View File

@ -0,0 +1,12 @@
package org.bspeice.minimalbible.service.format.osisparser
import org.crosswire.jsword.passage.Verse
/**
* Created by bspeice on 9/9/14.
*/
class VerseReference(verse: Verse, index: Int) {
val verse: Verse = verse
val index: Int = index
}