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