UpgradeModule removed
This commit is contained in:
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
22
.idea/compiler.xml
generated
22
.idea/compiler.xml
generated
@@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="CompilerConfiguration">
|
|
||||||
<resourceExtensions />
|
|
||||||
<wildcardResourcePatterns>
|
|
||||||
<entry name="!?*.java" />
|
|
||||||
<entry name="!?*.form" />
|
|
||||||
<entry name="!?*.class" />
|
|
||||||
<entry name="!?*.groovy" />
|
|
||||||
<entry name="!?*.scala" />
|
|
||||||
<entry name="!?*.flex" />
|
|
||||||
<entry name="!?*.kt" />
|
|
||||||
<entry name="!?*.clj" />
|
|
||||||
<entry name="!?*.aj" />
|
|
||||||
</wildcardResourcePatterns>
|
|
||||||
<annotationProcessing>
|
|
||||||
<profile default="true" name="Default" enabled="false">
|
|
||||||
<processorPath useClasspath="true" />
|
|
||||||
</profile>
|
|
||||||
</annotationProcessing>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
3
.idea/copyright/profiles_settings.xml
generated
3
.idea/copyright/profiles_settings.xml
generated
@@ -1,3 +0,0 @@
|
|||||||
<component name="CopyrightManager">
|
|
||||||
<settings default="" />
|
|
||||||
</component>
|
|
||||||
30
.idea/misc.xml
generated
30
.idea/misc.xml
generated
@@ -5,11 +5,12 @@
|
|||||||
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
||||||
<option name="myNullables">
|
<option name="myNullables">
|
||||||
<value>
|
<value>
|
||||||
<list size="4">
|
<list size="5">
|
||||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
||||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
||||||
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
|
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
|
||||||
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
</option>
|
</option>
|
||||||
@@ -24,26 +25,5 @@
|
|||||||
</value>
|
</value>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8 (2)" project-jdk-type="JavaSDK" />
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectType">
|
|
||||||
<option name="id" value="Android" />
|
|
||||||
</component>
|
|
||||||
<component name="masterDetails">
|
|
||||||
<states>
|
|
||||||
<state key="ProjectJDKs.UI">
|
|
||||||
<settings>
|
|
||||||
<last-edited>1.8</last-edited>
|
|
||||||
<splitter-proportions>
|
|
||||||
<option name="proportions">
|
|
||||||
<list>
|
|
||||||
<option value="0.2" />
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</splitter-proportions>
|
|
||||||
</settings>
|
|
||||||
</state>
|
|
||||||
</states>
|
|
||||||
</component>
|
|
||||||
</project>
|
</project>
|
||||||
2
.idea/modules.xml
generated
2
.idea/modules.xml
generated
@@ -2,7 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/FUPlanner.iml" filepath="$PROJECT_DIR$/FUPlanner.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/FUPlanner.iml" filepath="$PROJECT_DIR$/.idea/FUPlanner.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
1
.idea/vcs.xml
generated
1
.idea/vcs.xml
generated
@@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -14,6 +14,7 @@ import android.view.ViewGroup;
|
|||||||
import de.sebse.fuplanner.MainActivity;
|
import de.sebse.fuplanner.MainActivity;
|
||||||
import de.sebse.fuplanner.R;
|
import de.sebse.fuplanner.R;
|
||||||
import de.sebse.fuplanner.services.KVV.Modules;
|
import de.sebse.fuplanner.services.KVV.Modules;
|
||||||
|
import de.sebse.fuplanner.tools.logging.Logger;
|
||||||
import de.sebse.fuplanner.tools.network.NetworkCallback;
|
import de.sebse.fuplanner.tools.network.NetworkCallback;
|
||||||
import de.sebse.fuplanner.tools.network.NetworkError;
|
import de.sebse.fuplanner.tools.network.NetworkError;
|
||||||
import de.sebse.fuplanner.tools.network.NetworkErrorCallback;
|
import de.sebse.fuplanner.tools.network.NetworkErrorCallback;
|
||||||
@@ -30,6 +31,7 @@ public class ModulesFragment extends Fragment {
|
|||||||
//private static final String ARG_COLUMN_COUNT = "column-count";
|
//private static final String ARG_COLUMN_COUNT = "column-count";
|
||||||
// TODO: Customize parameters
|
// TODO: Customize parameters
|
||||||
private OnModulesFragmentInteractionListener mListener;
|
private OnModulesFragmentInteractionListener mListener;
|
||||||
|
private Logger log = new Logger(this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mandatory empty constructor for the fragment manager to instantiate the
|
* Mandatory empty constructor for the fragment manager to instantiate the
|
||||||
@@ -76,6 +78,7 @@ public class ModulesFragment extends Fragment {
|
|||||||
((MainActivity) getActivity()).getKVV().getModuleList(new NetworkCallback<Modules>() {
|
((MainActivity) getActivity()).getKVV().getModuleList(new NetworkCallback<Modules>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Modules success) {
|
public void onResponse(@NonNull Modules success) {
|
||||||
|
log.d(success);
|
||||||
adapter.setModules(success);
|
adapter.setModules(success);
|
||||||
}
|
}
|
||||||
}, new NetworkErrorCallback() {
|
}, new NetworkErrorCallback() {
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ public class ModDetailOverviewFragment extends Fragment {
|
|||||||
View view = inflater.inflate(R.layout.fragment_mod_detail_overview, container, false);
|
View view = inflater.inflate(R.layout.fragment_mod_detail_overview, container, false);
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
KVV kvv = activity.getKVV();
|
KVV kvv = activity.getKVV();
|
||||||
kvv.getModuleDetails(mItemPos, new NetworkCallback<Modules.UpgradeModule>() {
|
/*kvv.getModuleDetails(mItemPos, new NetworkCallback<Modules.UpgradeModule>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(@NonNull Modules.UpgradeModule success) {
|
public void onResponse(@NonNull Modules.UpgradeModule success) {
|
||||||
log.d(success);
|
log.d(success);
|
||||||
@@ -84,7 +84,7 @@ public class ModDetailOverviewFragment extends Fragment {
|
|||||||
public void onError(NetworkError error) {
|
public void onError(NetworkError error) {
|
||||||
log.e(error);
|
log.e(error);
|
||||||
}
|
}
|
||||||
});
|
});*/
|
||||||
}
|
}
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ public class GoogleAuth {
|
|||||||
// This means only a hint is available, but we are handling that
|
// This means only a hint is available, but we are handling that
|
||||||
// elsewhere so no need to act here.
|
// elsewhere so no need to act here.
|
||||||
} else {
|
} else {
|
||||||
|
credentialsListener.onCredentials(null);
|
||||||
Log.w(TAG, "Unexpected status code: " + ae.getStatusCode());
|
Log.w(TAG, "Unexpected status code: " + ae.getStatusCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class KVV {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getModuleDetails(final int index, final NetworkCallback<Modules.UpgradeModule> callback, final NetworkErrorCallback error) {
|
/*public void getModuleDetails(final int index, final NetworkCallback<Modules.UpgradeModule> callback, final NetworkErrorCallback error) {
|
||||||
this.getLastToken(new LastTokenCallback() {
|
this.getLastToken(new LastTokenCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceived(LoginToken token) {
|
public void onReceived(LoginToken token) {
|
||||||
@@ -68,7 +68,7 @@ public class KVV {
|
|||||||
modules.getModuleDetails(index, callback, error);
|
modules.getModuleDetails(index, callback, error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}*/
|
||||||
|
|
||||||
private void getLastToken(LastTokenCallback lastTokenCallback) {
|
private void getLastToken(LastTokenCallback lastTokenCallback) {
|
||||||
if (this.isUpdating) {
|
if (this.isUpdating) {
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ public class KVVModuleList extends HTTPService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
public void getModuleList(NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback) {
|
public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback) {
|
||||||
get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), new Response.Listener<Result>() {
|
get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), new Response.Listener<Result>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Result response) {
|
public void onResponse(Result response) {
|
||||||
@@ -155,24 +155,27 @@ public class KVVModuleList extends HTTPService {
|
|||||||
errorCallback.onError(new NetworkError(101101, 403, "No module list retreived!"));
|
errorCallback.onError(new NetworkError(101101, 403, "No module list retreived!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Modules modules = new Modules();
|
||||||
try {
|
try {
|
||||||
JSONObject json = new JSONObject(body);
|
JSONObject json = new JSONObject(body);
|
||||||
JSONArray sites = json.getJSONArray("site_collection");
|
JSONArray sites = json.getJSONArray("site_collection");
|
||||||
|
|
||||||
for (int i = 0; i < sites.length(); i++) {
|
for (int i = 0; i < sites.length(); i++) {
|
||||||
JSONObject site = sites.getJSONObject(i);
|
JSONObject site = sites.getJSONObject(i);
|
||||||
moduleList = new Modules();
|
|
||||||
String semester = site.getJSONObject("props").getString("term_eid");
|
String semester = site.getJSONObject("props").getString("term_eid");
|
||||||
HashSet<String> lvNumbers = new HashSet<>();
|
HashSet<String> lvNumbers = new HashSet<>();
|
||||||
for (MatchResult matchResult: allMatches("[0-9]*", site.getJSONObject("props").getString("kvv_lvnumbers"))) {
|
for (MatchResult matchResult : allMatches(Pattern.compile("[0-9]+"), site.getJSONObject("props").getString("kvv_lvnumbers"))) {
|
||||||
lvNumbers.add(matchResult.group());
|
lvNumbers.add(matchResult.group());
|
||||||
}
|
}
|
||||||
String title = site.getJSONObject("props").getString("entityTitle");
|
String title = site.getString("entityTitle");
|
||||||
HashSet<Lecturer> lecturers = new HashSet<>();
|
HashSet<Lecturer> lecturers = new HashSet<>();
|
||||||
for (String lecturer : site.getJSONObject("props").getString("kvv_lecturers").split("#")) {
|
for (String lecturer : site.getJSONObject("props").getString("kvv_lecturers").split("#")) {
|
||||||
|
if (lecturer.length() > 2)
|
||||||
lecturers.add(new Lecturer(lecturer));
|
lecturers.add(new Lecturer(lecturer));
|
||||||
}
|
}
|
||||||
moduleList.addModule(semester, lvNumbers, title, lecturers, "", "");
|
String type = site.getJSONObject("props").getString("kvv_coursetype");
|
||||||
|
String id = site.getString("id");
|
||||||
|
modules.addModule(semester, lvNumbers, title, lecturers, type, id);
|
||||||
}
|
}
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
errorCallback.onError(new NetworkError(101102, 403, "Cannot parse module list!"));
|
errorCallback.onError(new NetworkError(101102, 403, "Cannot parse module list!"));
|
||||||
@@ -181,6 +184,8 @@ public class KVVModuleList extends HTTPService {
|
|||||||
errorCallback.onError(new NetworkError(101103, 403, "Cannot parse module list!"));
|
errorCallback.onError(new NetworkError(101103, 403, "Cannot parse module list!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
moduleList = modules;
|
||||||
|
callback.onResponse(moduleList);
|
||||||
}
|
}
|
||||||
}, new Response.ErrorListener() {
|
}, new Response.ErrorListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -192,7 +197,7 @@ public class KVVModuleList extends HTTPService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void getModuleDetails(final int index, final NetworkCallback<Modules.UpgradeModule> callback, final NetworkErrorCallback errorCallback) {
|
/*public void getModuleDetails(final int index, final NetworkCallback<Modules.UpgradeModule> callback, final NetworkErrorCallback errorCallback) {
|
||||||
queueModuleDetails.add(new AsyncQueue.AsyncQueueCallback() {
|
queueModuleDetails.add(new AsyncQueue.AsyncQueueCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -225,7 +230,7 @@ public class KVVModuleList extends HTTPService {
|
|||||||
|
|
||||||
private void upgradeModule(Modules.SimpleModule module, final NetworkCallback<String> callback, final NetworkErrorCallback errorCallback) {
|
private void upgradeModule(Modules.SimpleModule module, final NetworkCallback<String> callback, final NetworkErrorCallback errorCallback) {
|
||||||
callback.onResponse("cool ID");
|
callback.onResponse("cool ID");
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,4 +30,11 @@ class Lecturer {
|
|||||||
public String getMail() {
|
public String getMail() {
|
||||||
return mail;
|
return mail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "First name: "+getFirstname()+
|
||||||
|
"\nSurname: "+getSurname()+
|
||||||
|
"\nMail: "+getMail();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package de.sebse.fuplanner.services.KVV;
|
package de.sebse.fuplanner.services.KVV;
|
||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.util.Pair;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -14,37 +13,22 @@ import de.sebse.fuplanner.tools.Triplet;
|
|||||||
* Created by sebastian on 29.10.17.
|
* Created by sebastian on 29.10.17.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class Modules extends EventEmitter<Triplet<Integer, Modules.UpgradeModule, ArrayList<String>>> implements Iterable<Modules.Module> {
|
public class Modules /*extends EventEmitter<Triplet<Integer, Modules.UpgradeModule, ArrayList<String>>>*/ implements Iterable<Modules.Module> {
|
||||||
private final ArrayList<Module> list;
|
private final ArrayList<Module> list;
|
||||||
|
|
||||||
Modules() {
|
Modules() {
|
||||||
this.list = new ArrayList<>();
|
this.list = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
Module addModule(String semester, HashSet<String> lvNumber, String title, HashSet<String> lecturer, String type, String upgradeURI) {
|
Module addModule(String semester, HashSet<String> lvNumber, String title, HashSet<Lecturer> lecturer, String type, String ID) {
|
||||||
Module m = new SimpleModule(semester, lvNumber, title, lecturer, type, upgradeURI);
|
Module m = new Module(semester, lvNumber, title, lecturer, type, ID);
|
||||||
this.list.add(m);
|
this.list.add(m);
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
UpgradeModule upgradeItem(int index, String moduleID) {
|
@Override
|
||||||
Module sm = list.get(index);
|
public String toString() {
|
||||||
if (sm instanceof SimpleModule) {
|
return this.list.toString();
|
||||||
UpgradeModule um = new UpgradeModule((SimpleModule) sm, moduleID);
|
|
||||||
list.set(index, um);
|
|
||||||
return um;
|
|
||||||
} else {
|
|
||||||
return (UpgradeModule) sm;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(int index, String description) {
|
|
||||||
Module entry = this.list.get(index);
|
|
||||||
if (!(entry instanceof UpgradeModule)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
((UpgradeModule) entry).description = description;
|
|
||||||
emit(new Triplet<>(index, ((UpgradeModule) entry), new ArrayList<String>()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@@ -77,19 +61,20 @@ public class Modules extends EventEmitter<Triplet<Integer, Modules.UpgradeModule
|
|||||||
return this.list.get(index);
|
return this.list.get(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract public class Module {
|
public class Module {
|
||||||
public final String semester;
|
public final String semester;
|
||||||
public final HashSet<String> lvNumber;
|
public final HashSet<String> lvNumber;
|
||||||
public final String title;
|
public final String title;
|
||||||
public final HashSet<String> lecturer;
|
public final HashSet<Lecturer> lecturer;
|
||||||
public final String type;
|
public final String type;
|
||||||
|
private final String ID;
|
||||||
|
|
||||||
/*private Module() {
|
/*private Module() {
|
||||||
this(null, null, null, null, null);
|
this(null, null, null, null, null);
|
||||||
throw new AssertionError("Do not use this constructor!");
|
throw new AssertionError("Do not use this constructor!");
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
private Module(String semester, HashSet<String> lvNumber, String title, HashSet<String> lecturer, String type) {
|
private Module(String semester, HashSet<String> lvNumber, String title, HashSet<Lecturer> lecturer, String type, String ID) {
|
||||||
semester = semester.replace("Sommersemester", "SS").replace("Wintersemester", "WS");
|
semester = semester.replace("Sommersemester", "SS").replace("Wintersemester", "WS");
|
||||||
semester = semester.replaceAll("[0-9]{2}([0-9]{2})", "$1");
|
semester = semester.replaceAll("[0-9]{2}([0-9]{2})", "$1");
|
||||||
|
|
||||||
@@ -98,6 +83,7 @@ public class Modules extends EventEmitter<Triplet<Integer, Modules.UpgradeModule
|
|||||||
this.title = title;
|
this.title = title;
|
||||||
this.lecturer = lecturer;
|
this.lecturer = lecturer;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
|
this.ID = ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -106,39 +92,8 @@ public class Modules extends EventEmitter<Triplet<Integer, Modules.UpgradeModule
|
|||||||
"\nlvNumber: "+lvNumber.toString()+
|
"\nlvNumber: "+lvNumber.toString()+
|
||||||
"\ntitle: "+title+
|
"\ntitle: "+title+
|
||||||
"\nlecturer: "+lecturer.toString()+
|
"\nlecturer: "+lecturer.toString()+
|
||||||
"\ntype: "+type;
|
"\ntype: "+type+
|
||||||
}
|
"\nID: "+ID;
|
||||||
}
|
|
||||||
|
|
||||||
public class SimpleModule extends Module {
|
|
||||||
final String upgradeURI;
|
|
||||||
|
|
||||||
private SimpleModule(String semester, HashSet<String> lvNumber, String title, HashSet<String> lecturer, String type, String upgradeURI) {
|
|
||||||
super(semester, lvNumber, title, lecturer, type);
|
|
||||||
this.upgradeURI = upgradeURI;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return super.toString()+
|
|
||||||
"\nupgradeURI: "+upgradeURI;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class UpgradeModule extends Module {
|
|
||||||
final String moduleID;
|
|
||||||
public String description = null;
|
|
||||||
|
|
||||||
private UpgradeModule(SimpleModule module, String moduleID) {
|
|
||||||
super(module.semester, module.lvNumber, module.title, module.lecturer, module.type);
|
|
||||||
this.moduleID = moduleID;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return super.toString()+
|
|
||||||
"\nmoduleID: "+moduleID+
|
|
||||||
"\ndescription: "+description;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user