Skip to content

Instantly share code, notes, and snippets.

@Johnyoat
Created September 9, 2016 00:33
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Johnyoat/132dafb6226df242ef3f22a4afab835f to your computer and use it in GitHub Desktop.
Save Johnyoat/132dafb6226df242ef3f22a4afab835f to your computer and use it in GitHub Desktop.
News Reporter For Info App
<?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>
<profile default="false" name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<processorPath useClasspath="true" />
<module name="NewsReporterMaven" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="NewsReporterMaven" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
</component>
</project>
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-core:2.1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.1.3/jackson-core-2.1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.1.3/jackson-core-2.1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.1.3/jackson-core-2.1.3-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.api-client:google-api-client:1.21.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/api-client/google-api-client/1.21.0/google-api-client-1.21.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/api-client/google-api-client/1.21.0/google-api-client-1.21.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/api-client/google-api-client/1.21.0/google-api-client-1.21.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.api-client:google-api-client-gson:1.21.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/api-client/google-api-client-gson/1.21.0/google-api-client-gson-1.21.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/api-client/google-api-client-gson/1.21.0/google-api-client-gson-1.21.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/api-client/google-api-client-gson/1.21.0/google-api-client-gson-1.21.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.code.findbugs:jsr305:1.3.9">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.code.gson:gson:2.6.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.6.2/gson-2.6.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.6.2/gson-2.6.2-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.firebase:firebase-server-sdk:3.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/firebase/firebase-server-sdk/3.0.1/firebase-server-sdk-3.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/firebase/firebase-server-sdk/3.0.1/firebase-server-sdk-3.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/firebase/firebase-server-sdk/3.0.1/firebase-server-sdk-3.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.guava:guava-jdk5:17.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.http-client:google-http-client:1.21.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client/1.21.0/google-http-client-1.21.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client/1.21.0/google-http-client-1.21.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client/1.21.0/google-http-client-1.21.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.http-client:google-http-client-gson:1.21.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client-gson/1.21.0/google-http-client-gson-1.21.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client-gson/1.21.0/google-http-client-gson-1.21.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client-gson/1.21.0/google-http-client-gson-1.21.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.http-client:google-http-client-jackson2:1.21.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client-jackson2/1.21.0/google-http-client-jackson2-1.21.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client-jackson2/1.21.0/google-http-client-jackson2-1.21.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/http-client/google-http-client-jackson2/1.21.0/google-http-client-jackson2-1.21.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.google.oauth-client:google-oauth-client:1.21.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/oauth-client/google-oauth-client/1.21.0/google-oauth-client-1.21.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/google/oauth-client/google-oauth-client/1.21.0/google-oauth-client-1.21.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/google/oauth-client/google-oauth-client/1.21.0/google-oauth-client-1.21.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-codec:commons-codec:1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.3/commons-codec-1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.3/commons-codec-1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-logging:commons-logging:1.1.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.httpcomponents:httpclient:4.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.httpcomponents:httpcore:4.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.json:json:20160212">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/json/json/20160212/json-20160212.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/json/json/20160212/json-20160212-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/json/json/20160212/json-20160212-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.jsoup:jsoup:1.9.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jsoup/jsoup/1.9.2/jsoup-1.9.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jsoup/jsoup/1.9.2/jsoup-1.9.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jsoup/jsoup/1.9.2/jsoup-1.9.2-sources.jar!/" />
</SOURCES>
</library>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</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>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/NewsReporterMaven.iml" filepath="$PROJECT_DIR$/NewsReporterMaven.iml" />
</modules>
</component>
</project>
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="NewsReporter" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="newsreporter.NewsReporter" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="NewsReporterMaven" />
<envs />
<method />
</configuration>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.google.firebase:firebase-server-sdk:3.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.api-client:google-api-client-gson:1.21.0" level="project" />
<orderEntry type="library" name="Maven: com.google.api-client:google-api-client:1.21.0" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client:1.21.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client-jackson2:1.21.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.1.3" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20160212" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client-gson:1.21.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client:1.21.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.0.1" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.3" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava-jdk5:17.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.6.2" level="project" />
<orderEntry type="library" name="Maven: org.jsoup:jsoup:1.9.2" level="project" />
</component>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>NewsReporterMaven</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-server-sdk</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
</project>
{
"type": "service_account",
"project_id": "firebase-infoapp",
"private_key_id": "c130d7a2ea4ca752572926ef4b56461f899526b2",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpFlqcux7zAxuz\nu3ioxRFLiRA0ljVP+H8iBR+ncjPVSdQQzyg6V8nk+wkIlQtzmEcLUOBEUB6EfUXH\nECNYlUswtoISHNtfW8X+jBz6hwYN4VAVB5cRhtRACDIx9tCl8SHV+3Z+SQSRee24\nwZ0JBngtVKnvZM5egkp2/ellHczU7cmQWqihJk7WNkuTPqab+nRcomq4x9myVgmx\noIg2PVLA3wZcZf2eOSJn/s8Yd2EDsfUK93EcZyKVLyaIm6tZJ38dB5YD5QbgFGys\nppS5XbXU2Gy93zcWUoYMNEItvF8AWL3g77so+kjjo2a50+G0emuG5OgPKVZnb/e7\nnBdqOIANAgMBAAECggEAC9meNhfDHoLcQSdlWGafRKzxbs4MJHOk7UxwoHqXeV44\nN4ldJ2GZq6uQQYK4j7xfVkKvxPnceaqR5laSM5Ya8+oGiaBuG2vCH4nQShqGaRie\nVSr4AmlxnJ82bVv/2XFhzq5V6pnRcSSbbXRcPhKu/3ZMhpOJBwSYlWhMICMLhOyc\nIm06VxKDxxzn6j+YtigH2fLyMD95pmIbDFDjaFnyezVh5yEU5wKgf6PIv33mGCq3\nIrOQveBkg2Don3NMx7lL+pSQ0m7/ZF5/wSE2AIzX6SEyhM0BL7PaWPupCJwYLUis\ndCcE+QfqLVR3x+rb9jiyTSnGOZ7fKBpR56IfHc8ZHQKBgQDXm+poWm2uangkBFTE\nh1WoyRvgFfxqnv8Lj7IuM7O6MN8MPgHWIMmXakW5VGQ3IjMFVtKisYgWyWr1QtXT\njXv/tbOVkshAczIp97G4ThqsVbnaFiheo8DkETTyl2sJVkJBWIOPqCXhqFub/rTy\nKh6rmvYUGT8FJyLX9z3jMo6IYwKBgQDIw16mtECiHR2THz5wOUb9S3gK0feHDONQ\nfQJD3nS0MwnH0MAeWA/7OwSWR7CIPWqv3JHb4ZVlUoPQ8GNXxDJl08MQKOMnG8rm\nXxFV09VD6RHF4KX1OWFq3Z+cCxReyMBjLqjcTFTr0PQ8abWLNZn6kJNlzWOdDg5A\nmUglZTBozwKBgHnDCJ9EKlrsr8qPU5vlXf/DC2YCpJlGD3zk+thSxHYq8VwFjJ3z\nyEUldBjUyv/D5ZJnVO8iWVudBjVaOE2Pwm5HnBKlYUfchoDi7E/MdA3NH/dEuimw\nStfBy+gQkRclyqcCqNGxQStuG8Y+EswL82QwUDZLh6aOUoQqkZ3ESHBHAoGAFsg8\n3HQGBZ+CNKjOABQv3xyKUcgD69pljUOyVxtOaQiFqpwgwRDDN4I6Age+m6dEjRJd\npvMRbf8QIEy3KUWFZpLCRvos1MpNmxjcsb2pLNys/KSCkLJjQKpHq4CCXkMvudGY\nre8nj98VaCmixVpez9VKNLo6/J6UtXXvfvbdqHcCgYAPqeW0dxl0P5uZqmuo9fGF\nChILygEwMPyi1HnpNNR/BUcNflpl+jE+UT2kzMFp7LOFQTUxfGi3s43m7viqcIot\n5iHG6OPiFAWsYpRi6KoSLxb4bYaUJS1HXJhGL98os9el/sSau3rXCJEYsvz6B7dO\nfdPp+v6AmG010gT1++pabQ==\n-----END PRIVATE KEY-----\n",
"client_email": "johnson@firebase-infoapp.iam.gserviceaccount.com",
"client_id": "103690885629912185413",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/johnson%40firebase-infoapp.iam.gserviceaccount.com"
}
package newsreporter.Database;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class DatabaseConnector {
public static void ConnetToFirebase() throws FileNotFoundException {
// Initialize the app with a service account, granting admin privileges
FirebaseOptions options = new FirebaseOptions.Builder()
.setDatabaseUrl("https://fir-infoapp.firebaseio.com")
.setServiceAccount(new FileInputStream("E:\\Jay'sIDEAS\\Java\\NewsReporterMaven\\src\\main\\java\\InfoApp-c130d7a2ea4c.json"))
.build();
FirebaseApp.initializeApp(options);
}
}
package newsreporter.model;
public class MyConstant {
public static final String ROOT_PAGE = "http://csuc.edu.gh";
public static final String HOME_PAGE_URL = "http://csuc.edu.gh/csuc/articles/profiles";
public static final int PARSER_TIMEOUT = 20000;
}
package newsreporter.model;
import java.util.HashMap;
import java.util.Map;
public class News {
private String title;
private String summary;
private String imageUrl;
private String articleUrl;
private String postDate;
public News() {
}
public News(String title, String summary, String imageUrl, String articleUrl, String postDate) {
this.title = title;
this.summary = summary;
this.imageUrl = imageUrl;
this.articleUrl = articleUrl;
this.postDate = postDate;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getImageUrl() {
return imageUrl;
}
public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}
public String getArticleUrl() {
return articleUrl;
}
public void setArticleUrl(String articleUrl) {
this.articleUrl = articleUrl;
}
public String getPostDate() {
return postDate;
}
public void setPostDate(String postDate) {
this.postDate = postDate;
}
public Map<String , Object> toMap(){
HashMap<String , Object> nMap = new HashMap();
nMap.put("title", title);
nMap.put("summary", summary);
nMap.put("imageUrl", imageUrl);
nMap.put("articleUrl", articleUrl);
nMap.put("postDate", postDate);
return nMap;
}
}
package newsreporter.model;
import com.sun.jndi.toolkit.url.Uri;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class NewsSource {
private List<News> newsList ;
private Document webDoc;
private static NewsSource intance;
private NewsSource() {
newsList = new ArrayList<>();
}
public static NewsSource getInstance(){
if(intance == null){
intance = new NewsSource();
}
return intance;
}
private void loadNews(){
try {
webDoc = Jsoup.parse(new URL(MyConstant.HOME_PAGE_URL), MyConstant.PARSER_TIMEOUT);
} catch (MalformedURLException ex) {
Logger.getLogger(NewsSource.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(NewsSource.class.getName()).log(Level.SEVERE, null, ex);
}
if(webDoc != null){
List<Element> summaryElements = webDoc.getElementsByClass("summary");
for (Element element : summaryElements) {
Element header = element.getElementsByTag("h3").first();
String titleText = header.text();
String articleLink = MyConstant.ROOT_PAGE
+ header.getElementsByTag("a").first().attr("href");
String image = MyConstant.ROOT_PAGE + element.getElementsByTag("img").attr("src");
String summary = element.getElementsByTag("p").text();
String postDate = element.getElementsByClass("footer").text();
News n = new News(titleText, summary, image, articleLink, postDate);
newsList.add(n);
}
}
}
public List<News> getNewsList() {
loadNews();
return newsList;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package newsreporter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.io.FileNotFoundException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import newsreporter.Database.DatabaseConnector;
import newsreporter.model.News;
import newsreporter.model.NewsSource;
/**
*
* @author Jay
*/
public class NewsReporter {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
DatabaseConnector.ConnetToFirebase();
DatabaseReference ref = FirebaseDatabase
.getInstance()
.getReference("news/summary");
NewsSource source = NewsSource.getInstance();
List<News> nList = source.getNewsList();
for (int i = 0 ; i < nList.size() ; i++) {
News arg = nList.get(i);
ref.child(""+i).setValue(arg);
}
} catch (FileNotFoundException ex) {
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/java" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment