package is.idega.idegaweb.project.business;
import is.idega.idegaweb.project.data.IPCategory;
import is.idega.idegaweb.project.data.IPCategoryType;
import is.idega.idegaweb.project.data.IPParticipantGroup;
import is.idega.idegaweb.project.data.IPProject;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
import com.idega.builder.business.BuilderConstants;
import com.idega.builder.dynamicpagetrigger.business.DPTCopySession;
import com.idega.builder.dynamicpagetrigger.business.DPTTriggerBusiness;
import com.idega.builder.dynamicpagetrigger.business.DPTTriggerBusinessBean;
import com.idega.builder.dynamicpagetrigger.data.PageLink;
import com.idega.builder.dynamicpagetrigger.data.PageTriggerInfo;
import com.idega.business.IBOLookup;
import com.idega.core.accesscontrol.business.AccessControl;
import com.idega.core.accesscontrol.data.ICPermission;
import com.idega.core.builder.business.BuilderService;
import com.idega.core.builder.business.BuilderServiceFactory;
import com.idega.core.data.GenericGroup;
import com.idega.core.data.ICTreeNode;
import com.idega.data.EntityFinder;
import com.idega.data.IDOAddRelationshipException;
import com.idega.event.EventLogic;
import com.idega.presentation.IWContext;
import com.idega.util.IWTimestamp;
/**
* Title: IW Project
* Description:
* Copyright: Copyright (c) 2001
* Company: idega
* @author <a href="gummi@idega.is">Gudmundur Agust Saemundsson</a>
* @version 1.0
*/
public class ProjectBusiness {
public final static String _PRM_UPDATE = "ip_update";
public final static String _PRM_DELETE = "ip_delete";
public final static String _APPADDRESS_PROJECTPAGES = "IP_PAGE_MAP";
public final static String IW_PROJECT_IDENTIFIER = "is.idega.idegaweb.project";
public static int tmpHardcodedPageTriggerInfoId = 1;
public ProjectBusiness() {
}
public static ProjectBusiness getInstance(){
return new ProjectBusiness();
}
public List getCategoryTypes()throws SQLException{
return EntityFinder.findAll(is.idega.idegaweb.project.data.IPCategoryTypeBMPBean.getStaticInstance(IPCategoryType.class));
}
public List getCategories(int catTypeId) throws SQLException {
return EntityFinder.findAllByColumn(is.idega.idegaweb.project.data.IPCategoryBMPBean.getStaticInstance(IPCategory.class),is.idega.idegaweb.project.data.IPCategoryBMPBean._COLUMN_TYPE_ID,catTypeId);
}
public List getProjects() throws SQLException {
return EntityFinder.findAll(is.idega.idegaweb.project.data.IPProjectBMPBean.getStaticInstance(IPProject.class));
}
/*
public List getProjectDPTPageLinks(int[] catTypes) throws Exception{
PageLink staticPLink = com.idega.builder.dynamicpagetrigger.data.PageLinkBMPBean.getStaticInstance(PageLink.class);
if(catTypes != null){
return EntityFinder.findAll(staticPLink);
}else{
return EntityFinder.findAll(staticPLink,"select * from "+staticPLink.getEntityName()+" where ");
}
// wrong dpt_??ID not objectID return EntityFinder.findAllByColumn(com.idega.builder.dynamicpagetrigger.data.PageLinkBMPBean.getStaticInstance(PageLink.class),com.idega.builder.dynamicpagetrigger.data.PageLinkBMPBean._COLUMNNAME_REFERENCED_DATA_ID,com.idega.core.data.ICObjectBMPBean.getICObject(IPProject.class.getName()).getID());
}
*/
public List getProjectDPTPageLinks(int[] catTypes)throws SQLException{
PageLink staticPLink = (PageLink)com.idega.builder.dynamicpagetrigger.data.PageLinkBMPBean.getStaticInstance(PageLink.class);
IPProject staticIPProject = (IPProject)is.idega.idegaweb.project.data.IPProjectBMPBean.getStaticInstance(IPProject.class);
IPCategory staticIPCategory = (IPCategory)is.idega.idegaweb.project.data.IPCategoryBMPBean.getStaticInstance(IPCategory.class);
String tableToSelectFrom = staticIPProject.getNameOfMiddleTable(staticPLink,staticIPProject);
String projectCategoryMiddleTable = staticIPProject.getNameOfMiddleTable(staticIPCategory,staticIPProject);
StringBuffer buffer=new StringBuffer();
buffer.append("select e.* from ");
buffer.append(tableToSelectFrom);
buffer.append(" middle, ");
buffer.append(staticPLink.getEntityName());
buffer.append(" e, ");
buffer.append(staticIPProject.getEntityName());
buffer.append(" p");
buffer.append(" where ");
buffer.append("middle.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" = p.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" and middle.");
buffer.append(staticPLink.getIDColumnName());
buffer.append(" = e.");
buffer.append(staticPLink.getIDColumnName());
buffer.append(" and middle.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" in (");
// get projectIDs
buffer.append(" select p.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" from ");
buffer.append(staticIPProject.getEntityName());
buffer.append(" p ");
buffer.append("where p.");
buffer.append(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_DELETED);
buffer.append(" != 'Y' or p.");
buffer.append(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_DELETED);
buffer.append(" is null");
if(catTypes != null){
for (int i = 0; i < catTypes.length; i++) {
buffer.append(" and p.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" in ( ");
buffer.append("select ");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" from ");
buffer.append(projectCategoryMiddleTable);
buffer.append(" where ");
buffer.append(staticIPCategory.getIDColumnName());
buffer.append(" = ");
buffer.append(catTypes[i]);
buffer.append(")");
}
}
// get projectIDs ends
buffer.append(")");
String SQLString=buffer.toString();
/*
System.err.print("getProjectDPTPageLinks( ");
System.err.print(SQLString);
System.err.println(" )");
*/
return EntityFinder.findAll(staticPLink,SQLString);
}
public IPCategory getProjectCategory(int catTypeId, int projectId )throws SQLException{
IPProject staticIPProject = (IPProject)is.idega.idegaweb.project.data.IPProjectBMPBean.getStaticInstance(IPProject.class);
IPCategory staticIPCategory = (IPCategory)is.idega.idegaweb.project.data.IPCategoryBMPBean.getStaticInstance(IPCategory.class);
String projectCategoryMiddleTable = staticIPProject.getNameOfMiddleTable(staticIPCategory,staticIPProject);
StringBuffer buffer=new StringBuffer();
buffer.append(" select c.* ");
buffer.append(" from ");
buffer.append(staticIPCategory.getEntityName());
buffer.append(" c, ");
buffer.append(projectCategoryMiddleTable);
buffer.append(" pc ");
buffer.append(" where pc.");
buffer.append(staticIPCategory.getIDColumnName());
buffer.append(" = c.");
buffer.append(staticIPCategory.getIDColumnName());
buffer.append(" and pc.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" = ");
buffer.append(projectId);
buffer.append(" and c.");
buffer.append(is.idega.idegaweb.project.data.IPCategoryBMPBean._COLUMN_TYPE_ID);
buffer.append(" = ");
buffer.append(catTypeId);
String SQLString=buffer.toString();
/*
System.err.print("getProjectCategory( ");
System.err.print(SQLString);
System.err.println(" )");
*/
List l = EntityFinder.findAll(staticIPCategory,SQLString);
// System.err.println(" = "+l);
if(l != null && l.size() > 0){
return (IPCategory)l.get(0);
} else {
return null;
}
}
public int createIPCategoryType(String name, String description) throws SQLException {
IPCategoryType ipct = ((is.idega.idegaweb.project.data.IPCategoryTypeHome)com.idega.data.IDOLookup.getHomeLegacy(IPCategoryType.class)).createLegacy();
ipct.setName(name);
if(description != null){
ipct.setDescription(description);
}
ipct.insert();
return ipct.getID();
}
public int createIPCategory(int catTypeId, String name, String description) throws SQLException {
IPCategory ipc = ((is.idega.idegaweb.project.data.IPCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(IPCategory.class)).createLegacy();
ipc.setCategoryTypeId(catTypeId);
ipc.setName(name);
if(description != null){
ipc.setDescription(description);
}
ipc.insert();
return ipc.getID();
}
public void updateIPCategory(int catId, String name, String description) throws SQLException {
IPCategory ipc = ((is.idega.idegaweb.project.data.IPCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(IPCategory.class)).findByPrimaryKeyLegacy(catId);
if(name != null){
ipc.setName(name);
}
if(description != null){
ipc.setDescription(description);
}
ipc.update();
}
public void deleteIPCategory(int catId) throws SQLException {
IPCategory cat = ((is.idega.idegaweb.project.data.IPCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(IPCategory.class)).findByPrimaryKeyLegacy(catId);
cat.removeFrom(IPProject.class);
cat.delete();
}
public int createIPProject(String name, String projectNumber, String description, Integer parentId, int[] categoryIds) throws SQLException {
IPProject pr = ((is.idega.idegaweb.project.data.IPProjectHome)com.idega.data.IDOLookup.getHomeLegacy(IPProject.class)).createLegacy();
pr.setName(name);
if(projectNumber != null){
pr.setProjectNumber(projectNumber);
}
if(description != null){
pr.setDescription(description);
}
if(parentId != null){
pr.setParentId(parentId.intValue());
}
pr.insert();
if( categoryIds != null){
for (int i = 0; i < categoryIds.length; i++) {
if(categoryIds[i] > 0){
pr.addTo(IPCategory.class,categoryIds[i]);
}
}
}
return pr.getID();
}
public void updateIPProject(int ProjectId, String name, String projectNumber, String description, Integer parentId, int[] categoryIds) throws SQLException {
IPProject pr = ((is.idega.idegaweb.project.data.IPProjectHome)com.idega.data.IDOLookup.getHomeLegacy(IPProject.class)).findByPrimaryKeyLegacy(ProjectId);
pr.setName(name);
if(projectNumber != null){
pr.setProjectNumber(projectNumber);
} else {
//pr.setColumnAsNull(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_PROJECT_NUMBER);
pr.removeFromColumn(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_PROJECT_NUMBER);
}
if(description != null){
pr.setDescription(description);
} else {
//pr.setColumnAsNull(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_DESCRIPTION);
pr.removeFromColumn(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_DESCRIPTION);
}
if(parentId != null){
pr.setParentId(parentId.intValue());
} else {
//pr.setColumnAsNull(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_PARENT_ID);
pr.removeFromColumn(is.idega.idegaweb.project.data.IPProjectBMPBean._COLUMN_PARENT_ID);
}
pr.update();
pr.removeFrom(IPCategory.class);
if( categoryIds != null){
for (int i = 0; i < categoryIds.length; i++) {
if(categoryIds[i] > 0){
pr.addTo(IPCategory.class,categoryIds[i]);
}
}
}
}
public boolean changeNameOfPageLink(int projectId, String newName) throws SQLException {
List l = EntityFinder.findRelated(((is.idega.idegaweb.project.data.IPProjectHome)com.idega.data.IDOLookup.getHomeLegacy(IPProject.class)).findByPrimaryKeyLegacy(projectId),com.idega.builder.dynamicpagetrigger.data.PageLinkBMPBean.getStaticInstance(PageLink.class));
if(l != null && l.size() > 0){
PageLink pl = (PageLink)l.get(0);
pl.setDefaultLinkText(newName);
pl.update();
return true;
} else {
return false;
}
}
public void createPageLink(IWContext iwc, int projectId, String name) throws Exception {
IPProject project = ((is.idega.idegaweb.project.data.IPProjectHome)com.idega.data.IDOLookup.getHomeLegacy(IPProject.class)).findByPrimaryKeyLegacy(projectId);
DPTTriggerBusiness business = DPTTriggerBusinessBean.getInstance(iwc);
List l = EntityFinder.findAll(com.idega.builder.dynamicpagetrigger.data.PageTriggerInfoBMPBean.getStaticInstance(PageTriggerInfo.class));
PageTriggerInfo info = (PageTriggerInfo)l.get(0);
DPTCopySession cSession = ((DPTCopySession)IBOLookup.getSessionInstance(iwc,DPTCopySession.class));
cSession.startCopySession();
cSession.setToCopyInstancePermissions(true);
cSession.setToCopyPagePermissions(true);
PageLink pageLink = business.createPageLink(iwc,info,Integer.toString(projectId),name,null,null,null,null);
cSession.endCopySession();
if(pageLink != null){
project.addTo(PageLink.class, pageLink.getID());
// temp - only necessary to add newly created pages into this map
iwc.removeApplicationAttribute(_APPADDRESS_PROJECTPAGES);
// replicate permissions
List participantGroups = DPTTriggerBusinessBean.getInstance(iwc).getDPTPermissionGroups(info);
if(participantGroups != null && participantGroups.size() > 0 ){
BuilderService bservice = BuilderServiceFactory.getBuilderService(iwc);
ICTreeNode rootPage = bservice.getPageTree(pageLink.getPageId(),iwc.getCurrentUserId());
Vector v = new Vector();
//System.out.println("collecting subpages");
this.collectSubpages(v,rootPage);
Set s = new HashSet();
Set pages = new HashSet();
Iterator setIter = v.iterator();
while (setIter.hasNext()) {
ICTreeNode item = (ICTreeNode)setIter.next();
pages.add(Integer.toString(item.getNodeID()));
//System.out.println("----------------------------------");
//System.out.println("getInstanceIdsOnPage("+item.getNodeID()+")");
//BuilderLogic.getInstance().getIBXMLPage(item.getNodeID())
Set set = EventLogic.getInstanceIdsOnPage(item.getNodeID());
if(set != null){
s.addAll(set);
}
}
Iterator iter = participantGroups.iterator();
while (iter.hasNext()) {
GenericGroup oldGroup = (GenericGroup)iter.next();
GenericGroup newGroup = this.getReplicatedParticipantGroup(oldGroup, project, "System group");
//Pages
List pagePermissions = AccessControl.getGroupsPermissionsForPages(oldGroup,pages);
//System.err.println("pagePermissions: "+pagePermissions);
if(pagePermissions != null){
Iterator permissionIter = pagePermissions.iterator();
while (permissionIter.hasNext()) {
ICPermission item = (ICPermission)permissionIter.next();
AccessControl.replicatePermissionForNewGroup(item, newGroup);
}
}
//Instances
List permissions = AccessControl.getGroupsPermissionsForInstances(oldGroup,s);
if(permissions != null){
Iterator permissionIter = permissions.iterator();
while (permissionIter.hasNext()) {
ICPermission item = (ICPermission)permissionIter.next();
AccessControl.replicatePermissionForNewGroup(item, newGroup);
}
}
}
}
// replicate permissions ends
} else {
// throw Exception;
}
}
// public void createPageLink(IWContext iwc, int projectId, String name) throws SQLException {
//
// IPProject project = ((is.idega.idegaweb.project.data.IPProjectHome)com.idega.data.IDOLookup.getHomeLegacy(IPProject.class)).findByPrimaryKeyLegacy(projectId);
//
// DPTTriggerBusiness business = DPTTriggerBusiness.getInstance();
//
//
// List l = EntityFinder.findAll(com.idega.builder.dynamicpagetrigger.data.PageTriggerInfoBMPBean.getStaticInstance(PageTriggerInfo.class));
//
// PageTriggerInfo info = (PageTriggerInfo)l.get(0);
//
// PageLink pageLink = business.createPageLink(iwc,info,Integer.toString(projectId),name,null,null,null,null);
//
// if(pageLink != null){
// project.addTo(PageLink.class, pageLink.getID());
//
//
// // temp - only necessary to add newly created pages into this map
// iwc.removeApplicationAttribute(_APPADDRESS_PROJECTPAGES);
//
// // replicate permissions
//
// List participantGroups = DPTTriggerBusiness.getDPTPermissionGroups(info);
//
// if(participantGroups != null && participantGroups.size() > 0 ){
//
// BuilderLogic logic = BuilderLogic.getInstance();
//
// PageTreeNode rootPage = new PageTreeNode(pageLink.getPageId(),iwc);
// Vector v = new Vector();
// //System.out.println("collecting subpages");
// this.collectSubpages(v,rootPage);
//
// Set s = new HashSet();
// Set pages = new HashSet();
// Iterator setIter = v.iterator();
// while (setIter.hasNext()) {
// PageTreeNode item = (PageTreeNode)setIter.next();
// pages.add(Integer.toString(item.getNodeID()));
// //System.out.println("----------------------------------");
// //System.out.println("getInstanceIdsOnPage("+item.getNodeID()+")");
// //BuilderLogic.getInstance().getIBXMLPage(item.getNodeID())
// Set set = logic.getInstanceIdsOnPage(item.getNodeID());
//
// if(set != null){
// s.addAll(set);
// }
// }
//
// Iterator iter = participantGroups.iterator();
// while (iter.hasNext()) {
// GenericGroup oldGroup = (GenericGroup)iter.next();
// GenericGroup newGroup = this.getReplicatedParticipantGroup(oldGroup, project, "System group");
//
// //Pages
// List pagePermissions = AccessControl.getGroupsPermissionsForPages(oldGroup,pages);
// //System.err.println("pagePermissions: "+pagePermissions);
// if(pagePermissions != null){
// Iterator permissionIter = pagePermissions.iterator();
// while (permissionIter.hasNext()) {
// ICPermission item = (ICPermission)permissionIter.next();
// AccessControl.replicatePermissionForNewGroup(item, newGroup);
// }
// }
//
// //Instances
// List permissions = AccessControl.getGroupsPermissionsForInstances(oldGroup,s);
// if(permissions != null){
// Iterator permissionIter = permissions.iterator();
// while (permissionIter.hasNext()) {
// ICPermission item = (ICPermission)permissionIter.next();
// AccessControl.replicatePermissionForNewGroup(item, newGroup);
// }
// }
//
// }
//
// }
//
// // replicate permissions ends
// } else {
// // throw Exception;
// }
// }
private static void collectSubpages( List l, ICTreeNode node){
if(node != null){
l.add(node);
Iterator tmp = node.getChildrenIterator();
if(tmp != null){
while (tmp.hasNext()) {
collectSubpages(l,(ICTreeNode)tmp.next());
}
}
}
}
private GenericGroup getReplicatedParticipantGroup(GenericGroup group, IPProject project, String newGroupName) throws SQLException{
IPParticipantGroup newGroup = ((is.idega.idegaweb.project.data.IPParticipantGroupHome)com.idega.data.IDOLookup.getHomeLegacy(IPParticipantGroup.class)).createLegacy();
if(newGroupName != null){
newGroup.setName(newGroupName);
}else{
newGroup.setName(group.getName());
}
String desc = group.getDescription();
if(desc != null){
newGroup.setDescription(desc);
}
String extra = group.getExtraInfo();
if(extra != null){
newGroup.setExtraInfo(extra);
}
newGroup.insert();
newGroup.addGroup(group);
project.addTo(newGroup);
return newGroup;
}
public void createParticipantGroup(PageTriggerInfo pti, String name, String description) throws IDOAddRelationshipException {
DPTTriggerBusinessBean.createDPTPermissionGroup(pti,name,description);
}
public static GenericGroup getProjectParticipantGroup(int dptPermissionGroupId, int projectId) throws SQLException {
GenericGroup staticGenericGroup = (GenericGroup)com.idega.core.data.GenericGroupBMPBean.getStaticInstance(GenericGroup.class);
IPProject staticIPProject = (IPProject)is.idega.idegaweb.project.data.IPProjectBMPBean.getStaticInstance(IPProject.class);
String ipProjectICGroup = staticIPProject.getNameOfMiddleTable(staticIPProject,staticGenericGroup);
String groupTreeTable = staticIPProject.getNameOfMiddleTable(staticGenericGroup,staticGenericGroup);
StringBuffer buffer=new StringBuffer();
buffer.append("select g.* from ");
buffer.append(ipProjectICGroup);
buffer.append(" pg, ");
buffer.append(groupTreeTable);
buffer.append(" gt, ");
buffer.append(staticIPProject.getEntityName());
buffer.append(" p, ");
buffer.append(staticGenericGroup.getEntityName());
buffer.append(" g");
buffer.append(" where ");
buffer.append("pg.");
buffer.append(staticGenericGroup.getIDColumnName());
buffer.append(" = g.");
buffer.append(staticGenericGroup.getIDColumnName());
buffer.append(" and pg.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" = p.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" and gt.");
buffer.append(staticGenericGroup.getIDColumnName());
buffer.append(" = g.");
buffer.append(staticGenericGroup.getIDColumnName());
buffer.append(" and gt.child_");
buffer.append(staticGenericGroup.getIDColumnName());
buffer.append(" = ");
buffer.append(dptPermissionGroupId);
buffer.append(" and pg.");
buffer.append(staticIPProject.getIDColumnName());
buffer.append(" = ");
buffer.append(projectId);
/**
* select g.* from ip_project_ic_group pg, ic_group_tree gt, ic_group g, ip_project p
* where pg.ic_group_id = g.ic_group_id
* and pg.ip_project_id = p.ip_project_id
* and gt.ic_group_id = g.ic_group_id
* and gt.child_ic_group_id = 5
* and pg.ip_project_id = 56
*/
String SQLString=buffer.toString();
/*
System.err.print("getProjectParticipantGroup( ");
System.err.print(SQLString);
System.err.println(" )");
*/
List l = EntityFinder.findAll(staticGenericGroup,SQLString);
// System.err.println(" = "+l);
if(l != null && l.size() > 0){
return (GenericGroup)l.get(0);
} else {
return null;
}
}
/**
* temp wrong?
*/
public static void cachPageToProjectRelationship(IWContext iwc, int pageId, int projectId ){
Map pagePropertieIds = (Map)iwc.getApplicationAttribute(_APPADDRESS_PROJECTPAGES);
if(pagePropertieIds == null){
pagePropertieIds = new Hashtable();
iwc.setApplicationAttribute(_APPADDRESS_PROJECTPAGES,pagePropertieIds);
}
pagePropertieIds.put(Integer.toString(pageId),Integer.toString(projectId));
}
public static synchronized int getCurrentProjectId(IWContext iwc)throws Exception{
Map pagePropertieIds = (Map)iwc.getApplicationAttribute(_APPADDRESS_PROJECTPAGES);
if(pagePropertieIds == null){
pagePropertieIds = new Hashtable();
iwc.setApplicationAttribute(_APPADDRESS_PROJECTPAGES,pagePropertieIds);
}
String pageId = iwc.getParameter(BuilderConstants.IB_PAGE_PARAMETER);
if(pageId != null){
String projectID = (String)pagePropertieIds.get(pageId);
if(projectID != null){
return Integer.parseInt(projectID);
} else {
List links = null;
try {
links = ProjectBusiness.getInstance().getProjectDPTPageLinks(null);
}
catch (Exception e) {
e.printStackTrace();
}
if(links != null){
BuilderService bservice = BuilderServiceFactory.getBuilderService(iwc);
Iterator iter = links.iterator();
while (iter.hasNext()) {
PageLink item = (PageLink)iter.next();
int pPageId = item.getPageId();
String projectId = item.getReferencedDataId();
if((pPageId !=-1) && (projectId != null) && (!projectId.equals(""))){
if(pPageId > 0){
pagePropertieIds.put(Integer.toString(pPageId),projectId);
}
Vector v = null;
try {
ICTreeNode rootPage = bservice.getPageTree(pPageId,iwc.getCurrentUserId());
v = new Vector();
collectSubpages(v,rootPage);
}
catch (Exception ex) {
ex.printStackTrace();
}
if( v != null){
Iterator iter2 = v.iterator();
while (iter2.hasNext()) {
ICTreeNode item2 = (ICTreeNode)iter2.next();
int tmpPageID = item2.getNodeID();
if(tmpPageID > 0){
pagePropertieIds.put(Integer.toString(tmpPageID),projectId);
}
}
}
}
}
}
String s = (String)pagePropertieIds.get(pageId);
if(s!= null){
try {
return Integer.parseInt(s);
}
catch (NumberFormatException ex) {
return -1;
}
}else{
return -1;
}
}
} else {
return -1;
}
}
public boolean invalidateProject(IWContext iwc,int projectId, int userId){
try {
IPProject p = ((is.idega.idegaweb.project.data.IPProjectHome)com.idega.data.IDOLookup.getHomeLegacy(IPProject.class)).findByPrimaryKeyLegacy(projectId);
List l = EntityFinder.findRelated(p,com.idega.builder.dynamicpagetrigger.data.PageLinkBMPBean.getStaticInstance(PageLink.class));
if(l != null && l.size() > 0){
boolean b = DPTTriggerBusinessBean.getInstance(iwc).invalidatePageLink( iwc, (PageLink)l.get(0),userId);
if(!b){
return false;
}
}
p.setDeleted(true);
p.setDeletedBy(userId);
p.setDeletedWhen(IWTimestamp.getTimestampRightNow());
p.update();
return true;
}
catch (Exception ex) {
ex.printStackTrace();
return false;
}
}
} //