1
package org.hisp.dhis.dataset.action;
4
* Copyright (c) 2004-2007, University of Oslo
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
* * Redistributions of source code must retain the above copyright notice, this
10
* list of conditions and the following disclaimer.
11
* * Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
* * Neither the name of the HISP project nor the names of its contributors may
15
* be used to endorse or promote products derived from this software without
16
* specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
import org.hisp.dhis.dataset.DataSet;
31
import org.hisp.dhis.dataset.DataSetService;
32
import org.hisp.dhis.i18n.I18n;
34
import com.opensymphony.xwork.Action;
38
* @version $Id: ValidateDataSetAction.java 6255 2008-11-10 16:01:24Z larshelg $
40
public class ValidateDataSetAction
43
private Integer dataSetId;
45
public void setDataSetId( Integer dataSetId )
47
this.dataSetId = dataSetId;
52
public void setName( String name )
57
private String shortName;
59
public void setShortName( String shortName )
61
this.shortName = shortName;
66
public void setCode( String code )
71
// -------------------------------------------------------------------------
73
// -------------------------------------------------------------------------
75
private DataSetService dataSetService;
77
public void setDataSetService( DataSetService dataSetService )
79
this.dataSetService = dataSetService;
82
// -------------------------------------------------------------------------
84
// -------------------------------------------------------------------------
88
public void setI18n( I18n i18n )
93
// -------------------------------------------------------------------------
95
// -------------------------------------------------------------------------
97
private String message;
99
public String getMessage()
104
// -------------------------------------------------------------------------
106
// -------------------------------------------------------------------------
108
public String execute()
111
// ---------------------------------------------------------------------
113
// ---------------------------------------------------------------------
117
message = i18n.getString( "specify_name" );
125
if ( name.length() == 0 )
127
message = i18n.getString( "specify_name" );
132
DataSet match = dataSetService.getDataSetByName( name );
134
if ( match != null && ( dataSetId == null || match.getId() != dataSetId ) )
136
message = i18n.getString( "duplicate_names" );
142
// ---------------------------------------------------------------------
144
// ---------------------------------------------------------------------
146
if ( shortName == null )
148
message = i18n.getString( "specify_short_name" );
154
shortName = shortName.trim();
156
if ( shortName.length() == 0 )
158
message = i18n.getString( "specify_short_name" );
163
DataSet match = dataSetService.getDataSetByShortName( shortName );
165
if ( match != null && ( dataSetId == null || match.getId() != dataSetId ) )
167
message = i18n.getString( "duplicate_short_names" );
173
// ---------------------------------------------------------------------
175
// ---------------------------------------------------------------------
177
if ( code != null && code.trim().length() != 0 )
179
DataSet match = dataSetService.getDataSetByCode( code );
181
if ( match != null && ( dataSetId == null || match.getId() != dataSetId ) )
183
message = i18n.getString( "duplicate_codes" );