diff --git a/src/main/java/org/wikitolearn/controllers/InitializerController.java b/src/main/java/org/wikitolearn/controllers/InitializerController.java index e448b1a..743ff43 100644 --- a/src/main/java/org/wikitolearn/controllers/InitializerController.java +++ b/src/main/java/org/wikitolearn/controllers/InitializerController.java @@ -1,84 +1,87 @@ /** * */ package org.wikitolearn.controllers; import java.io.InputStream; import java.util.HashMap; import java.util.List; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.wikidata.wdtk.wikibaseapi.ApiConnection; import org.wikitolearn.controllers.mediawikiClient.PageMediaWikiController; import org.wikitolearn.models.Page; import org.wikitolearn.utils.MediaWikiApiUtils; import com.fasterxml.jackson.databind.ObjectMapper; /** * @author alessandro * */ @RestController public class InitializerController { private static final Logger LOG = LoggerFactory.getLogger(InitializerController.class); @Autowired private PageMediaWikiController pageController; //@Autowired //private MediaWikiApiUtils mwUtil; @RequestMapping(value = "/init", method = RequestMethod.GET, produces = "application/json") public List initialize(){ - return pageController.getAllPages(); + + List allPages = pageController.getAllPages(); + + return allPages; } /*@RequestMapping(value = "/init", method = RequestMethod.GET, produces = "application/json") public String initialize(){ ApiConnection connection = mwUtil.getApiConnection("https://it.wikitolearn.org/api.php"); Map parameters = new HashMap<>(); parameters.put("action", "query"); parameters.put("list", "allpages"); parameters.put("apnamespace", "2800"); parameters.put("aplimit", "max"); parameters.put("format", "json"); InputStream response = mwUtil.sendRequest(connection, "GET", parameters); ObjectMapper mapper = new ObjectMapper(); return mwUtil.streamToJson(response).toString(); }*/ /*@RequestMapping(value = "/init", method = RequestMethod.GET, produces = "application/json") public Page[] initialize(){ ApiConnection connection = mwUtil.getApiConnection("https://de.wikitolearn.org/api.php"); Map parameters = new HashMap<>(); parameters.put("action", "query"); parameters.put("list", "allpages"); parameters.put("apnamespace", "2800"); parameters.put("aplimit", "max"); parameters.put("format", "json"); InputStream response = mwUtil.sendRequest(connection, "GET", parameters); try { ObjectMapper mapper = new ObjectMapper(); JSONArray pagesJson = mwUtil.streamToJson(response).getJSONObject("query").getJSONArray("allpages"); return mapper.readValue(pagesJson.toString(), Page[].class); } catch (JSONException e) { LOG.error("An error occurred while a JSONObject or JSONArray", e.getMessage()); } catch(IOException e){ LOG.error("An error occurred while converting an InputStream to JSONObject", e.getMessage()); } return null; }*/ } diff --git a/src/main/java/org/wikitolearn/dao/PageDAO.java b/src/main/java/org/wikitolearn/dao/PageDAO.java index b0639be..ae07bcf 100644 --- a/src/main/java/org/wikitolearn/dao/PageDAO.java +++ b/src/main/java/org/wikitolearn/dao/PageDAO.java @@ -1,12 +1,33 @@ /** * */ package org.wikitolearn.dao; +import com.tinkerpop.blueprints.impls.orient.OrientGraph; +import org.springframework.beans.factory.annotation.Autowired; +import org.wikitolearn.models.Page; +import org.wikitolearn.utils.DbConnection; + /** * @author alessandro * */ public class PageDAO { + + @Autowired + private DbConnection connection; + + public Boolean insertPages(List pages){ + for (Page p : pages){ + Vertex pageNode = graph.addVertex("class:Page"); + pageNode.setProperty( "title", dummy.getString("title")); + pageNode.setProperty("pid",dummy.getInt("pageid")); + pageNode.setProperty("namespace", namespace.getValue()); + pageNode.setProperty("currentPageVote",-1.0); + pageNode.setProperty("currentPageReliability", -1.0); + pageNode.setProperty("PageRating", 0.0); + pageNode.setProperty("badgeNumber",4); + } + } } diff --git a/src/main/java/org/wikitolearn/utils/DbConnection.java b/src/main/java/org/wikitolearn/utils/DbConnection.java index b78d718..bdb572e 100644 --- a/src/main/java/org/wikitolearn/utils/DbConnection.java +++ b/src/main/java/org/wikitolearn/utils/DbConnection.java @@ -1,43 +1,43 @@ /** * */ package org.wikitolearn.utils; import com.orientechnologies.orient.core.intent.OIntentMassiveInsert; import com.tinkerpop.blueprints.impls.orient.OrientGraph; import com.tinkerpop.blueprints.impls.orient.OrientGraphFactory; import com.tinkerpop.blueprints.impls.orient.OrientGraphNoTx; /** * @author alessandro * */ public class DbConnection { + + private OrientGraphFactory factory ; + private OrientGraphFactory factoryNT; + + public DbConnection(){ + factory = new OrientGraphFactory("remote:localhost/wikirate", + "root", "wikitolearn"); + factoryNT = new OrientGraphFactory("remote:localhost/wikirate", "root", "wikitolearn"); + factoryNT.declareIntent(new OIntentMassiveInsert()); + } /** * This method will return the OreintDB graph instance after connection. * @return Transaction enabled OrientGraph object */ - public OrientGraph getDbGraph() { - - OrientGraphFactory factory = new OrientGraphFactory("remote:localhost/wikirate", - "root", "wikitolearn"); - OrientGraph graph = factory.getTx(); - - return graph; + public OrientGraph getGraph() { + return factory.getTx(); } /** * This method will return the OreintDB graph instance after connection, * for massive inserts to improve performance,no transaction method * @return Transaction disabled OrientGraph object */ public OrientGraphNoTx getDbGraphNT() { - - OrientGraphFactory factory = new OrientGraphFactory("remote:localhost/wikirate", "root", "wikitolearn"); - factory.declareIntent(new OIntentMassiveInsert()); - OrientGraphNoTx graph =factory.getNoTx(); - - return graph; + return factoryNT.getNoTx(); } }