/* * � Copyright IBM Corp. 2011 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.ibm.domino.services.content; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_ALIGNMENT; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_CATEGORY; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_COLUMNNUMBER; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_FIELD; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_HIDDEN; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_NAME; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_RESPONSE; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_TITLE; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_TWISTIE; import static com.ibm.domino.services.rest.RestServiceConstants.ATTRIB_WIDTH; import java.io.IOException; import java.util.Vector; import lotus.domino.NotesException; import lotus.domino.View; import lotus.domino.ViewColumn; import com.ibm.commons.Platform; import com.ibm.domino.services.ResponseCode; import com.ibm.domino.services.ServiceException; import com.ibm.domino.services.util.JsonWriter; public class JsonViewDesignContent extends JsonContent { private View view; public JsonViewDesignContent(View view) { this.view = view; } public void writeViewDesign(JsonWriter jwriter) throws ServiceException { try { jwriter.startArray(); Vector<?> columns = view.getColumns(); for (int i = 0; i < columns.size(); i++) { jwriter.startArrayItem(); jwriter.startObject(); try { ViewColumn column = (ViewColumn) columns.elementAt(i); writeProperty(jwriter, ATTRIB_COLUMNNUMBER, column.getPosition()); writeProperty(jwriter, ATTRIB_NAME, column.getItemName()); writeProperty(jwriter, ATTRIB_TITLE, column.getTitle()); writeProperty(jwriter, ATTRIB_WIDTH, column.getWidth()); writeProperty(jwriter, ATTRIB_ALIGNMENT, column.getAlignment()); writeProperty(jwriter, ATTRIB_HIDDEN, column.isHidden()); writeProperty(jwriter, ATTRIB_RESPONSE, column.isResponse()); writeProperty(jwriter, ATTRIB_TWISTIE, column.isShowTwistie()); writeProperty(jwriter, ATTRIB_FIELD, column.isField()); writeProperty(jwriter, ATTRIB_CATEGORY, column.isCategory()); } catch (NotesException e) { Platform.getInstance().log(e); } finally { jwriter.endArrayItem(); jwriter.endObject(); } } }catch (IOException e) { throw new ServiceException(e,""); }catch (NotesException e) { throw new ServiceException(e, ResponseCode.INTERNAL_ERROR); } finally { try { jwriter.endArray(); jwriter.flush(); } catch (IOException e) { throw new ServiceException(e,""); } } } }