Skip to content

Commit

Permalink
Cache (#269)
Browse files Browse the repository at this point in the history
  • Loading branch information
lenilsas authored Jul 28, 2024
1 parent 2cd0870 commit 57679c7
Show file tree
Hide file tree
Showing 6 changed files with 106 additions and 43 deletions.
18 changes: 12 additions & 6 deletions src/de/jost_net/JVerein/server/BuchungImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,7 @@ protected void updateCheck() throws ApplicationException
@Override
protected Class<?> getForeignObject(String field)
{
if ("mitgliedskonto".equals(field))
{
return Mitgliedskonto.class;
}
else if ("abrechnungslauf".equals(field))
if ("abrechnungslauf".equals(field))
{
return Abrechnungslauf.class;
}
Expand Down Expand Up @@ -405,7 +401,14 @@ public void setAbrechnungslauf(Abrechnungslauf abrechnungslauf)
@Override
public Mitgliedskonto getMitgliedskonto() throws RemoteException
{
return (Mitgliedskonto) getAttribute("mitgliedskonto");
Object o = super.getAttribute("mitgliedskonto");
if (o == null)
{
return null;
}

Cache cache = Cache.get(Mitgliedskonto.class, true);
return (Mitgliedskonto) cache.get(o);
}

@Override
Expand Down Expand Up @@ -602,6 +605,9 @@ public Object getAttribute(String fieldName) throws RemoteException

if ("konto".equals(fieldName))
return getKonto();

if ("mitgliedskonto".equals(fieldName))
return getMitgliedskonto();

return super.getAttribute(fieldName);
}
Expand Down
18 changes: 13 additions & 5 deletions src/de/jost_net/JVerein/server/LastschriftImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import de.jost_net.JVerein.rmi.Kursteilnehmer;
import de.jost_net.JVerein.rmi.Lastschrift;
import de.jost_net.JVerein.rmi.Mitglied;
import de.jost_net.JVerein.rmi.Mitgliedskonto;
import de.willuhn.datasource.db.AbstractDBObject;

public class LastschriftImpl extends AbstractDBObject implements Lastschrift
Expand Down Expand Up @@ -77,18 +78,21 @@ protected Class<?> getForeignObject(String arg0)
{
return Kursteilnehmer.class;
}
if ("abrechnungslauf".equals(arg0))
{
return Abrechnungslauf.class;
}

return null;
}

@Override
public Abrechnungslauf getAbrechnungslauf() throws RemoteException
{
return (Abrechnungslauf) getAttribute("abrechnungslauf");
Object o = super.getAttribute("abrechnungslauf");
if (o == null)
{
return null;
}

Cache cache = Cache.get(Abrechnungslauf.class, true);
return (Abrechnungslauf) cache.get(o);
}

