Bereinigen Code, beseitigen Bezüge auf SiteNode/Package/PackageType und weiteren old style application code.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2051 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2013-01-26 12:34:36 +00:00
parent 5764020eab
commit 18414f374a
4 changed files with 196 additions and 134 deletions

View File

@ -21,8 +21,8 @@ package com.arsdigita.simplesurvey;
import com.arsdigita.bebop.PageState;
import com.arsdigita.kernel.PackageInstance;
import com.arsdigita.kernel.SiteNode;
// import com.arsdigita.kernel.PackageInstance;
// import com.arsdigita.kernel.SiteNode;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.User;
@ -30,9 +30,8 @@ import com.arsdigita.kernel.User;
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
import javax.servlet.http.HttpServletRequest;
import com.arsdigita.web.Application;
// import com.arsdigita.web.Web;
/**
@ -51,35 +50,35 @@ public class SimpleSurveyUtil {
* @param request
* @return
*/
public static SiteNode getSiteNode(HttpServletRequest request) {
// public static SiteNode getSiteNode(HttpServletRequest request) {
SiteNode siteNode;
try {
siteNode = SiteNode.getSiteNode(request.getRequestURI().toString(), true);
} catch (com.arsdigita.domain.DataObjectNotFoundException e) {
throw new com.arsdigita.util.UncheckedWrapperException(e);
}
// SiteNode siteNode;
// try {
// siteNode = SiteNode.getSiteNode(request.getRequestURI().toString(), true);
// } catch (com.arsdigita.domain.DataObjectNotFoundException e) {
// throw new com.arsdigita.util.UncheckedWrapperException(e);
// }
return siteNode;
}
// return siteNode;
// }
/**
*
* @param pageState
* @return
*/
public static SiteNode getSiteNode(PageState pageState) {
return getSiteNode(pageState.getRequest());
}
// public static SiteNode getSiteNode(PageState pageState) {
// return getSiteNode(pageState.getRequest());
// }
/**
*
* @param pageState
* @return
*/
public static PackageInstance getPackageInstance(PageState pageState) {
return getSiteNode(pageState).getPackageInstance();
}
// public static PackageInstance getPackageInstance(PageState pageState) {
// return getSiteNode(pageState).getPackageInstance();
// }
/**
*
@ -87,15 +86,27 @@ public class SimpleSurveyUtil {
* @return
*/
public static boolean isUserAdmin(PageState pageState) {
boolean admin_p = false;
User user = (User)Kernel.getContext().getParty();
SiteNode siteNode = SimpleSurveyUtil.getSiteNode(pageState);
// DEPRECATED! SiteNode is old style application an no longer used.
// Can not provide any useful information as no applicagtion is created
// as a SiteNode anymore.
// SiteNode siteNode = SimpleSurveyUtil.getSiteNode(pageState);
// PermissionDescriptor admin = new PermissionDescriptor
// (PrivilegeDescriptor.ADMIN,
// siteNode,
// user);
// TODO: Replacement code not tested yet (both alternatives)!
// Application app = Web.getContext().getApplication();
Application app = (Application)Kernel.getContext().getResource();
PermissionDescriptor admin = new PermissionDescriptor
(PrivilegeDescriptor.ADMIN,
siteNode,
app,
user);
if (PermissionService.checkPermission(admin)) {

View File

@ -34,7 +34,7 @@ import com.arsdigita.formbuilder.PersistentForm;
import com.arsdigita.kernel.ACSObject;
import com.arsdigita.kernel.User;
import com.arsdigita.kernel.PackageInstance;
// import com.arsdigita.kernel.PackageInstance;
import java.util.Date;
@ -196,10 +196,10 @@ public class Survey extends ACSObject {
getEndDate().compareTo(currentDate) > 0;
}
public void setPackageInstance(PackageInstance packageInstance) {
set(PACKAGE_INSTANCE, packageInstance);
}
// Mo longer useful. PackageInstance is old style app no longer used.
// public void setPackageInstance(PackageInstance packageInstance) {
// set(PACKAGE_INSTANCE, packageInstance);
// }
/*
* Retrieves most recent survey that isn't completed

View File

@ -23,31 +23,24 @@ import com.arsdigita.simplesurvey.util.GlobalizationUtil ;
// Every item in the Table will have links
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableCellRenderer;
import com.arsdigita.simplesurvey.SimpleSurveyUtil;
import com.arsdigita.formbuilder.PersistentForm;
import com.arsdigita.kernel.ACSObject;
import com.arsdigita.kernel.PackageInstance;
import com.arsdigita.bebop.Component;
// import com.arsdigita.simplesurvey.SimpleSurveyUtil;
import com.arsdigita.simplesurvey.Survey;
import com.arsdigita.simplesurvey.SurveyCollection;
import com.arsdigita.formbuilder.PersistentForm;
import com.arsdigita.util.LockableImpl;
import org.apache.log4j.Logger;
import com.arsdigita.bebop.PageState;
import com.arsdigita.util.LockableImpl;
/**
* Tables all Simple Surveys in the system.
*
@ -71,37 +64,63 @@ public class AdminSurveyTable extends Table {
public static final int COL_DELETE = 7;
/**
* Constructor.
*
* @param surveyClass
*/
public AdminSurveyTable(Class surveyClass) {
super(new AdminSurveyTableModelBuilder(surveyClass),
new String[] {"", "", "", "", "", "","", ""});
m_surveyClass = surveyClass;
setDefaultCellRenderer(new AdminSurveyTableCellRenderer());
}
private static class AdminSurveyTableModelBuilder extends LockableImpl
/**
*
*/
private static class AdminSurveyTableModelBuilder
extends LockableImpl
implements TableModelBuilder {
private Class m_surveyClass;
/**
*
* @param surveyClass
*/
public AdminSurveyTableModelBuilder(Class surveyClass) {
m_surveyClass = surveyClass;
}
/**
*
* @param l
* @param pageState
* @return
*/
public TableModel makeModel(Table l, PageState pageState) {
PackageInstance pack = SimpleSurveyUtil.getPackageInstance(pageState);
SurveyCollection surveys =
Survey.retrieveAll();
// PackageInstance no loger provides useful information.
// Obviously not really used here.
// NOT TESTED yet!
// PackageInstance pack = SimpleSurveyUtil.getPackageInstance(pageState);
SurveyCollection surveys = Survey.retrieveAll();
surveys.addEqualsFilter(ACSObject.DEFAULT_DOMAIN_CLASS,
m_surveyClass.getName());
return new AdminSurveyTableModel(surveys);
}
}
/**
*
*/
private static class AdminSurveyTableCellRenderer implements TableCellRenderer {
public Component getComponent(Table table, PageState state, Object value,
boolean isSelected, Object key,
int row, int column) {

View File

@ -19,12 +19,10 @@
package com.arsdigita.simplesurvey.ui.admin;
import com.arsdigita.simplesurvey.util.GlobalizationUtil ;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.parameters.NotWhiteSpaceValidationListener;
import com.arsdigita.bebop.Form;
import com.arsdigita.bebop.FormProcessException;
@ -42,13 +40,18 @@ import com.arsdigita.formbuilder.PersistentForm;
import com.arsdigita.simplesurvey.Survey;
import com.arsdigita.simplesurvey.Poll;
import com.arsdigita.simplesurvey.SimpleSurveyUtil;
// import com.arsdigita.simplesurvey.SimpleSurveyUtil;
import com.arsdigita.simplesurvey.ui.SurveySelectionModel;
import com.arsdigita.simplesurvey.util.GlobalizationUtil ;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.lang.Boolean;
/**
*
*
*/
public class PropertiesForm extends Form {
private SurveySelectionModel m_survey;
@ -117,15 +120,26 @@ public class PropertiesForm extends Form {
}
/**
*
*/
private class SurveyInitListener implements FormInitListener {
public void init(FormSectionEvent e)
throws FormProcessException {
/**
*
* @param e
* @throws FormProcessException
*/
public void init(FormSectionEvent e) throws FormProcessException {
PageState state = e.getPageState();
if (m_survey.isSelected(state)) {
Survey survey = m_survey.getSelectedSurvey(state);
PersistentForm form = survey.getForm();
m_surveyName.setValue(state, form.getAdminName());
m_description.setValue(state, form.getDescription());
m_startDate.setValue(state, survey.getStartDate());
@ -136,10 +150,11 @@ public class PropertiesForm extends Form {
} else {
m_responsesPublic.setValue(state,"false");
}
} else {
m_surveyName.setValue(state, "");
m_description.setValue(state, "");
Calendar startCalendar = new GregorianCalendar();
startCalendar.add(Calendar.DATE, 0);
java.util.Date startDate = startCalendar.getTime();
@ -155,9 +170,20 @@ public class PropertiesForm extends Form {
}
}
/**
*
*/
private class PropertiesFormProcessListener implements FormProcessListener {
public void process(FormSectionEvent e)
throws FormProcessException {
/**
*
* @param e
* @throws FormProcessException
*/
public void process(FormSectionEvent e) throws FormProcessException {
PageState state = e.getPageState();
Survey survey;
@ -168,7 +194,10 @@ public class PropertiesForm extends Form {
form = survey.getForm();
} else {
survey = m_type.equals(Survey.class) ? new Survey() : new Poll();
survey.setPackageInstance(SimpleSurveyUtil.getPackageInstance(state));
// PackageInstance is old style application, no longer used.
// survey.setPackageInstance(SimpleSurveyUtil.getPackageInstance(state));
form = new PersistentForm();
survey.setForm(form);
}
@ -185,10 +214,13 @@ public class PropertiesForm extends Form {
survey.save();
}
/**
*
* @param surveyName
* @return
*/
private String getHTMLName(String surveyName) {
String htmlName = surveyName.trim().toLowerCase();
htmlName = htmlName.replace(' ', '_');
return htmlName;