diff --git a/l2jserver2-common/pom.xml b/l2jserver2-common/pom.xml
index 23ffaacbe..706b03915 100644
--- a/l2jserver2-common/pom.xml
+++ b/l2jserver2-common/pom.xml
@@ -4,10 +4,11 @@
l2jserver2
com.l2jserver
- 2.0.0
+ 0.1.0-SNAPSHOT
..
l2jserver2-common
+
@@ -17,131 +18,93 @@
jar
test
+
+ org.slf4j
+ slf4j-log4j12
+ 1.6.1
+ test
+
org.jboss.netty
netty
3.2.4.Final
- runtime
+
com.google.inject
guice
3.0
- jar
- runtime
com.google.inject.extensions
guice-assistedinject
3.0
- jar
- runtime
com.google.inject.extensions
guice-multibindings
3.0
- jar
- runtime
-
- org.slf4j
- slf4j-log4j12
- 1.6.1
- jar
- runtime
-
org.slf4j
jcl-over-slf4j
1.6.1
- jar
- runtime
-
- mysql
- mysql-connector-java
- 5.1.16
- jar
- runtime
-
-
- com.h2database
- h2
- 1.3.155
- jar
- runtime
-
commons-dbcp
commons-dbcp
1.4
- jar
- runtime
+
+
+ com.orientechnologies
+ orientdb-core
+ 1.0rc5
net.sf.ehcache
ehcache-core
2.4.2
- jar
- runtime
-
-
-
- org.htmlparser
- htmlparser
- 2.1
- jar
- runtime
javolution
javolution
5.5.1
- jar
- runtime
com.google.guava
guava
10.0
- jar
- runtime
commons-io
commons-io
2.0.1
- jar
- runtime
commons-pool
commons-pool
1.5.6
- jar
- runtime
commons-collections
commons-collections
3.2.1
- jar
- runtime
org.apache.commons
commons-math
2.2
- jar
- runtime
+ L2JServer 2 - Commons module
+ http://github.com/l2jserver2
+ Lineage II server emulator
+ 2011
\ No newline at end of file
diff --git a/distribution/global/LICENSE b/l2jserver2-gameserver/distribution/global/LICENSE
similarity index 100%
rename from distribution/global/LICENSE
rename to l2jserver2-gameserver/distribution/global/LICENSE
diff --git a/distribution/global/README b/l2jserver2-gameserver/distribution/global/README
similarity index 100%
rename from distribution/global/README
rename to l2jserver2-gameserver/distribution/global/README
diff --git a/distribution/global/config/config.xml b/l2jserver2-gameserver/distribution/global/config/config.xml
similarity index 100%
rename from distribution/global/config/config.xml
rename to l2jserver2-gameserver/distribution/global/config/config.xml
diff --git a/distribution/global/config/properties/database.properties b/l2jserver2-gameserver/distribution/global/config/properties/database.properties
similarity index 100%
rename from distribution/global/config/properties/database.properties
rename to l2jserver2-gameserver/distribution/global/config/properties/database.properties
diff --git a/distribution/global/config/properties/template.properties b/l2jserver2-gameserver/distribution/global/config/properties/template.properties
similarity index 100%
rename from distribution/global/config/properties/template.properties
rename to l2jserver2-gameserver/distribution/global/config/properties/template.properties
diff --git a/distribution/global/config/properties/vfs.properties b/l2jserver2-gameserver/distribution/global/config/properties/vfs.properties
similarity index 100%
rename from distribution/global/config/properties/vfs.properties
rename to l2jserver2-gameserver/distribution/global/config/properties/vfs.properties
diff --git a/distribution/global/start.sh b/l2jserver2-gameserver/distribution/global/start.sh
similarity index 100%
rename from distribution/global/start.sh
rename to l2jserver2-gameserver/distribution/global/start.sh
diff --git a/distribution/sql/sql/actor_skill.sql b/l2jserver2-gameserver/distribution/sql/sql/actor_skill.sql
similarity index 100%
rename from distribution/sql/sql/actor_skill.sql
rename to l2jserver2-gameserver/distribution/sql/sql/actor_skill.sql
diff --git a/distribution/sql/sql/character.sql b/l2jserver2-gameserver/distribution/sql/sql/character.sql
similarity index 100%
rename from distribution/sql/sql/character.sql
rename to l2jserver2-gameserver/distribution/sql/sql/character.sql
diff --git a/distribution/sql/sql/character_friend.sql b/l2jserver2-gameserver/distribution/sql/sql/character_friend.sql
similarity index 100%
rename from distribution/sql/sql/character_friend.sql
rename to l2jserver2-gameserver/distribution/sql/sql/character_friend.sql
diff --git a/distribution/sql/sql/character_shortcut.sql b/l2jserver2-gameserver/distribution/sql/sql/character_shortcut.sql
similarity index 100%
rename from distribution/sql/sql/character_shortcut.sql
rename to l2jserver2-gameserver/distribution/sql/sql/character_shortcut.sql
diff --git a/distribution/sql/sql/clan.sql b/l2jserver2-gameserver/distribution/sql/sql/clan.sql
similarity index 100%
rename from distribution/sql/sql/clan.sql
rename to l2jserver2-gameserver/distribution/sql/sql/clan.sql
diff --git a/distribution/sql/sql/item.sql b/l2jserver2-gameserver/distribution/sql/sql/item.sql
similarity index 100%
rename from distribution/sql/sql/item.sql
rename to l2jserver2-gameserver/distribution/sql/sql/item.sql
diff --git a/distribution/sql/sql/log_chat.sql b/l2jserver2-gameserver/distribution/sql/sql/log_chat.sql
similarity index 100%
rename from distribution/sql/sql/log_chat.sql
rename to l2jserver2-gameserver/distribution/sql/sql/log_chat.sql
diff --git a/distribution/sql/sql/npc.sql b/l2jserver2-gameserver/distribution/sql/sql/npc.sql
similarity index 100%
rename from distribution/sql/sql/npc.sql
rename to l2jserver2-gameserver/distribution/sql/sql/npc.sql
diff --git a/l2jserver2-gameserver/pom.xml b/l2jserver2-gameserver/pom.xml
index 256dd4aed..6fe4df8d8 100644
--- a/l2jserver2-gameserver/pom.xml
+++ b/l2jserver2-gameserver/pom.xml
@@ -1,51 +1,9 @@
4.0.0
- com.l2jserver
l2jserver2-gameserver
- 2.0.0
- L2JServer - Game Server
+ L2JServer 2 - Game server module
Lineage II server emulator
- 2011
-
-
- GitHub
- https://github.com/l2jserver2/l2jserver2-gs/issues
-
-
-
- GitHub
- https://github.com/l2jserver2/l2jserver2-gs/wiki
-
-
-
-
- rogiel
- Rogiel
- rogiel@rogiel.com
- http://www.rogiel.com/
- -3
-
- Creator
- API Designer
-
-
-
-
-
- git://github.com/l2jserver2/l2jserver2-gs.git
- ssh://git@github.com:l2jserver2/l2jserver2-gs.git
- master
- https://github.com/l2jserver2/l2jserver2-gs
-
-
-
-
- GNU General Public License version 3
- http://www.gnu.org/licenses/gpl.txt
- manual
-
-
package
@@ -93,9 +51,19 @@
src/assembly/distribution-mysql5-bin.xml
src/assembly/distribution-h2-bin.xml
+ src/assembly/distribution-orientdb-bin.xml
+ src/assembly/distribution-derby-bin.xml
src/assembly/distribution-src.xml
+
+
+ package
+
+ assembly
+
+
+
@@ -105,7 +73,7 @@
com.l2jserver
l2jserver2-common
- 2.0.0
+ ${project.version}
@@ -122,7 +90,6 @@
org.jboss.netty
netty
3.2.4.Final
- runtime
@@ -130,21 +97,18 @@
guice
3.0
jar
- runtime
com.google.inject.extensions
guice-assistedinject
3.0
jar
- runtime
com.google.inject.extensions
guice-multibindings
3.0
jar
- runtime
@@ -159,7 +123,6 @@
jcl-over-slf4j
1.6.1
jar
- runtime
@@ -176,12 +139,23 @@
jar
runtime
+
+ org.apache.derby
+ derby
+ 10.8.1.2
+ runtime
+
+
+ com.orientechnologies
+ orientdb-core
+ 1.0rc5
+ jar
+
commons-dbcp
commons-dbcp
1.4
jar
- runtime
@@ -189,7 +163,6 @@
ehcache-core
2.4.2
jar
- runtime
@@ -197,7 +170,6 @@
htmlparser
2.1
jar
- runtime
@@ -205,64 +177,44 @@
javolution
5.5.1
jar
- runtime
com.google.guava
guava
r09
jar
- runtime
commons-io
commons-io
2.0.1
jar
- runtime
commons-pool
commons-pool
1.5.6
jar
- runtime
commons-collections
commons-collections
3.2.1
jar
- runtime
org.apache.commons
commons-math
2.2
jar
- runtime
-
-
-
-
- repository.jboss.org
- https://repository.jboss.org/nexus/content/repositories/releases/
-
-
- false
-
-
-
- maven2-repository.java.net
- Java.net Repository for Maven
- http://download.java.net/maven/2/
- default
-
-
- EclipseLink Repo
- http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo
-
-
+
+ com.l2jserver
+ l2jserver2
+ 0.1.0-SNAPSHOT
+ ..
+
+ http://github.com/l2jserver2
+ 2011
diff --git a/l2jserver2-gameserver/src/assembly/distribution-derby-bin.xml b/l2jserver2-gameserver/src/assembly/distribution-derby-bin.xml
new file mode 100644
index 000000000..31cf9dd6e
--- /dev/null
+++ b/l2jserver2-gameserver/src/assembly/distribution-derby-bin.xml
@@ -0,0 +1,53 @@
+
+ derby-bin
+
+ zip
+
+
+
+
+ ${project.basedir}
+ /
+
+ data/**
+
+
+ .gitignore
+ data/cache/**
+ data/pathing.db
+ data/database.h2.*
+
+
+
+ ${project.basedir}/distribution/global
+ /
+
+
+ ${project.basedir}/distribution/sql
+ /
+
+
+ ${project.build.directory}
+ /
+
+ ${project.artifactId}-${project.version}.jar
+
+
+
+
+
+ /libs
+ true
+ false
+ runtime
+
+ mysql:*
+ com.h2database:*
+ com.orientechnologies:*
+
+
+
+
\ No newline at end of file
diff --git a/l2jserver2-gameserver/src/assembly/distribution-h2-bin.xml b/l2jserver2-gameserver/src/assembly/distribution-h2-bin.xml
index b65c20d1e..befe43f26 100644
--- a/l2jserver2-gameserver/src/assembly/distribution-h2-bin.xml
+++ b/l2jserver2-gameserver/src/assembly/distribution-h2-bin.xml
@@ -4,8 +4,6 @@
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
h2-bin
-
-
zip
@@ -46,7 +44,9 @@
false
runtime
- mysql:mysql-connector-java
+ mysql:*
+ org.apache.derby:*
+ com.orientechnologies:*
diff --git a/l2jserver2-gameserver/src/assembly/distribution-mysql5-bin.xml b/l2jserver2-gameserver/src/assembly/distribution-mysql5-bin.xml
index 072becec2..39a918494 100644
--- a/l2jserver2-gameserver/src/assembly/distribution-mysql5-bin.xml
+++ b/l2jserver2-gameserver/src/assembly/distribution-mysql5-bin.xml
@@ -4,8 +4,6 @@
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
mysql5-bin
-
-
zip
@@ -46,7 +44,9 @@
false
runtime
- com.h2database:h2
+ com.h2database:*
+ org.apache.derby:*
+ com.orientechnologies:*
diff --git a/l2jserver2-gameserver/src/assembly/distribution-orientdb-bin.xml b/l2jserver2-gameserver/src/assembly/distribution-orientdb-bin.xml
new file mode 100644
index 000000000..dd47519ff
--- /dev/null
+++ b/l2jserver2-gameserver/src/assembly/distribution-orientdb-bin.xml
@@ -0,0 +1,53 @@
+
+ orientdb-bin
+
+ zip
+
+
+
+
+ ${project.basedir}
+ /
+
+ data/**
+
+
+ .gitignore
+ data/cache/**
+ data/pathing.db
+ data/database.h2.*
+
+
+
+ ${project.basedir}/distribution/global
+ /
+
+
+ ${project.basedir}/distribution/sql
+ /
+
+
+ ${project.build.directory}
+ /
+
+ ${project.artifactId}-${project.version}.jar
+
+
+
+
+
+ /libs
+ true
+ false
+ runtime
+
+ mysql:*
+ com.h2database:*
+ org.apache.derby:*
+
+
+
+
\ No newline at end of file
diff --git a/l2jserver2-gameserver/src/assembly/distribution-src.xml b/l2jserver2-gameserver/src/assembly/distribution-src.xml
index 525a6de14..b63ef8906 100644
--- a/l2jserver2-gameserver/src/assembly/distribution-src.xml
+++ b/l2jserver2-gameserver/src/assembly/distribution-src.xml
@@ -4,8 +4,6 @@
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
src
-
-
zip
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/DerbyDAOModule.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/DerbyDAOModule.java
new file mode 100644
index 000000000..b279e6540
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/DerbyDAOModule.java
@@ -0,0 +1,57 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.Scopes;
+import com.l2jserver.model.dao.CharacterDAO;
+import com.l2jserver.model.dao.CharacterFriendDAO;
+import com.l2jserver.model.dao.ChatMessageDAO;
+import com.l2jserver.model.dao.ClanDAO;
+import com.l2jserver.model.dao.ItemDAO;
+import com.l2jserver.model.dao.NPCDAO;
+import com.l2jserver.service.database.jdbc.derby.DerbyCharacterDAO;
+import com.l2jserver.service.database.jdbc.derby.DerbyCharacterFriendDAO;
+import com.l2jserver.service.database.jdbc.derby.DerbyChatMessageDAO;
+import com.l2jserver.service.database.jdbc.derby.DerbyClanDAO;
+import com.l2jserver.service.database.jdbc.derby.DerbyItemDAO;
+import com.l2jserver.service.database.jdbc.derby.DerbyNPCDAO;
+
+/**
+ * Google Guice {@link Module} for Derby DAOs
+ *
+ * @author Rogiel
+ */
+public class DerbyDAOModule extends AbstractModule {
+ @Override
+ protected void configure() {
+ bind(CharacterDAO.class).to(DerbyCharacterDAO.class).in(
+ Scopes.SINGLETON);
+ bind(CharacterFriendDAO.class).to(DerbyCharacterFriendDAO.class).in(
+ Scopes.SINGLETON);
+
+ bind(NPCDAO.class).to(DerbyNPCDAO.class).in(Scopes.SINGLETON);
+
+ bind(ItemDAO.class).to(DerbyItemDAO.class).in(Scopes.SINGLETON);
+ bind(ClanDAO.class).to(DerbyClanDAO.class).in(Scopes.SINGLETON);
+
+ // logs
+ bind(ChatMessageDAO.class).to(DerbyChatMessageDAO.class).in(
+ Scopes.SINGLETON);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/OrientDBDAOModule.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/OrientDBDAOModule.java
new file mode 100644
index 000000000..8c7414444
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/OrientDBDAOModule.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
+import com.google.inject.Scopes;
+import com.l2jserver.model.dao.CharacterDAO;
+import com.l2jserver.service.database.orientdb.OrientDBCharacterDAO;
+
+/**
+ * Google Guice {@link Module} for Orient Database DAOs
+ *
+ * @author Rogiel
+ */
+public class OrientDBDAOModule extends AbstractModule {
+ @Override
+ protected void configure() {
+ bind(CharacterDAO.class).to(OrientDBCharacterDAO.class).in(
+ Scopes.SINGLETON);
+ // bind(CharacterFriendDAO.class).to(OrientDBCharacterFriendDAO.class).in(
+ // Scopes.SINGLETON);
+ //
+ // bind(NPCDAO.class).to(OrientDBNPCDAO.class).in(Scopes.SINGLETON);
+ //
+ // bind(ItemDAO.class).to(OrientDBItemDAO.class).in(Scopes.SINGLETON);
+ // bind(ClanDAO.class).to(OrientDBClanDAO.class).in(Scopes.SINGLETON);
+ //
+ // // logs
+ // bind(ChatMessageDAO.class).to(OrientDBChatMessageDAO.class).in(
+ // Scopes.SINGLETON);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyCharacterDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyCharacterDAO.java
new file mode 100644
index 000000000..83e650afb
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyCharacterDAO.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.jdbc.derby;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.CharacterDAO;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.object.provider.ClanIDProvider;
+import com.l2jserver.model.id.provider.AccountIDProvider;
+import com.l2jserver.model.id.template.provider.CharacterTemplateIDProvider;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCCharacterDAO;
+
+/**
+ * {@link CharacterDAO} implementation for MySQL5
+ *
+ * @author Rogiel
+ */
+public class DerbyCharacterDAO extends JDBCCharacterDAO implements
+ CharacterDAO {
+ /**
+ * @param database
+ * the database service
+ * @param idFactory
+ * the character id provider
+ * @param templateIdFactory
+ * the template id provider
+ * @param accountIdFactory
+ * the account id provider
+ * @param clanIdFactory
+ * the clan id provider
+ */
+ @Inject
+ public DerbyCharacterDAO(DatabaseService database,
+ CharacterIDProvider idFactory,
+ CharacterTemplateIDProvider templateIdFactory,
+ AccountIDProvider accountIdFactory, ClanIDProvider clanIdFactory) {
+ super(database, idFactory, templateIdFactory, accountIdFactory,
+ clanIdFactory);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyCharacterFriendDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyCharacterFriendDAO.java
new file mode 100644
index 000000000..f4225b123
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyCharacterFriendDAO.java
@@ -0,0 +1,46 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.jdbc.derby;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.CharacterFriendDAO;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.provider.FriendIDProvider;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCCharacterFriendDAO;
+
+/**
+ * {@link CharacterFriendDAO} implementation for MySQL5
+ *
+ * @author Rogiel
+ */
+public class DerbyCharacterFriendDAO extends JDBCCharacterFriendDAO implements
+ CharacterFriendDAO {
+ /**
+ * @param database
+ * the database service
+ * @param idProvider
+ * the frind id provider
+ * @param charIdProvider
+ * the character id provider
+ */
+ @Inject
+ public DerbyCharacterFriendDAO(DatabaseService database,
+ FriendIDProvider idProvider, CharacterIDProvider charIdProvider) {
+ super(database, idProvider, charIdProvider);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyChatMessageDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyChatMessageDAO.java
new file mode 100644
index 000000000..9ed9a3544
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyChatMessageDAO.java
@@ -0,0 +1,46 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.jdbc.derby;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.ChatMessageDAO;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.provider.ChatMessageIDProvider;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCChatMessageDAO;
+
+/**
+ * {@link ChatMessageDAO} implementation for MySQL5
+ *
+ * @author Rogiel
+ */
+public class DerbyChatMessageDAO extends JDBCChatMessageDAO implements
+ ChatMessageDAO {
+ /**
+ * @param database
+ * the database service
+ * @param idFactory
+ * the chat message id provider
+ * @param charIdFactory
+ * the character id provider
+ */
+ @Inject
+ public DerbyChatMessageDAO(DatabaseService database,
+ ChatMessageIDProvider idFactory, CharacterIDProvider charIdFactory) {
+ super(database, idFactory, charIdFactory);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/AbstractOrientDBDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyClanDAO.java
similarity index 51%
rename from l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/AbstractOrientDBDAO.java
rename to l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyClanDAO.java
index c0d398d9e..486e492eb 100644
--- a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/AbstractOrientDBDAO.java
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyClanDAO.java
@@ -14,31 +14,33 @@
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see .
*/
-package com.l2jserver.service.database.orientdb;
+package com.l2jserver.service.database.jdbc.derby;
-import com.l2jserver.model.Model;
-import com.l2jserver.model.id.ID;
-import com.l2jserver.service.database.AbstractDAO;
-import com.l2jserver.service.database.AbstractOrientDatabaseService;
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.CharacterDAO;
+import com.l2jserver.model.dao.ClanDAO;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.object.provider.ClanIDProvider;
import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCClanDAO;
/**
+ * {@link CharacterDAO} implementation for MySQL5
+ *
* @author Rogiel
- * @param
- * the model type
- * @param
- * the id type
*/
-public abstract class AbstractOrientDBDAO, I extends ID>>
- extends AbstractDAO {
- protected final AbstractOrientDatabaseService database;
-
+public class DerbyClanDAO extends JDBCClanDAO implements ClanDAO {
/**
* @param database
- * the database instance
+ * the database service
+ * @param clanIdFactory
+ * the clan id provider
+ * @param idFactory
+ * the character id provider
*/
- protected AbstractOrientDBDAO(DatabaseService database) {
- super(database);
- this.database = (AbstractOrientDatabaseService) database;
+ @Inject
+ public DerbyClanDAO(DatabaseService database,
+ ClanIDProvider clanIdFactory, CharacterIDProvider idFactory) {
+ super(database, clanIdFactory, idFactory);
}
}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyItemDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyItemDAO.java
new file mode 100644
index 000000000..07ad55c26
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyItemDAO.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.jdbc.derby;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.ItemDAO;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.object.provider.ItemIDProvider;
+import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCItemDAO;
+
+/**
+ * {@link ItemDAO} implementation for MySQL5
+ *
+ * @author Rogiel
+ */
+public class DerbyItemDAO extends JDBCItemDAO implements ItemDAO {
+ /**
+ * @param database
+ * the database service
+ * @param idFactory
+ * the item id provider
+ * @param templateIdFactory
+ * the item template id provider
+ * @param charIdFactory
+ * the character id provider
+ */
+ @Inject
+ public DerbyItemDAO(DatabaseService database, ItemIDProvider idFactory,
+ ItemTemplateIDProvider templateIdFactory,
+ CharacterIDProvider charIdFactory) {
+ super(database, idFactory, templateIdFactory, charIdFactory);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyNPCDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyNPCDAO.java
new file mode 100644
index 000000000..977198bac
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/jdbc/derby/DerbyNPCDAO.java
@@ -0,0 +1,46 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.jdbc.derby;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.CharacterDAO;
+import com.l2jserver.model.dao.NPCDAO;
+import com.l2jserver.model.id.object.provider.NPCIDProvider;
+import com.l2jserver.model.id.template.provider.NPCTemplateIDProvider;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCNPCDAO;
+
+/**
+ * {@link CharacterDAO} implementation for MySQL5
+ *
+ * @author Rogiel
+ */
+public class DerbyNPCDAO extends JDBCNPCDAO implements NPCDAO {
+ /**
+ * @param database
+ * the database service
+ * @param idProvider
+ * the npc id provider
+ * @param templateIdProvider
+ * the npc template id provider
+ */
+ @Inject
+ public DerbyNPCDAO(DatabaseService database, NPCIDProvider idProvider,
+ NPCTemplateIDProvider templateIdProvider) {
+ super(database, idProvider, templateIdProvider);
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/OrientDBCharacterFriendDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/OrientDBCharacterFriendDAO.java
new file mode 100644
index 000000000..7d9efd1db
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/OrientDBCharacterFriendDAO.java
@@ -0,0 +1,282 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.orientdb;
+
+import java.sql.SQLException;
+import java.util.List;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.CharacterFriendDAO;
+import com.l2jserver.model.game.CharacterFriend;
+import com.l2jserver.model.id.FriendID;
+import com.l2jserver.model.id.object.CharacterID;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.provider.FriendIDProvider;
+import com.l2jserver.model.world.L2Character;
+import com.l2jserver.model.world.character.CharacterFriendList;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.CachedMapper;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.InsertUpdateQuery;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.Mapper;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.SelectListQuery;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.SelectSingleQuery;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.database.jdbc.JDBCCharacterDAO;
+import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
+import com.orientechnologies.orient.core.query.nativ.ONativeSynchQuery;
+import com.orientechnologies.orient.core.query.nativ.OQueryContextNativeSchema;
+import com.orientechnologies.orient.core.record.impl.ODocument;
+
+/**
+ * {@link CharacterFriendDAO} implementation for JDBC
+ *
+ * @author Rogiel
+ */
+public abstract class OrientDBCharacterFriendDAO extends
+ AbstractOrientDBDAO implements
+ CharacterFriendDAO {
+ /**
+ * The {@link FriendID} provider
+ */
+ private final FriendIDProvider idProvider;
+ /**
+ * The {@link CharacterID} provider
+ */
+ private final CharacterIDProvider charIdProvider;
+
+ /**
+ * Character table name
+ */
+ public static final String CLASS_NAME = CharacterFriend.class
+ .getSimpleName();
+ // FIELDS
+ public static final String CHAR_ID = JDBCCharacterDAO.CHAR_ID;
+ public static final String CHAR_ID_FRIEND = JDBCCharacterDAO.CHAR_ID
+ + "_friend";
+
+ /**
+ * @param database
+ * the database service
+ * @param idProvider
+ * the frind id provider
+ * @param charIdProvider
+ * the character id provider
+ */
+ @Inject
+ public OrientDBCharacterFriendDAO(DatabaseService database,
+ final FriendIDProvider idProvider,
+ CharacterIDProvider charIdProvider) {
+ super(database);
+ this.idProvider = idProvider;
+ this.charIdProvider = charIdProvider;
+ }
+
+ /**
+ * The {@link Mapper} for {@link FriendID}
+ */
+ private final Mapper idMapper = new Mapper() {
+ @Override
+ public FriendID map(ODocument document) throws SQLException {
+ final CharacterID characterId = charIdProvider
+ .resolveID((Integer) document.field(CHAR_ID));
+ final CharacterID friendId = charIdProvider
+ .resolveID((Integer) document.field(CHAR_ID_FRIEND));
+ return idProvider.createID(characterId, friendId);
+ }
+ };
+
+ /**
+ * The {@link Mapper} for {@link CharacterFriend}
+ */
+ private final Mapper mapper = new CachedMapper(
+ database, idMapper) {
+ @Override
+ protected CharacterFriend map(FriendID id, ODocument document)
+ throws SQLException {
+ return new CharacterFriend(id);
+ }
+ };
+
+ @Override
+ public CharacterFriend select(final FriendID id) {
+ return database.query(new SelectSingleQuery() {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return criteria.field(CHAR_ID).eq(id.getID1().getID())
+ .field(CHAR_ID_FRIEND).eq(id.getID2().getID())
+ .go();
+ };
+ };
+ }
+
+ @Override
+ protected Mapper mapper() {
+ return mapper;
+ }
+ });
+ }
+
+ @Override
+ public void load(final L2Character character) {
+ final List list = database
+ .query(new SelectListQuery() {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return criteria.field(CHAR_ID)
+ .eq(character.getID().getID()).go();
+ };
+ };
+ }
+
+ @Override
+ protected Mapper mapper() {
+ return mapper;
+ }
+ });
+ character.getFriendList().load(list);
+ }
+
+ @Override
+ public List selectIDs() {
+ return database.query(new SelectListQuery() {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return true;
+ };
+ };
+ }
+
+ @Override
+ protected Mapper mapper() {
+ return idMapper;
+ }
+ });
+ }
+
+ @Override
+ public boolean insert(CharacterFriend friend) {
+ return database.query(new InsertUpdateQuery(friend) {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database, CharacterFriend object) {
+ return null;
+ }
+
+ @Override
+ protected ODocument update(ODocument document,
+ CharacterFriend object) throws SQLException {
+ return null;
+ }
+
+ @Override
+ protected ODocument insert(ODocument document,
+ CharacterFriend friend) throws SQLException {
+ document.field(CHAR_ID, friend.getCharacterID());
+ document.field(CHAR_ID_FRIEND, friend.getFriendID());
+ return document;
+ }
+ }) > 0;
+ }
+
+ @Override
+ public boolean update(CharacterFriend friend) {
+ // it is not possible update friend objects, because they are only a ID
+ // pair and IDs are immutable
+ return false;
+ }
+
+ @Override
+ public boolean delete(CharacterFriend friend) {
+ return database.query(new InsertUpdateQuery(friend) {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database, final CharacterFriend friend) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return criteria.field(CHAR_ID)
+ .eq(friend.getCharacterID().getID()).and()
+ .field(CHAR_ID_FRIEND)
+ .eq(friend.getFriendID().getID()).go();
+ };
+ };
+ }
+
+ @Override
+ protected ODocument update(ODocument document,
+ CharacterFriend object) throws SQLException {
+ document.delete();
+ return null;
+ }
+
+ @Override
+ protected ODocument insert(ODocument document,
+ CharacterFriend friend) throws SQLException {
+ return null;
+ }
+ }) > 0;
+ }
+
+ @Override
+ public boolean save(final CharacterFriendList friends) {
+ for (final CharacterFriend friend : friends) {
+ if (!save(friend))
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public boolean delete(final CharacterFriendList friends) {
+ for (final CharacterFriend friend : friends) {
+ if (!delete(friend))
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/OrientDBChatMessageDAO.java b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/OrientDBChatMessageDAO.java
new file mode 100644
index 000000000..6c6639e24
--- /dev/null
+++ b/l2jserver2-gameserver/src/main/java/com/l2jserver/service/database/orientdb/OrientDBChatMessageDAO.java
@@ -0,0 +1,259 @@
+/*
+ * This file is part of l2jserver .
+ *
+ * l2jserver is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * l2jserver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with l2jserver. If not, see .
+ */
+package com.l2jserver.service.database.orientdb;
+
+import java.sql.SQLException;
+import java.util.Date;
+import java.util.List;
+
+import com.google.inject.Inject;
+import com.l2jserver.model.dao.CharacterDAO;
+import com.l2jserver.model.dao.ChatMessageDAO;
+import com.l2jserver.model.id.ChatMessageID;
+import com.l2jserver.model.id.object.CharacterID;
+import com.l2jserver.model.id.object.provider.CharacterIDProvider;
+import com.l2jserver.model.id.provider.ChatMessageIDProvider;
+import com.l2jserver.model.server.ChatMessage;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.CachedMapper;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.InsertUpdateQuery;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.Mapper;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.SelectListQuery;
+import com.l2jserver.service.database.AbstractOrientDatabaseService.SelectSingleQuery;
+import com.l2jserver.service.database.DatabaseService;
+import com.l2jserver.service.game.chat.ChatMessageType;
+import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
+import com.orientechnologies.orient.core.query.nativ.ONativeSynchQuery;
+import com.orientechnologies.orient.core.query.nativ.OQueryContextNativeSchema;
+import com.orientechnologies.orient.core.record.impl.ODocument;
+
+/**
+ * {@link CharacterDAO} implementation for JDBC
+ *
+ * @author Rogiel
+ */
+public abstract class OrientDBChatMessageDAO extends
+ AbstractOrientDBDAO implements
+ ChatMessageDAO {
+ /**
+ * The {@link ChatMessageID} factory
+ */
+ private final ChatMessageIDProvider idFactory;
+ /**
+ * The {@link CharacterID} factory
+ */
+ private final CharacterIDProvider charIdFactory;
+
+ /**
+ * Character table name
+ */
+ public static final String CLASS_NAME = ChatMessage.class.getSimpleName();
+ // FIELDS
+ public static final String MESSAGE_ID = "message_id";
+ public static final String TYPE = "type";
+ public static final String CHANNEL_ID = "channel_id";
+ public static final String SENDER = "sender";
+ public static final String DATE = "date";
+ public static final String MESSAGE = "message";
+
+ /**
+ * @param database
+ * the database service
+ * @param idFactory
+ * the chat message id provider
+ * @param charIdFactory
+ * the character id provider
+ */
+ @Inject
+ public OrientDBChatMessageDAO(DatabaseService database,
+ ChatMessageIDProvider idFactory,
+ final CharacterIDProvider charIdFactory) {
+ super(database);
+ this.idFactory = idFactory;
+ this.charIdFactory = charIdFactory;
+ }
+
+ /**
+ * The {@link Mapper} for {@link ChatMessageID}
+ */
+ private final Mapper idMapper = new Mapper() {
+ @Override
+ public ChatMessageID map(ODocument document) throws SQLException {
+ return idFactory.resolveID((Integer) document.field(MESSAGE_ID));
+ }
+ };
+
+ /**
+ * The {@link Mapper} for {@link ChatMessage}
+ */
+ private final Mapper mapper = new CachedMapper(
+ database, idMapper) {
+ @Override
+ protected ChatMessage map(ChatMessageID id, ODocument document)
+ throws SQLException {
+ final ChatMessage message = new ChatMessage();
+ message.setID(id);
+
+ message.setType(ChatMessageType.valueOf((String) document
+ .field(TYPE)));
+ switch (message.getType()) {
+ case SHOUT:
+ message.setTarget(charIdFactory.resolveID((Integer) document
+ .field(CHANNEL_ID)));
+ break;
+ default:
+ message.setChannelID((Integer) document.field(CHANNEL_ID));
+ break;
+ }
+ message.setSender(charIdFactory.resolveID((Integer) document
+ .field(SENDER)));
+ message.setDate((Date) document.field(DATE));
+ message.setMessage((String) document.field(MESSAGE));
+
+ return message;
+ }
+ };
+
+ @Override
+ public ChatMessage select(final ChatMessageID id) {
+ return database.query(new SelectSingleQuery() {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return criteria.field(MESSAGE_ID).eq(id.getID()).go();
+ };
+ };
+ }
+
+ @Override
+ protected Mapper mapper() {
+ return mapper;
+ }
+ });
+ }
+
+ @Override
+ public List selectIDs() {
+ return database.query(new SelectListQuery() {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return true;
+ };
+ };
+ }
+
+ @Override
+ protected Mapper mapper() {
+ return idMapper;
+ }
+ });
+ }
+
+ @Override
+ public boolean insert(ChatMessage message) {
+ return database.query(new InsertUpdateQuery(message) {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database, ChatMessage object) {
+ return null;
+ }
+
+ @Override
+ protected ODocument update(ODocument document, ChatMessage object)
+ throws SQLException {
+ return null;
+ }
+
+ @Override
+ protected ODocument insert(ODocument document, ChatMessage message)
+ throws SQLException {
+ document.field(TYPE, message.getType().name());
+ switch (message.getType()) {
+ case SHOUT:
+ document.field(CHANNEL_ID, message.getTarget().getID());
+ break;
+ default:
+ document.field(CHANNEL_ID, message.getChannelID());
+ break;
+ }
+ document.field(SENDER, message.getTarget().getID());
+ document.field(DATE, message.getDate());
+ document.field(MESSAGE, message.getMessage());
+
+ return document;
+ }
+ }) > 0;
+ }
+
+ @Override
+ public boolean update(ChatMessage message) {
+ // cannot update chat message logs
+ return false;
+ }
+
+ @Override
+ public boolean delete(ChatMessage message) {
+ return database.query(new InsertUpdateQuery(message) {
+ @Override
+ protected ONativeSynchQuery> createQuery(
+ ODatabaseDocumentTx database, final ChatMessage message) {
+ return new ONativeSynchQuery>(
+ database, CLASS_NAME,
+ new OQueryContextNativeSchema()) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean filter(
+ OQueryContextNativeSchema criteria) {
+ return criteria.field(MESSAGE_ID).eq(message.getID())
+ .and().go();
+ };
+ };
+ }
+
+ @Override
+ protected ODocument update(ODocument document, ChatMessage object)
+ throws SQLException {
+ document.delete();
+ return null;
+ }
+
+ @Override
+ protected ODocument insert(ODocument document, ChatMessage object)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ }) > 0;
+ }
+}
diff --git a/l2jserver2-loginserver/pom.xml b/l2jserver2-loginserver/pom.xml
index f6d6e5ec8..b9655e3e9 100644
--- a/l2jserver2-loginserver/pom.xml
+++ b/l2jserver2-loginserver/pom.xml
@@ -4,38 +4,41 @@
l2jserver2
com.l2jserver
- 2.0.0
+ 0.1.0-SNAPSHOT
..
l2jserver2-loginserver
+
+ com.l2jserver
+ l2jserver2-common
+ ${project.version}
+
+
junit
junit
4.8.2
jar
- compile
+ test
org.jboss.netty
netty
3.2.4.Final
- runtime
com.google.inject
guice
3.0
jar
- runtime
com.google.inject.extensions
guice-assistedinject
3.0
jar
- runtime
org.slf4j
@@ -51,13 +54,6 @@
jar
runtime
-
- javacc
- javacc
- 4.1
- jar
- runtime
-
org.apache.commons
commons-io
@@ -79,10 +75,9 @@
jar
runtime
-
- com.l2jserver
- l2jserver2-common
- 2.0.0
-
+ L2JServer 2 - Login server module
+ http://github.com/l2jserver2
+ Lineage II server emulator
+ 2011
\ No newline at end of file
diff --git a/l2jserver2-tools/pom.xml b/l2jserver2-tools/pom.xml
index da350bd2e..813b09408 100644
--- a/l2jserver2-tools/pom.xml
+++ b/l2jserver2-tools/pom.xml
@@ -1,17 +1,22 @@
-
- 4.0.0
-
- l2jserver2
- com.l2jserver
- 2.0.0
- ..
-
- l2jserver2-tools
-
-
- com.l2jserver
- l2jserver2-gameserver
- 2.0.0
-
-
+
+ 4.0.0
+
+ l2jserver2
+ com.l2jserver
+ 0.1.0-SNAPSHOT
+ ..
+
+ l2jserver2-tools
+
+
+ com.l2jserver
+ l2jserver2-gameserver
+ ${project.version}
+
+
+ L2JServer 2 - Tools module
+ http://github.com/l2jserver2
+ Lineage II server emulator
+ 2011
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 41fd3c6b3..394338a7b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,13 +3,13 @@
4.0.0
com.l2jserver
l2jserver2
- 2.0.0
+ 0.1.0-SNAPSHOT
pom
-
- L2JServer - Game Server
+
+ L2JServer 2
Lineage II server emulator
2011
-
+
l2jserver2-common
l2jserver2-gameserver
@@ -19,12 +19,12 @@
GitHub
- https://github.com/l2jserver2/l2jserver2-gs/issues
+ https://github.com/l2jserver2/l2jserver2/issues
GitHub
- https://github.com/l2jserver2/l2jserver2-gs/wiki
+ https://github.com/l2jserver2/l2jserver2/wiki
@@ -42,10 +42,10 @@
- git://github.com/l2jserver2/l2jserver2-gs.git
- ssh://git@github.com:l2jserver2/l2jserver2-gs.git
+ scm:git://github.com/l2jserver2/l2jserver2.git
+ scm:ssh://git@github.com:l2jserver2/l2jserver2.git
master
- https://github.com/l2jserver2/l2jserver2-gs
+ https://github.com/l2jserver2/l2jserver2
@@ -72,45 +72,17 @@
1.7
1.7
+ true
org.apache.maven.plugins
maven-jar-plugin
-
-
-
- true
- libs/
- com.l2jserver.L2JGameServerMain
-
-
-
-
-
- assembly
-
- jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- src/assembly/distribution-mysql5-bin.xml
- src/assembly/distribution-h2-bin.xml
- src/assembly/distribution-orientdb-bin.xml
- src/assembly/distribution-src.xml
-
-
package
- assembly
+ jar
@@ -127,144 +99,12 @@
jar
test
-
-
-
- org.jboss.netty
- netty
- 3.2.4.Final
- runtime
-
-
-
- com.google.inject
- guice
- 3.0
- jar
- runtime
-
-
- com.google.inject.extensions
- guice-assistedinject
- 3.0
- jar
- runtime
-
-
- com.google.inject.extensions
- guice-multibindings
- 3.0
- jar
- runtime
-
-
-
- org.slf4j
- slf4j-log4j12
- 1.6.1
- jar
- runtime
-
-
- org.slf4j
- jcl-over-slf4j
- 1.6.1
- jar
- runtime
-
-
-
- mysql
- mysql-connector-java
- 5.1.16
- compile
-
-
- com.h2database
- h2
- 1.3.155
- compile
-
-
- commons-dbcp
- commons-dbcp
- 1.4
- jar
- compile
-
-
-
- com.orientechnologies
- orientdb-core
- 1.0rc5
- compile
-
-
-
- net.sf.ehcache
- ehcache-core
- 2.4.2
- jar
- runtime
-
-
-
- org.htmlparser
- htmlparser
- 2.1
- jar
- runtime
-
-
-
- javolution
- javolution
- 5.5.1
- jar
- runtime
-
-
- com.google.guava
- guava
- r09
- jar
- runtime
-
-
- commons-io
- commons-io
- 2.0.1
- jar
- runtime
-
-
- commons-pool
- commons-pool
- 1.5.6
- jar
- runtime
-
-
- commons-collections
- commons-collections
- 3.2.1
- jar
- runtime
-
-
- org.apache.commons
- commons-math
- 2.2
- jar
- runtime
-
repository.jboss.org
- https://repository.jboss.org/nexus/content/repositories/releases/
-
+ https://repository.jboss.org/nexus/content/repositories/releases/
false
@@ -285,4 +125,5 @@
+ http://github.com/l2jserver2