/*
* Created on 1.5.2004
*/
package is.idega.idegaweb.golf.legacy.business;
import is.idega.idegaweb.golf.block.image.data.ImageEntity;
import is.idega.idegaweb.golf.entity.FieldImage;
import is.idega.idegaweb.golf.entity.FieldImageHome;
import is.idega.idegaweb.golf.entity.Member;
import is.idega.idegaweb.golf.entity.MemberHome;
import is.idega.idegaweb.golf.entity.TeeImage;
import is.idega.idegaweb.golf.entity.TeeImageHome;
import is.idega.idegaweb.golf.entity.Union;
import is.idega.idegaweb.golf.entity.UnionHome;
import is.idega.idegaweb.golf.util.GolfConstants;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.Iterator;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.FinderException;
import com.idega.block.media.business.MediaBusiness;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.business.IBOServiceBean;
import com.idega.core.accesscontrol.data.LoginTable;
import com.idega.core.accesscontrol.data.LoginTableHome;
import com.idega.core.file.data.ICFile;
import com.idega.core.file.data.ICFileHome;
import com.idega.data.IDOLookup;
import com.idega.data.IDOLookupException;
import com.idega.presentation.IWContext;
import com.idega.user.business.GroupBusiness;
import com.idega.user.data.Group;
import com.idega.user.data.GroupHome;
import com.idega.user.util.Converter;
/**
* Title: GolfLegacyBusinessBean
* Description:
* Copyright: Copyright (c) 2004
* Company: idega Software
* @author 2004 - idega team - <br><a href="mailto:gummi@idega.is">Gudmundur Agust Saemundsson</a><br>
* @version 1.0
*/
public class GolfLegacyBusinessBean extends IBOServiceBean implements GolfLegacyBusiness{
public GolfLegacyBusinessBean() {
super();
}
public Collection getLogin(is.idega.idegaweb.golf.access.LoginTable golfLogin) throws IDOLookupException, FinderException{
return ((LoginTableHome)IDOLookup.getHome(LoginTable.class)).findLoginsForUser(golfLogin.getMember().getICUser());
}
public is.idega.idegaweb.golf.access.LoginTable getGolfLogin(LoginTable login) throws EJBException, IDOLookupException, FinderException {
Member member = ((MemberHome)IDOLookup.getHome(Member.class)).findMemberByIWMemberSystemUser(Converter.convertToNewUser(login.getUser()));
return ((is.idega.idegaweb.golf.access.LoginTableHome)IDOLookup.getHomeLegacy(is.idega.idegaweb.golf.access.LoginTable.class)).findByMember(member);
}
// public Group getGroup(is.idega.idegaweb.golf.entity.Group golfGroup) {
// return null;
// }
//
// public is.idega.idegaweb.golf.entity.Group getGolfGroup(Group group){
// return null;
// }
public void copyAllFromUnionToGroup(boolean overwrite) {
System.out.println("[GOLF] Start: Copy all unions to Group...");
System.out.println("[GOLF] finding all unions");
try {
Collection unions = ((UnionHome)IDOLookup.getHomeLegacy(Union.class)).findAllUnions();
System.out.println("[GOLF] Start: create group for unions");
GroupHome groupHome = (GroupHome)IDOLookup.getHome(Group.class);
GroupBusiness business = (GroupBusiness) IBOLookup.getServiceInstance(getIWApplicationContext(),GroupBusiness.class);
for (Iterator unionIter = unions.iterator(); unionIter.hasNext();) {
System.out.print("[GOLF] next union > ");
Union union = (Union) unionIter.next();
System.out.println(union.getPrimaryKey());
System.out.println("[GOLF] get group for union");
Group group = union.getUnionFromIWMemberSystem();
String unionType = union.getUnionType();
String groupType = null;
if(GolfConstants.UNION_TYPE_CLUB.equals(unionType)) {
groupType=GolfConstants.GROUP_TYPE_CLUB;
} else if(GolfConstants.UNION_TYPE_EXTRA_CLUB.equals(unionType)) {
groupType=GolfConstants.GROUP_TYPE_CLUB;
} else if (GolfConstants.UNION_TYPE_UNION.equals(unionType)) {
groupType= GolfConstants.GROUP_TYPE_UNION;
} else {
continue;
}
if(group == null) {
System.out.println("[GOLF] create new group for union");
try {
group = business.createGroup(union.getName(),"",groupType);
} catch (RemoteException e1) {
e1.printStackTrace();
continue;
}
} else if(!overwrite){
System.out.println("[GOLF] found group for union ... does nothing");
continue;
}
group.setName(union.getName());
group.setAbbrevation(union.getAbbrevation());
group.setShortName(union.getAbbrevation());
group.store();
union.setICGroup(group);
union.store();
//System.out.println("[GOLF] create group.address for union.address");
//address
//System.out.println("[GOLF] create group.phone for union.phone");
//Phone
//System.out.println("[GOLF] create group.group for union.group");
//Group
}
System.out.println("[GOLF] ... No exceptions");
} catch (FinderException e) {
e.printStackTrace();
} catch (IDOLookupException e) {
e.printStackTrace();
} catch (CreateException e) {
e.printStackTrace();
} catch (IBOLookupException e) {
e.printStackTrace();
}
System.out.println("[GOLF] Finish: Copy all unions to Group");
}
/*public void copyHoleTextForFieldOverview(IWContext iwc) {
System.out.println("[GOLF] Start: Copy HoldeText...");
try {
HoleTextHome hth = (HoleTextHome)IDOLookup.getHome(HoleText.class);
TxTextHome txth = (TxTextHome)IDOLookup.getHome(TxText.class);
TextService ts = (TextService)IBOLookup.getServiceInstance(iwc,TextService.class);
Collection hTexts = hth.findAll();
for (Iterator iter = hTexts.iterator(); iter.hasNext();) {
System.out.println("iterating");
HoleText ht = (HoleText) iter.next();
TextModule oldText = ht.getOldText();
if(ht.getTextID()<1 && oldText != null) {
try {
TxText newText = ts.storeText(null,null,new Integer(iwc.getCurrentLocaleId()),new Integer(iwc.getUserId()),oldText.getTextHeadline(),null,oldText.getTextBody());
ht.setTextID(newText.getID());
ht.store();
} catch (RemoteException e1) {
e1.printStackTrace();
}
}
}
} catch (IDOLookupException e) {
e.printStackTrace();
} catch (FinderException e) {
e.printStackTrace();
} catch (IBOLookupException e) {
e.printStackTrace();
}
System.out.println("[GOLF] Finish: Copy HoldeText...");
}*/
public void copyFieldImagesForFieldOverview(IWContext iwc) {
System.out.println("[GOLF] Start: Copy FieldImages...");
try {
FieldImageHome fih = (FieldImageHome)IDOLookup.getHome(FieldImage.class);
ICFileHome fh = (ICFileHome)IDOLookup.getHome(ICFile.class);
ICFile folder = fh.create();
folder.setName("Vallarmyndir");
folder.setMimeType(com.idega.core.file.data.ICMimeTypeBMPBean.IC_MIME_TYPE_FOLDER);
folder.setDescription("This is folder for imported images from old golf ImageEntity");
folder.store();
MediaBusiness.saveMediaToDB(folder,-1,iwc);
int folderID = ((Integer)folder.getPrimaryKey()).intValue();
Collection fImages = fih.findAll();
for (Iterator iter = fImages.iterator(); iter.hasNext();) {
System.out.println("iterating");
FieldImage fi = (FieldImage) iter.next();
ImageEntity oldImage = fi.getOldImage();
if(fi.getImageID()<1 && oldImage != null) {
try {
ICFile newImage = fh.create();
String name = oldImage.getName();
if(name != null) {
newImage.setName(name);
newImage.setMimeType((name.indexOf(".gif")>-1)?"image/gif":"image/jpeg");
}
newImage.setDescription("This is imported from old golf ImageEntity");
newImage.store();
folder.addChild(newImage);
newImage.setFileValue(oldImage.getImageValue());
newImage.store();
fi.setImageID((Integer)newImage.getPrimaryKey());
fi.store();
} catch (CreateException e1) {
e1.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (IDOLookupException e) {
e.printStackTrace();
} catch (FinderException e) {
e.printStackTrace();
} catch (CreateException e) {
e.printStackTrace();
}
System.out.println("[GOLF] Finish: Copy FieldImages...");
}
public void copyTeeImagesForFieldOverview(IWContext iwc) {
System.out.println("[GOLF] Start: Copy TeeImages...");
try {
TeeImageHome fih = (TeeImageHome)IDOLookup.getHome(TeeImage.class);
ICFileHome fh = (ICFileHome)IDOLookup.getHome(ICFile.class);
ICFile folder = fh.create();
folder.setName("Brautarmyndir");
folder.setMimeType(com.idega.core.file.data.ICMimeTypeBMPBean.IC_MIME_TYPE_FOLDER);
folder.setDescription("This is folder for imported images from old golf ImageEntity");
folder.store();
MediaBusiness.saveMediaToDB(folder,-1,iwc);
int folderID = ((Integer)folder.getPrimaryKey()).intValue();
Collection fImages = fih.findAll();
for (Iterator iter = fImages.iterator(); iter.hasNext();) {
System.out.println("iterating");
TeeImage fi = (TeeImage) iter.next();
ImageEntity oldImage = fi.getOldImage();
if(fi.getImageID()<1 && oldImage != null) {
try {
ICFile newImage = fh.create();
String name = oldImage.getName();
if(name != null) {
newImage.setName(name);
newImage.setMimeType((name.toLowerCase().indexOf(".gif")>-1)?"image/gif":"image/jpeg");
}
newImage.setDescription("This is imported from old golf ImageEntity");
newImage.store();
folder.addChild(newImage);
newImage.setFileValue(oldImage.getImageValue());
newImage.store();
fi.setImageID((Integer)newImage.getPrimaryKey());
fi.store();
} catch (CreateException e1) {
e1.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (IDOLookupException e) {
e.printStackTrace();
} catch (FinderException e) {
e.printStackTrace();
} catch (CreateException e) {
e.printStackTrace();
}
System.out.println("[GOLF] Finish: Copy TeeImages...");
}
}