Guest User

Untitled

a guest
Mar 7th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.43 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package com.flopewsserver;
  7.  
  8. import com.flopewsserver.controller.Database_Controller;
  9. import com.flopewsserver.converter.JSONStringtoPOJO;
  10. import com.flopewsserver.entities.User;
  11. import java.util.logging.Logger;
  12. import java.io.IOException;
  13. import static java.lang.System.out;
  14. import java.util.HashMap;
  15. import java.util.logging.Level;
  16. import javax.persistence.EntityManager;
  17. import javax.persistence.EntityManagerFactory;
  18. import javax.persistence.Persistence;
  19. import javax.websocket.OnMessage;
  20. import javax.websocket.OnOpen;
  21. import javax.websocket.Session;
  22. import javax.websocket.server.ServerEndpoint;
  23.  
  24. /**
  25. *
  26. * @author Florian
  27. */
  28. @ServerEndpoint("/security")
  29. public class SecurityWebsocketEndpoint {
  30.  
  31.  
  32. private Session session;
  33. private static final Logger log = Logger.getLogger(SecurityWebsocketEndpoint.class.getName());
  34. private final static HashMap<String, SecurityWebsocketEndpoint> sockets = new HashMap<>();
  35. private String myUniqueId;
  36.  
  37. //the #uniqueID is created to create a unique identifier for the client that requested a connection, the ID is then sent back to the client and is stored in a HashMap together
  38. //with the SecurityWebsocketEndpoint-Objekt to identify established connections
  39. //https://stackoverflow.com/questions/17080216/how-to-send-message-to-particular-websocket-connection-using-java-server/17089997
  40. private String getMyUniqueId() {
  41. // unique ID from this class' hash code
  42. return Integer.toHexString(this.hashCode());
  43.  
  44. }
  45.  
  46. private void sendClient(String str) {
  47. try {
  48. this.session.getBasicRemote().sendText(str);
  49. } catch (IOException e) {
  50. }
  51. }
  52.  
  53.  
  54. @OnOpen
  55. public void onConnect(Session session) {
  56. // save session so we can send
  57. this.session = session;
  58.  
  59. // this unique ID and send ID to client
  60. this.myUniqueId = this.getMyUniqueId();
  61. System.out.println(myUniqueId +"IDUnique");
  62. this.sendClient(myUniqueId);
  63.  
  64. // map this unique ID to this connection
  65. SecurityWebsocketEndpoint.sockets.put(this.myUniqueId, this);}
  66.  
  67.  
  68. @OnMessage
  69. public void OnMessage(Session from,String message){
  70.  
  71. message = message.substring(6);
  72.  
  73. JSONStringtoPOJO conv = new JSONStringtoPOJO();
  74. User loginuser;
  75. loginuser = conv.convertJSONStringtoPOJOUSER(message);
  76. IncomingMessagesHandler dis;
  77. dis = new IncomingMessagesHandler();
  78. dis.test(loginuser);
  79. System.out.println(dis.test(loginuser));
  80.  
  81. String loginserver = login(loginuser);
  82. System.out.println(loginserver);
  83.  
  84. try { this.session.getBasicRemote().sendText(loginserver);}
  85. catch (IOException ex) {
  86. Logger.getLogger(SecurityWebsocketEndpoint.class.getName()).log(Level.SEVERE, null,ex);}
  87. }
  88.  
  89.  
  90. private String login(User loginuser) throws IllegalStateException {
  91.  
  92. String loginsuccess = "false";
  93. User databaseuser = null;
  94. Database_Controller dc = new Database_Controller();
  95. try {EntityManagerFactory emf = Persistence.createEntityManagerFactory("PU");
  96. EntityManager em = emf.createEntityManager();
  97. }
  98. catch (Exception e){e.printStackTrace(out); System.out.println(e.toString()+"stack");return loginsuccess;}
  99.  
  100. return loginsuccess;
  101. }}
  102.  
  103. Information: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
  104. Information: Unhandled exception in endpoint com.flopewsserver.SecurityWebsocketEndpoint.
  105. java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V
  106. at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:98)
  107. at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:71)
  108. at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:52)
  109. at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
  110. at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
  111. at com.flopewsserver.controller.Database_Controller.createEntityManager(Database_Controller.java:33)
  112. at com.flopewsserver.SecurityWebsocketEndpoint.login(SecurityWebsocketEndpoint.java:119)
  113. at com.flopewsserver.SecurityWebsocketEndpoint.OnMessage(SecurityWebsocketEndpoint.java:105)
  114. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  115. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  116. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  117. at java.lang.reflect.Method.invoke(Method.java:498)
  118. at org.glassfish.tyrus.core.AnnotatedEndpoint.callMethod(AnnotatedEndpoint.java:520)
  119. at org.glassfish.tyrus.core.AnnotatedEndpoint.access$100(AnnotatedEndpoint.java:87)
  120. at org.glassfish.tyrus.core.AnnotatedEndpoint$WholeHandler$1.onMessage(AnnotatedEndpoint.java:619)
  121. at org.glassfish.tyrus.core.TyrusSession.notifyMessageHandlers(TyrusSession.java:576)
  122. at org.glassfish.tyrus.core.TyrusEndpointWrapper.onMessage(TyrusEndpointWrapper.java:871)
  123. at org.glassfish.tyrus.core.TyrusWebSocket.onMessage(TyrusWebSocket.java:212)
  124. at org.glassfish.tyrus.core.frame.TextFrame.respond(TextFrame.java:139)
  125. at org.glassfish.tyrus.core.ProtocolHandler.process(ProtocolHandler.java:807)
  126. at org.glassfish.tyrus.core.TyrusWebSocketEngine$TyrusReadHandler.handle(TyrusWebSocketEngine.java:562)
  127. at org.glassfish.tyrus.servlet.TyrusHttpUpgradeHandler.onDataAvailable(TyrusHttpUpgradeHandler.java:173)
  128. at org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.processDataAvailable(InputBuffer.java:488)
  129. at org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.onDataAvailable(InputBuffer.java:453)
  130. at org.glassfish.grizzly.http.io.InputBuffer.invokeHandler(InputBuffer.java:1089)
  131. at org.glassfish.grizzly.http.io.InputBuffer.invokeHandlerOnProperThread(InputBuffer.java:1080)
  132. at org.glassfish.grizzly.http.io.InputBuffer.append(InputBuffer.java:963)
  133. at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:271)
  134. at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
  135. at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
  136. at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
  137. at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
  138. at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
  139. at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
  140. at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
  141. at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
  142. at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
  143. at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
  144. at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
  145. at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
  146. at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
  147. at java.lang.Thread.run(Thread.java:748)
  148.  
  149. T E S T S
  150. -------------------------------------------------------
  151. Running CRUD
  152. Mär 07, 2018 11:13:59 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
  153. INFO: HHH000204: Processing PersistenceUnitInfo [
  154. name: PU
  155. ...]
  156. Mär 07, 2018 11:13:59 AM org.hibernate.Version logVersion
  157. INFO: HHH000412: Hibernate Core {5.2.13.Final}
  158. Mär 07, 2018 11:13:59 AM org.hibernate.cfg.Environment <clinit>
  159. INFO: HHH000206: hibernate.properties not found
  160. Mär 07, 2018 11:13:59 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
  161. INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
  162. Mär 07, 2018 11:13:59 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
  163. WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
  164. Mär 07, 2018 11:13:59 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
  165. INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/database_anzeige]
  166. Mär 07, 2018 11:13:59 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
  167. INFO: HHH10001001: Connection properties: {user=root, password=****}
  168. Mär 07, 2018 11:13:59 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
  169. INFO: HHH10001003: Autocommit mode: false
  170. Mär 07, 2018 11:13:59 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
  171. INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
  172. Wed Mar 07 11:13:59 CET 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
  173. Mär 07, 2018 11:14:00 AM org.hibernate.dialect.Dialect <init>
  174. INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL57Dialect
  175. Mär 07, 2018 11:14:00 AM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
  176. INFO: HHH000397: Using ASTQueryTranslatorFactory
  177.  
  178. <?xml version="1.0" encoding="UTF-8"?>
  179. <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  180. <persistence-unit name="PU" transaction-type="JTA">
  181. <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
  182. <properties>
  183. <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
  184. <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/database_anzeige"/>
  185. <property name="javax.persistence.jdbc.user" value="root"/>
  186. <property name="javax.persistence.jdbc.password" value="30Bore300"/>
  187. </properties>
  188. </persistence-unit>
  189. </persistence>
  190.  
  191. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  192. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  193. <modelVersion>4.0.0</modelVersion>
  194. <groupId>com.flope</groupId>
  195. <artifactId>Anzeigeprojekt_Server</artifactId>
  196. <version>1.0-SNAPSHOT</version>
  197. <packaging>war</packaging>
  198. <dependencies>
  199. <dependency>
  200. <groupId>junit</groupId>
  201. <artifactId>junit</artifactId>
  202. <version>4.12</version>
  203. <scope>test</scope>
  204. </dependency>
  205. <dependency>
  206. <groupId>org.hamcrest</groupId>
  207. <artifactId>hamcrest-core</artifactId>
  208. <version>1.3</version>
  209. <scope>test</scope>
  210. </dependency>
  211. <dependency>
  212. <groupId>com.fasterxml.jackson.core</groupId>
  213. <artifactId>jackson-databind</artifactId>
  214. <version>2.6.7.1</version>
  215. </dependency>
  216. <dependency>
  217. <groupId>org.hibernate.javax.persistence</groupId>
  218. <artifactId>hibernate-jpa-2.1-api</artifactId>
  219. <version>1.0.0.Final</version>
  220. </dependency>
  221. <dependency>
  222. <groupId>org.hibernate</groupId>
  223. <artifactId>hibernate-core</artifactId>
  224. <version>5.2.13.Final</version>
  225. <exclusions>
  226. <exclusion>
  227. <groupId>org.jboss.logging</groupId>
  228. <artifactId>jboss-logging</artifactId>
  229. </exclusion>
  230. </exclusions>
  231. </dependency>
  232. <dependency>
  233. <groupId>mysql</groupId>
  234. <artifactId>mysql-connector-java</artifactId>
  235. <version>5.1.42</version>
  236. </dependency>
  237. <dependency>
  238. <groupId>org.hibernate</groupId>
  239. <artifactId>hibernate-entitymanager</artifactId>
  240. <version>5.2.13.Final</version>
  241. </dependency>
  242. <dependency>
  243. <groupId>org.apache.shiro</groupId>
  244. <artifactId>shiro-core</artifactId>
  245. <version>1.3.2</version>
  246. </dependency>
  247. <dependency>
  248. <groupId>org.hibernate</groupId>
  249. <artifactId>hibernate-jpamodelgen</artifactId>
  250. <version>5.2.13.Final</version>
  251. <exclusions>
  252. <exclusion>
  253. <groupId>org.jboss.logging</groupId>
  254. <artifactId>jboss-logging</artifactId>
  255. </exclusion>
  256. </exclusions>
  257. </dependency>
  258. <dependency>
  259. <groupId>org.jboss.logging</groupId>
  260. <artifactId>jboss-logging</artifactId>
  261. <version>3.3.1.Final</version>
  262. </dependency>
  263. <dependency>
  264. <groupId>javax</groupId>
  265. <artifactId>javaee-api</artifactId>
  266. <version>8.0</version>
  267. <scope>provided</scope>
  268. </dependency>
  269. </dependencies>
  270. <build>
  271. <finalName>Anzeigeprojekt_Server</finalName>
  272. </build>
  273. <repositories>
  274. <repository>
  275. <id>unknown-jars-temp-repo</id>
  276. <name>A temporary repository created by NetBeans for libraries and jars it could not identify. Please replace the dependencies in this repository with correct ones and delete this repository.</name>
  277. <url>file:${project.basedir}/lib</url>
  278. </repository>
  279. </repositories>
  280. <properties>
  281. <maven.compiler.source>1.8</maven.compiler.source>
  282. <maven.compiler.target>1.8</maven.compiler.target>
  283. <failOnMissingWebXml>false</failOnMissingWebXml>
  284. </properties>
  285. </project>
Add Comment
Please, Sign In to add comment