@Override
Expand Down Expand Up @@ -374,6 +378,10 @@ public Object getAttribute(String fieldName) throws RemoteException
{
return (Date) getAbrechnungslauf().getFaelligkeit();
}
else if(fieldName.equals("abrechnungslauf"))
{
return getAbrechnungslauf();
}
else
{
return super.getAttribute(fieldName);
Expand Down
20 changes: 14 additions & 6 deletions src/de/jost_net/JVerein/server/MailEmpfaengerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,7 @@ protected void updateCheck()
@Override
protected Class<?> getForeignObject(String arg0)
{
if ("mitglied".equals(arg0))
{
return Mitglied.class;
}
else if ("mail".equals(arg0))
if ("mail".equals(arg0))
{
return Mail.class;
}
Expand All @@ -95,7 +91,15 @@ public void setMail(Mail mail) throws RemoteException
@Override
public Mitglied getMitglied() throws RemoteException
{
return (Mitglied) getAttribute("mitglied");
Object o = super.getAttribute("mitglied");
if (o == null)
return null;

if(o instanceof Mitglied)
return (Mitglied)o;

Cache cache = Cache.get(Mitglied.class,true);
return (Mitglied) cache.get(o);
}

@Override
Expand Down Expand Up @@ -129,6 +133,10 @@ public Object getAttribute(String fieldName) throws RemoteException
{
return getMailAdresse();
}
else if (fieldName.equals("mitglied"))
{
return getMitglied();
}
else if (fieldName.equals("name"))
{
if (getMitglied() != null)
Expand Down
20 changes: 15 additions & 5 deletions src/de/jost_net/JVerein/server/MitgliedImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -295,10 +295,6 @@ protected void updateCheck() throws ApplicationException
@Override
protected Class<?> getForeignObject(String field)
{
if ("beitragsgruppe".equals(field))
{
return Beitragsgruppe.class;
}
if ("foto".equals(field))
{
return Mitgliedfoto.class;
Expand Down Expand Up @@ -980,7 +976,12 @@ public void setEintritt(String eintritt) throws RemoteException
@Override
public Beitragsgruppe getBeitragsgruppe() throws RemoteException
{
return (Beitragsgruppe) getAttribute("beitragsgruppe");
Object o = (Object) super.getAttribute("beitragsgruppe");
if (o == null)
return null;

Cache cache = Cache.get(Beitragsgruppe.class,true);
return (Beitragsgruppe) cache.get(o);
}

@Override
Expand Down Expand Up @@ -1167,6 +1168,13 @@ else if (fieldName.equals("empfaenger"))
}
else if (fieldName.startsWith("zusatzfelder_"))
{
Long l = (Long) super.getAttribute("beitragsgruppe");
if (l == null)
return null;

Cache cache = Cache.get(Beitragsgruppe.class,true);
cache.get(l);

DBIterator<Felddefinition> it = Einstellungen.getDBService()
.createList(Felddefinition.class);
it.addFilter("name = ?", new Object[] { fieldName.substring(13) });
Expand Down Expand Up @@ -1206,6 +1214,8 @@ else if ("alter".equals(fieldName))
{
return getAlter();
}
else if("beitragsgruppe".equals(fieldName))
return getBeitragsgruppe();
return super.getAttribute(fieldName);
}

Expand Down
37 changes: 26 additions & 11 deletions src/de/jost_net/JVerein/server/MitgliedskontoImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,6 @@ protected void updateCheck() throws ApplicationException
@Override
protected Class<?> getForeignObject(String arg0)
{
if ("mitglied".equals(arg0))
{
return Mitglied.class;
}
if ("abrechnungslauf".equals(arg0))
{
return Abrechnungslauf.class;
}
if ("buchungsart".equals(arg0))
{
return Buchungsart.class;
Expand All @@ -119,7 +111,15 @@ protected Class<?> getForeignObject(String arg0)
@Override
public Abrechnungslauf getAbrechnungslauf() throws RemoteException
{
return (Abrechnungslauf) getAttribute("abrechnungslauf");
Object o = (Object) super.getAttribute("abrechnungslauf");
if (o == null)
return null;

if(o instanceof Abrechnungslauf)
return (Abrechnungslauf)o;

Cache cache = Cache.get(Abrechnungslauf.class,true);
return (Abrechnungslauf) cache.get(o);
}

@Override
Expand All @@ -144,7 +144,15 @@ public void setBuchungsart(Buchungsart buchungsart) throws RemoteException
@Override
public Mitglied getMitglied() throws RemoteException
{
return (Mitglied) getAttribute("mitglied");
Object o = (Object) super.getAttribute("mitglied");
if (o == null)
return null;

if(o instanceof Mitglied)
return (Mitglied)o;

Cache cache = Cache.get(Mitglied.class,true);
return (Mitglied) cache.get(o);
}

@Override
Expand Down Expand Up @@ -264,7 +272,6 @@ public Double getIstSumme() throws RemoteException
{
return ist;
}

DBService service = Einstellungen.getDBService();
String sql = "select sum(betrag) from buchung where mitgliedskonto = "
+ this.getID();
Expand Down Expand Up @@ -293,6 +300,14 @@ public Object getAttribute(String fieldName) throws RemoteException
{
return getIstSumme();
}
if (fieldName.equals("mitglied"))
{
return getMitglied();
}
if (fieldName.equals("abrechnungslauf"))
{
return getAbrechnungslauf();
}
return super.getAttribute(fieldName);
}
}
36 changes: 26 additions & 10 deletions src/de/jost_net/JVerein/server/ZusatzbetragImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,21 +119,21 @@ protected void updateCheck() throws ApplicationException
@Override
protected Class<?> getForeignObject(String arg0)
{
if ("mitglied".equals(arg0))
{
return Mitglied.class;
}
if (arg0.equals("buchungsart"))
{
return Buchungsart.class;
}
return null;
}

@Override
public Mitglied getMitglied() throws RemoteException
{
return (Mitglied) getAttribute("mitglied");
Object o = (Object) super.getAttribute("mitglied");
if (o == null)
return null;

if(o instanceof Mitglied)
return (Mitglied)o;

Cache cache = Cache.get(Mitglied.class,true);
return (Mitglied) cache.get(o);
}

@Override
Expand Down Expand Up @@ -244,7 +244,15 @@ public void setBuchungsart(Buchungsart buchungsart) throws RemoteException
@Override
public Buchungsart getBuchungsart() throws RemoteException
{
return (Buchungsart) getAttribute("buchungsart");
Object o = (Object) super.getAttribute("buchungsart");
if (o == null)
return null;

if(o instanceof Buchungsart)
return (Buchungsart)o;

Cache cache = Cache.get(Buchungsart.class,true);
return (Buchungsart) cache.get(o);
}

@Override
Expand All @@ -254,6 +262,14 @@ public Object getAttribute(String fieldName) throws RemoteException
{
return getIntervallText();
}
if (fieldName.equals("mitglied"))
{
return getMitglied();
}
if (fieldName.equals("buchungsart"))
{
return getBuchungsart();
}
return super.getAttribute(fieldName);
}

Expand Down

0 comments on commit 57679c7

Please sign in to comment.