Changeset d230b2f35546b981310b027ee99cd9f7e0e12506

Show
Ignore:
Timestamp:
07/10/07 16:16:11 (1 year ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1184076971 +0200
git-parent:

[6760ac9f7fd8d4e2b7062327eaac4055ff98f583]

git-author:
Christopher Jung <bktheg@web.de> 1184076971 +0200
Message:

Buildings auf Hibernate umgestellt

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/ehcache.xml

    r6760ac9 rd230b2f  
    88                        timeToLiveSeconds="10" 
    99                        overflowToDisk="false" 
     10        /> 
     11        <cache  name="net.driftingsouls.ds2.server.bases.Building" 
     12                        maxElementsInMemory="30" 
     13                        eternal="true" 
     14                        timeToIdleSeconds="60" 
     15                        timeToLiveSeconds="600" 
     16                        overflowToDisk="false" 
    1017        /> 
    11        <cache  name="net.driftingsouls.ds2.server.bases.Cargo
     18       <cache  name="net.driftingsouls.ds2.server.bases.Core
    1219                        maxElementsInMemory="20" 
    1320                        eternal="true" 
     
    1522                        timeToLiveSeconds="600" 
    1623                        overflowToDisk="false" 
    17         /> 
     24        /> 
     25        <cache  name="net.driftingsouls.ds2.server.entities.Nebel" 
     26                        maxElementsInMemory="200" 
     27                        eternal="false" 
     28                        timeToIdleSeconds="60" 
     29                        timeToLiveSeconds="600" 
     30                        overflowToDisk="false" 
     31        /> 
    1832        <cache  name="net.driftingsouls.ds2.server.ships.ShipType" 
    1933                        maxElementsInMemory="100" 
     
    2236                        timeToLiveSeconds="10" 
    2337                        overflowToDisk="false" 
    24         /> 
    25         <cache  name="net.driftingsouls.ds2.server.entities.Nebel" 
    26                         maxElementsInMemory="200" 
    27                         eternal="false" 
    28                         timeToIdleSeconds="60" 
    29                         timeToLiveSeconds="600" 
    30                         overflowToDisk="false" 
    31         /> 
     38        /> 
    3239</ehcache> 
  • src/net/driftingsouls/ds2/server/bases/Academy.java

    r283e6c7 rd230b2f  
    2323import java.util.Map; 
    2424 
     25import javax.persistence.DiscriminatorValue; 
     26import javax.persistence.Entity; 
     27 
    2528import net.driftingsouls.ds2.server.Offizier; 
    2629import net.driftingsouls.ds2.server.cargo.Cargo; 
     
    3841import org.apache.commons.lang.StringEscapeUtils; 
    3942import org.apache.commons.lang.StringUtils; 
    40  
    41 class Academy extends DefaultBuilding { 
     43import org.hibernate.annotations.Immutable; 
     44 
     45/** 
     46 * Die Akademie 
     47 * @author Christopher Jung 
     48 * 
     49 */ 
     50@Entity(name="AcademyBuilding") 
     51@Immutable 
     52@DiscriminatorValue("net.driftingsouls.ds2.server.bases.Academy") 
     53public class Academy extends DefaultBuilding { 
    4254        private static final Map<Integer,String> offis = new HashMap<Integer,String>(); 
    4355        private static final Map<Integer,String> attributes = new HashMap<Integer,String>(); 
     
    5870        /** 
    5971         * Erstellt eine neue Academy-Instanz 
    60          * @param row Die SQL-Ergebniszeile mit den Gebaeudedaten der Akademie 
    6172         */ 
    62         public Academy(SQLResultRow row) { 
    63                 super(row); 
     73        public Academy() { 
     74                // EMPTY 
    6475        } 
    6576 
  • src/net/driftingsouls/ds2/server/bases/Base.java

    r6760ac9 rd230b2f  
    555555                        }  
    556556                         
    557                         Building building = Building.getBuilding(context.getDatabase(), bebauung[o]); 
     557                        Building building = Building.getBuilding(bebauung[o]); 
    558558         
    559559                        if( !buildinglocs.containsKey(building.getID()) ) { 
  • src/net/driftingsouls/ds2/server/bases/Building.java

    ra6ba521 rd230b2f  
    1919package net.driftingsouls.ds2.server.bases; 
    2020 
    21 import java.lang.reflect.Constructor; 
    22 import java.util.HashMap; 
    23 import java.util.Map; 
     21import javax.persistence.Column; 
     22import javax.persistence.Entity; 
     23import javax.persistence.Id; 
     24import javax.persistence.Inheritance; 
     25import javax.persistence.InheritanceType; 
     26import javax.persistence.Table; 
    2427 
    2528import net.driftingsouls.ds2.server.cargo.Cargo; 
     29import net.driftingsouls.ds2.server.cargo.UnmodifiableCargo; 
    2630import net.driftingsouls.ds2.server.framework.Context; 
     31import net.driftingsouls.ds2.server.framework.ContextMap; 
    2732import net.driftingsouls.ds2.server.framework.Loggable; 
    28 import net.driftingsouls.ds2.server.framework.caches.CacheManager; 
    29 import net.driftingsouls.ds2.server.framework.caches.ControllableCache; 
    30 import net.driftingsouls.ds2.server.framework.db.Database; 
    31 import net.driftingsouls.ds2.server.framework.db.SQLResultRow; 
    3233import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 
     34 
     35import org.hibernate.annotations.Cache; 
     36import org.hibernate.annotations.CacheConcurrencyStrategy; 
     37import org.hibernate.annotations.DiscriminatorFormula; 
     38import org.hibernate.annotations.Immutable; 
     39import org.hibernate.annotations.Type; 
    3340 
    3441// TODO: Warum Verbrauch/Produktion unterscheiden? 
     
    3946 * 
    4047 */ 
     48@Entity 
     49@Table(name="buildings") 
     50@Immutable 
     51@Inheritance(strategy=InheritanceType.SINGLE_TABLE) 
     52@DiscriminatorFormula("module") 
     53@Cache(usage=CacheConcurrencyStrategy.READ_ONLY) 
    4154public abstract class Building implements Loggable { 
    4255        /** 
     
    4457         */ 
    4558        public static final int KOMMANDOZENTRALE = 1; 
    46          
    47         private static Map<Integer,Building> buildingCache = new HashMap<Integer,Building>(); 
    48          
    49         static { 
    50                 CacheManager.getInstance().registerCache( 
    51                         new ControllableCache() { 
    52                                 public void clear() { 
    53                                         Building.clearCache(); 
    54                                 } 
    55                         } 
    56                 ); 
    57         } 
    58          
    59         static void clearCache() { 
    60                 synchronized(buildingCache) { 
    61                         buildingCache.clear(); 
    62                 } 
    63         } 
    6459         
    6560        /** 
     
    6762         * Sollte kein passender Gebaeudetyp existieren, wird <code>null</code> zurueckgegeben. 
    6863         *  
    69          * @param db Eine Datenbankverbindung 
    7064         * @param id Die ID des Gebaudetyps 
    7165         * @return Eine Instanz der zugehoerigen Gebaeudeklasse 
    7266         */ 
    73         public static synchronized Building getBuilding(Database db, int id) { 
    74                 if( !buildingCache.containsKey(id) ) { 
    75                         SQLResultRow row = db.first("SELECT * FROM buildings WHERE id='",id,"'"); 
    76                         if( row.isEmpty() ) { 
    77                                 return null; 
    78                         } 
    79                         String module = row.getString("module"); 
    80                         try { 
    81                                 Class<?> cls = Class.forName(module); 
    82                                 Class<? extends Building> buildingCls = cls.asSubclass(Building.class); 
    83                                 Constructor<? extends Building> constr = buildingCls.getConstructor(SQLResultRow.class); 
    84                                 buildingCache.put(id, constr.newInstance(row)); 
    85                         } 
    86                         catch( Exception e ) { 
    87                                 LOG.fatal(e, e); 
    88                                 return null; 
    89                         } 
    90                 } 
    91                 return buildingCache.get(id); 
     67        public static Building getBuilding(int id) { 
     68                org.hibernate.Session db = ContextMap.getContext().getDB(); 
     69                 
     70                return (Building)db.get(Building.class, id); 
     71        } 
     72         
     73        @Id 
     74        private int id; 
     75        @SuppressWarnings("unused") 
     76        private String module; 
     77        private int bewohner; 
     78        private int arbeiter; 
     79        private String name; 
     80        private String picture; 
     81        @Type(type="cargo") 
     82        @Column(name="buildcosts") 
     83        private Cargo buildCosts; 
     84        @Type(type="cargo") 
     85        private Cargo produces; 
     86        @Type(type="cargo") 
     87        private Cargo consumes; 
     88        @Column(name="ever") 
     89        private int eVerbrauch; 
     90        @Column(name="eprodu") 
     91        private int eProduktion; 
     92        @Column(name="techreq") 
     93        private int techReq; 
     94        private int eps; 
     95        @Column(name="perplanet") 
     96        private int perPlanet; 
     97        @Column(name="perowner") 
     98        private int perOwner; 
     99        private int category; 
     100        private int ucomplex; 
     101        private boolean deakable; 
     102         
     103        /** 
     104         * Konstruktor 
     105         * 
     106         */ 
     107        public Building() { 
     108                // EMPTY 
    92109        } 
    93110 
     
    96113         * @return Die ID des Gebaeudetyps 
    97114         */ 
    98         public abstract int getID(); 
     115        public final int getID() { 
     116                return this.id; 
     117        } 
    99118         
    100119        /** 
     
    102121         * @return Der Name 
    103122         */ 
    104         public abstract String getName(); 
     123        public String getName() { 
     124                return name; 
     125        } 
    105126         
    106127        /** 
     
    108129         * @return Das Bild 
    109130         */ 
    110         public abstract String getPicture(); 
     131        public String getPicture() { 
     132                return picture; 
     133        } 
    111134         
    112135        /** 
     
    114137         * @return Die Baukosten 
    115138         */ 
    116         public abstract Cargo getBuildCosts(); 
     139        public Cargo getBuildCosts() { 
     140                return new UnmodifiableCargo(buildCosts); 
     141        } 
    117142         
    118143        /** 
     
    120145         * @return Die Produktion 
    121146         */ 
    122         public abstract Cargo getProduces(); 
     147        public Cargo getProduces() { 
     148                return new UnmodifiableCargo(produces); 
     149        } 
    123150         
    124151        /** 
     
    126153         * @return Der Verbrauch 
    127154         */ 
    128         public abstract Cargo getConsumes(); 
     155        public Cargo getConsumes() { 
     156                return new UnmodifiableCargo(consumes); 
     157        } 
    129158         
    130159        /** 
     
    132161         * @return Der Wohnraum 
    133162         */ 
    134         public abstract int getBewohner(); 
     163        public int getBewohner() { 
     164                return bewohner; 
     165        } 
    135166         
    136167        /** 
     
    138169         * @return Die Anzahl der Arbeiter 
    139170         */ 
    140         public abstract int getArbeiter(); 
     171        public int getArbeiter() { 
     172                return arbeiter; 
     173        } 
    141174         
    142175        /** 
     
    144177         * @return Der Energieverbrauch 
    145178         */ 
    146         public abstract int getEVerbrauch(); 
     179        public int getEVerbrauch() { 
     180                return eVerbrauch; 
     181        } 
    147182         
    148183        /** 
     
    150185         * @return die Energieproduktion 
    151186         */ 
    152         public abstract int getEProduktion(); 
     187        public int getEProduktion() { 
     188                return eProduktion; 
     189        } 
    153190         
    154191        /** 
     
    156193         * @return die benoetigte Forschung 
    157194         */ 
    158         public abstract int getTechRequired(); 
     195        public int getTechRequired() { 
     196                return techReq; 
     197        } 
    159198         
    160199        /** 
     
    162201         * @return ???? 
    163202         */ 
    164         public abstract int getEPS(); 
     203        public int getEPS() { 
     204                return eps; 
     205        } 
    165206         
    166207        /** 
     
    169210         * @return Die max. Anzahl pro Basis 
    170211         */ 
    171         public abstract int getPerPlanetCount(); 
     212        public int getPerPlanetCount() { 
     213                return perPlanet; 
     214        } 
    172215         
    173216        /** 
     
    176219         * @return Die max. Anzahl pro Benutzer 
    177220         */ 
    178         public abstract int getPerUserCount(); 
     221        public int getPerUserCount() { 
     222                return perOwner; 
     223        } 
    179224         
    180225        /** 
     
    182227         * @return die ID der Kategorie 
    183228         */ 
    184         public abstract int getCategory(); 
     229        public int getCategory() { 
     230                return category; 
     231        } 
    185232         
    186233        /** 
     
    188235         * @return <code>true</code>, falls es ein unterirdischer Komplex ist 
    189236         */ 
    190         public abstract boolean isUComplex(); 
     237        public boolean isUComplex() { 
     238                return ucomplex == 1; 
     239        } 
    191240         
    192241        /** 
     
    194243         * @return <code>true</code>, falls das Gebaeude deaktivierbar ist 
    195244         */ 
    196         public abstract boolean isDeakAble(); 
     245        public boolean isDeakAble() { 
     246                return deakable; 
     247        } 
    197248 
    198249        /** 
  • src/net/driftingsouls/ds2/server/bases/DefaultBuilding.java

    rb81fb15 rd230b2f  
    1919package net.driftingsouls.ds2.server.bases; 
    2020 
     21import javax.persistence.DiscriminatorValue; 
     22import javax.persistence.Entity; 
     23 
    2124import net.driftingsouls.ds2.server.cargo.Cargo; 
    2225import net.driftingsouls.ds2.server.cargo.ResourceEntry; 
    2326import net.driftingsouls.ds2.server.cargo.ResourceList; 
    24 import net.driftingsouls.ds2.server.cargo.UnmodifiableCargo; 
    2527import net.driftingsouls.ds2.server.framework.Configuration; 
    2628import net.driftingsouls.ds2.server.framework.Context; 
    27 import net.driftingsouls.ds2.server.framework.db.SQLResultRow; 
    2829import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 
     30 
     31import org.hibernate.annotations.Immutable; 
    2932 
    3033/** 
     
    3538 * 
    3639 */ 
    37 class DefaultBuilding extends Building { 
    38         private SQLResultRow data; 
    39          
     40@Entity 
     41@Immutable 
     42@DiscriminatorValue("net.driftingsouls.ds2.server.bases.DefaultBuilding") 
     43public class DefaultBuilding extends Building { 
    4044        /** 
    4145         * Erstellt eine neue Gebaeude-Instanz 
    42          * @param row Die SQL-Ergebniszeile mit den Gebaeudedaten 
    4346         */ 
    44         public DefaultBuilding(SQLResultRow row) { 
    45                 data = row; 
    46                 data.put("consumes", new UnmodifiableCargo(new Cargo(Cargo.Type.STRING, data.getString("consumes"))) ); 
    47                 data.put("produces", new UnmodifiableCargo(new Cargo(Cargo.Type.STRING, data.getString("produces"))) ); 
    48                 data.put("buildcosts", new UnmodifiableCargo(new Cargo(Cargo.Type.STRING, data.getString("buildcosts"))) ); 
    49         } 
    50  
    51         @Override 
    52         public int getBewohner() { 
    53                 return data.getInt("bewohner"); 
    54         } 
    55  
    56         @Override 
    57         public int getArbeiter() { 
    58                 return data.getInt("arbeiter"); 
     47        public DefaultBuilding() { 
     48                // EMPTY 
    5949        } 
    6050 
     
    135125                return buffer.toString(); 
    136126        } 
    137  
    138         @Override 
    139         public int getID() { 
    140                 return data.getInt("id"); 
    141         } 
    142  
    143         @Override 
    144         public String getName() { 
    145                 return data.getString("name"); 
    146         } 
    147  
    148         @Override 
    149         public String getPicture() { 
    150                 return data.getString("picture"); 
    151         } 
    152  
    153         @Override 
    154         public Cargo getBuildCosts() { 
    155                 return (Cargo)data.get("buildcosts"); 
    156         } 
    157  
    158         @Override 
    159         public Cargo getProduces() { 
    160                 return (Cargo)data.get("produces"); 
    161         } 
    162  
    163         @Override 
    164         public Cargo getConsumes() { 
    165                 return (Cargo)data.get("consumes"); 
    166         } 
    167  
    168         @Override 
    169         public int getEVerbrauch() { 
    170                 return data.getInt("ever"); 
    171         } 
    172  
    173         @Override 
    174         public int getEProduktion() { 
    175                 return data.getInt("eprodu"); 
    176         } 
    177  
    178         @Override 
    179         public int getTechRequired() { 
    180                 return data.getInt("techreq"); 
    181         } 
    182  
    183         @Override 
    184         public int getEPS() { 
    185                 return data.getInt("eps"); 
    186         } 
    187  
    188         @Override 
    189         public int getPerPlanetCount() { 
    190                 return data.getInt("perplanet"); 
    191         } 
    192  
    193         @Override 
    194         public int getPerUserCount() { 
    195                 return data.getInt("perowner"); 
    196         } 
    197  
    198         @Override 
    199         public int getCategory() { 
    200                 return data.getInt("category"); 
    201         } 
    202  
    203         @Override 
    204         public boolean isUComplex() { 
    205                 return data.getInt("ucomplex") == 1; 
    206         } 
    207  
    208         @Override 
    209         public boolean isDeakAble() { 
    210                 return data.getBoolean("deakable"); 
    211         } 
    212  
    213127} 
  • src/net/driftingsouls/ds2/server/bases/Forschungszentrum.java

    r283e6c7 rd230b2f  
    2222import java.util.List; 
    2323 
     24import javax.persistence.DiscriminatorValue; 
     25import javax.persistence.Entity; 
     26 
    2427import net.driftingsouls.ds2.server.cargo.Cargo; 
    2528import net.driftingsouls.ds2.server.cargo.ResourceEntry; 
     
    3841 
    3942import org.apache.commons.lang.StringEscapeUtils; 
    40  
    41 class Forschungszentrum extends DefaultBuilding { 
     43import org.hibernate.annotations.Immutable; 
     44 
     45/** 
     46 * Das Forschungszentrum 
     47 * @author Christopher Jung 
     48 * 
     49 */ 
     50@Entity(name="ForschungszentrumBuilding") 
     51@Immutable 
     52@DiscriminatorValue("net.driftingsouls.ds2.server.bases.Forschungszentrum") 
     53public class Forschungszentrum extends DefaultBuilding { 
    4254        /** 
    4355         * Erstellt eine neue Forschungszentrum-Instanz 
    44          * @param row Die SQL-Ergebniszeile mit den Gebaeudedaten des Forschungszentrums 
    4556         */ 
    46         public Forschungszentrum(SQLResultRow row) { 
    47                 super(row); 
     57        public Forschungszentrum() { 
     58                // EMPTY 
    4859        } 
    4960 
  • src/net/driftingsouls/ds2/server/bases/Kommandozentrale.java

    r8e3cf9b rd230b2f  
    2121import java.util.ArrayList; 
    2222import java.util.List; 
     23 
     24import javax.persistence.DiscriminatorValue; 
     25import javax.persistence.Entity; 
     26 
     27import org.hibernate.annotations.Immutable; 
    2328 
    2429import net.driftingsouls.ds2.server.ContextCommon; 
     
    4449import net.driftingsouls.ds2.server.werften.BaseWerft; 
    4550 
    46 class Kommandozentrale extends DefaultBuilding { 
     51/** 
     52 * Die Kommandozentrale 
     53 * @author Christopher Jung 
     54 * 
     55 */ 
     56@Entity(name="KommandozentraleBuilding") 
     57@Immutable 
     58@DiscriminatorValue("net.driftingsouls.ds2.server.bases.Kommandozentrale") 
     59public class Kommandozentrale extends DefaultBuilding { 
    4760        /** 
    4861         * Erstellt eine neue Instanz der Kommandozentrale 
    49          * @param row Die SQL-Ergebniszeile mit den Gebaeudedaten der Kommandozentrale 
    5062         */ 
    51         public Kommandozentrale(SQLResultRow row) { 
    52                 super(row); 
     63        public Kommandozentrale() { 
     64                // EMPTY 
    5365        } 
    5466 
  • src/net/driftingsouls/ds2/server/bases/Waffenfabrik.java

    rcc2ad1e rd230b2f  
    3030import java.util.Set; 
    3131 
     32import javax.persistence.DiscriminatorValue; 
     33import javax.persistence.Entity; 
     34 
    3235import net.driftingsouls.ds2.server.cargo.Cargo; 
    3336import net.driftingsouls.ds2.server.cargo.ItemCargoEntry; 
     
    4750import net.driftingsouls.ds2.server.framework.Context; 
    4851import net.driftingsouls.ds2.server.framework.ContextMap; 
    49 import net.driftingsouls.ds2.server.framework.db.SQLResultRow; 
    5052import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 
    5153 
    5254import org.apache.commons.lang.ArrayUtils; 
    5355import org.apache.commons.lang.StringEscapeUtils; 
    54  
    55 class Waffenfabrik extends DefaultBuilding { 
     56import org.hibernate.annotations.Immutable; 
     57 
     58/** 
     59 * Die Waffenfabrik 
     60 * @author Christopher Jung 
     61 * 
     62 */ 
     63@Entity(name="WaffenfabrikBuilding") 
     64@Immutable 
     65@DiscriminatorValue("net.driftingsouls.ds2.server.bases.Waffenfabrik") 
     66public class Waffenfabrik extends DefaultBuilding { 
    5667        private static class ContextVars { 
    5768                Set<Ammo> ownerammobase = new HashSet<Ammo>(); 
     
    6677        /** 
    6778         * Erstellt eine neue Instanz der Waffenfabrik 
    68          * @param row Die SQL-Ergebniszeile mit den Gebaeudedaten der Waffenfabrik 
    6979         */ 
    70         public Waffenfabrik(SQLResultRow row) { 
    71                 super(row); 
     80        public Waffenfabrik() { 
     81                // EMPTY 
    7282        } 
    7383         
  • src/net/driftingsouls/ds2/server/bases/Werft.java

    r8e3cf9b rd230b2f  
    1919package net.driftingsouls.ds2.server.bases; 
    2020 
     21import javax.persistence.DiscriminatorValue; 
     22import javax.persistence.Entity; 
     23 
    2124import net.driftingsouls.ds2.server.config.Items; 
    2225import net.driftingsouls.ds2.server.framework.Common; 
     
    2427import net.driftingsouls.ds2.server.framework.Context; 
    2528import net.driftingsouls.ds2.server.framework.ContextMap; 
    26 import net.driftingsouls.ds2.server.framework.db.SQLResultRow; 
    2729import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 
    2830import net.driftingsouls.ds2.server.ships.ShipTypeData; 
     
    3133 
    3234import org.apache.commons.lang.StringEscapeUtils; 
    33  
    34 class Werft extends DefaultBuilding { 
     35import org.hibernate.annotations.Immutable; 
     36 
     37/** 
     38 * Die Werft 
     39 * @author Christopher Jung 
     40 * 
     41 */ 
     42@Entity(name="WerftBuilding") 
     43@Immutable 
     44@DiscriminatorValue("net.driftingsouls.ds2.server.bases.Werft") 
     45public class Werft extends DefaultBuilding { 
    3546        /** 
    3647         * Erstellt eine neue Instanz der Werft 
    37          * @param row Die SQL-Ergebniszeile mit den Gebaeudedaten der Werft 
    3848         */ 
    39         public Werft(SQLResultRow row) { 
    40                 super(row); 
     49        public Werft() { 
     50                // EMPTY 
    4151        } 
    4252 
  • src/net/driftingsouls/ds2/server/modules/ActivateAllController.java

    r6760ac9 rd230b2f  
    2525import net.driftingsouls.ds2.server.framework.Common; 
    2626import net.driftingsouls.ds2.server.framework.Context; 
    27 import net.driftingsouls.ds2.server.framework.db.Database; 
    2827import net.driftingsouls.ds2.server.framework.pipeline.generators.DSGenerator; 
    2928import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 
     
    7776        public void defaultAction() { 
    7877                TemplateEngine t = getTemplateEngine(); 
    79                 Database db = getDatabase(); 
    8078                 
    8179                t.set_var("base.id", base.getID()); 
     
    107105                for( int i=0; i < base.getWidth()*base.getHeight(); i++ ) { 
    108106                        if( (base.getBebauung()[i] != 0) && (ondb[i] == 1 ) ) { 
    109                                 Building building = Building.getBuilding(db, base.getBebauung()[i]); 
     107                                Building building = Building.getBuilding(base.getBebauung()[i]); 
    110108                                 
    111109                                if( building.isDeakAble() ) { 
     
    144142                        for( int i=0; i < base.getWidth()*base.getHeight(); i++ ) { 
    145143                                if( base.getBebauung()[i] != 0 ) { 
    146                                         Building building = Building.getBuilding(db, base.getBebauung()[i]); 
     144                                        Building building = Building.getBuilding(base.getBebauung()[i]); 
    147145                                         
    148146                                        if( building.isDeakAble() && (base.getBewohner() >= base.getArbeiter()+building.getArbeiter()) ) { 
  • src/net/driftingsouls/ds2/server/modules/BaseController.java

    r6760ac9 rd230b2f  
    3434import net.driftingsouls.ds2.server.framework.Configuration; 
    3535import net.driftingsouls.ds2.server.framework.Context; 
    36 import net.driftingsouls.ds2.server.framework.db.Database; 
    3736import net.driftingsouls.ds2.server.framework.pipeline.generators.DSGenerator; 
    3837import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 
     
    150149         */ 
    151150        public void changeBuildingStatusAction() { 
    152                 Database db = getDatabase(); 
    153151                TemplateEngine t = getTemplateEngine(); 
    154152                 
     
    164162                } 
    165163                 
    166                 Building building = Building.getBuilding(db, buildingonoff); 
     164                Building building = Building.getBuilding(buildingonoff); 
    167165                if( building.isDeakAble() ) { 
    168166                        int count = 0; 
     
    209207        @Override 
    210208        public void defaultAction() { 
    211                 Database db = getDatabase(); 
    212209                TemplateEngine t = getTemplateEngine(); 
    213210                 
     
    299296                        }  
    300297                        else { 
    301                                 Building building = Building.getBuilding(db, base.getBebauung()[i]); 
     298                                Building building = Building.getBuilding(base.getBebauung()[i]); 
    302299                                base.getActive()[i] = basedata.getActiveBuildings()[i]; 
    303300                                 
     
    414411                        } 
    415412 
    416                         Building building = Building.getBuilding(db, bid); 
     413                        Building building = Building.getBuilding(bid); 
    417414                        t.set_var(      "building.name",        Common._plaintitle(building.getName()), 
    418415                                                "building.id",          bid, 
  • src/net/driftingsouls/ds2/server/modules/BasenController.java

    r283e6c7 rd230b2f  
    186186 
    187187                        for( Integer bid : basedata.getBuildingLocations().keySet() ) { 
    188                                 Building building = Building.getBuilding(db, bid); 
     188                                Building building = Building.getBuilding(bid); 
    189189                 
    190190                                shortcuts.append(building.echoShortcut( getContext(), base, basedata.getBuildingLocations().get(bid), bid )); 
  • src/net/driftingsouls/ds2/server/modules/BuildController.java

    r4a172a3 rd230b2f  
    9999                int field = getInteger("field"); 
    100100                 
    101                 Building building = Building.getBuilding(db, build); 
     101                Building building = Building.getBuilding(build); 
    102102                                 
    103103                if( building == null ) { 
  • src/net/driftingsouls/ds2/server/modules/BuildingController.java

    r4a172a3 rd230b2f  
    2828import net.driftingsouls.ds2.server.framework.Configuration; 
    2929import net.driftingsouls.ds2.server.framework.Context; 
    30 import net.driftingsouls.ds2.server.framework.db.Database; 
    3130import net.driftingsouls.ds2.server.framework.pipeline.generators.DSGenerator; 
    3231 
     
    5655        @Override 
    5756        protected boolean validateAndPrepare(String action) { 
    58                 Database db = getDatabase(); 
    5957                User user = (User)getUser(); 
    6058                 
     
    7573                } 
    7674 
    77                 building = Building.getBuilding(db, base.getBebauung()[field]); 
     75                building = Building.getBuilding(base.getBebauung()[field]); 
    7876 
    7977                return true;     
  • src/net/driftingsouls/ds2/server/modules/BuildingsController.java

    r6760ac9 rd230b2f  
    9191                SQLQuery buildingID = db.query("SELECT id FROM buildings ORDER BY name" ); 
    9292                while( buildingID.next() ) { 
    93                         Building building = Building.getBuilding(db, buildingID.getInt("id")); 
     93                        Building building = Building.getBuilding(buildingID.getInt("id")); 
    9494                        if( !user.hasResearched(building.getTechRequired()) ) { 
    9595                                continue; 
  • src/net/driftingsouls/ds2/server/modules/ForschinfoController.java

    r6760ac9 rd230b2f  
    212212                SQLQuery buildingRow = db.query("SELECT id FROM buildings WHERE techreq=",this.research.getID()); 
    213213                while( buildingRow.next() ) { 
    214                         Building building = Building.getBuilding(db, buildingRow.getInt("id")); 
     214                        Building building = Building.getBuilding(buildingRow.getInt("id")); 
    215215                         
    216216                        t.start_record(); 
  • src/net/driftingsouls/ds2/server/modules/PortalController.java

    r7a698da rd230b2f