<%@ page import="com.ecyrd.jspwiki.log.Logger" %> <%@ page import="com.ecyrd.jspwiki.log.LoggerFactory" %> <%@ page import="com.ecyrd.jspwiki.*" %> <%@ page import="com.ecyrd.jspwiki.auth.NoSuchPrincipalException" %> <%@ page import="com.ecyrd.jspwiki.auth.WikiSecurityException" %> <%@ page import="com.ecyrd.jspwiki.auth.authorize.Group" %> <%@ page import="com.ecyrd.jspwiki.auth.authorize.GroupManager" %> <%@ page errorPage="/Error.jsp" %> <%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %> <%@ page import="java.util.*" %> <%@ page import="java.text.*" %> <%! Logger log = LoggerFactory.getLogger("JSPWiki"); %> <% WikiEngine wiki = WikiEngine.getInstance( getServletConfig() ); // Create wiki context and check for authorization WikiContext wikiContext = wiki.createContext( request, WikiContext.CREATE_GROUP ); // Extract the current user, group name, members and action attributes WikiSession wikiSession = wikiContext.getWikiSession(); GroupManager groupMgr = wiki.getGroupManager(); Group group = null; try { group = groupMgr.parseGroup( wikiContext, true ); pageContext.setAttribute ( "Group", group, PageContext.REQUEST_SCOPE ); } catch ( WikiSecurityException e ) { wikiSession.addMessage( GroupManager.MESSAGES_KEY, e.getMessage() ); response.sendRedirect( "Group.jsp" ); } // Are we saving the group? if( "save".equals(request.getParameter("action")) ) { // Validate the group groupMgr.validateGroup( wikiContext, group ); try { groupMgr.getGroup( group.getName() ); // Oops! The group already exists. This is mischief! ResourceBundle rb = wikiContext.getBundle("CoreResources"); Object[] args = { group.getName() }; wikiSession.addMessage( GroupManager.MESSAGES_KEY, MessageFormat.format(rb.getString("newgroup.exists"),args)); } catch ( NoSuchPrincipalException e ) { // Group not found; this is good! } // If no errors, save the group now if ( wikiSession.getMessages( GroupManager.MESSAGES_KEY ).length == 0 ) { try { groupMgr.setGroup( wikiSession, group ); } catch( WikiSecurityException e ) { // Something went horribly wrong! Maybe it's an I/O error... wikiSession.addMessage( GroupManager.MESSAGES_KEY, e.getMessage() ); } } if ( wikiSession.getMessages( GroupManager.MESSAGES_KEY ).length == 0 ) { response.sendRedirect( "Group.jsp?group=" + group.getName() ); return; } } // Set the content type and include the response content response.setContentType("text/html; charset="+wiki.getContentEncoding() ); String contentPage = wiki.getTemplateManager().findJSP( pageContext, wikiContext.getTemplate(), "ViewTemplate.jsp" ); %>