Android Open Source - ironcontrol-for-android Advanced Request Fragment






From Project

Back to project page ironcontrol-for-android.

License

The source code is released under:

Apache License

If you think the Android project ironcontrol-for-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * #%L//ww  w  .  jav a  2 s .co  m
 * =====================================================
 *   _____                _     ____  _   _       _   _
 *  |_   _|_ __ _   _ ___| |_  / __ \| | | | ___ | | | |
 *    | | | '__| | | / __| __|/ / _` | |_| |/ __|| |_| |
 *    | | | |  | |_| \__ \ |_| | (_| |  _  |\__ \|  _  |
 *    |_| |_|   \__,_|___/\__|\ \__,_|_| |_||___/|_| |_|
 *                             \____/
 * 
 * =====================================================
 * 
 * Hochschule Hannover
 * (University of Applied Sciences and Arts, Hannover)
 * Faculty IV, Dept. of Computer Science
 * Ricklinger Stadtweg 118, 30459 Hannover, Germany
 * 
 * Email: trust@f4-i.fh-hannover.de
 * Website: http://trust.f4.hs-hannover.de/
 * 
 * This file is part of ironcontrol for android, version 1.0.1, implemented by the Trust@HsH research group at the Hochschule Hannover.
 * %%
 * Copyright (C) 2013 Trust@HsH
 * %%
 * 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.
 * #L%
 */
package de.hshannover.f4.trust.ironcontrol.view;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import de.hshannover.f4.trust.ironcontrol.R;
import de.hshannover.f4.trust.ironcontrol.asynctask.SearchTask;
import de.hshannover.f4.trust.ironcontrol.asynctask.SubscriptionTask;
import de.hshannover.f4.trust.ironcontrol.database.DBContentProvider;
import de.hshannover.f4.trust.ironcontrol.database.entities.Requests;
import de.hshannover.f4.trust.ironcontrol.logic.data.Operation;
import de.hshannover.f4.trust.ironcontrol.view.util.PromptSpinnerAdapter;

public class AdvancedRequestFragment extends Fragment  {

  private static final CharSequence START_IDENTIFIER_SPINNER_PROMPT = "Start Identifier";

  private boolean[] terminalIdentifierTypes =  new boolean[5];
  private Spinner sStartIdentifier;
  private EditText etStartIdentifier, etName, etMatchLinks, etResultFilter;
  private View mRoot;
  private TextView tvMaxDepth, tvMaxSize;
  private SeekBar sbMaxDepth, sbMaxSize;
  private ListView lvTerminalType;
  private PromptSpinnerAdapter identifier1Adapter;

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    mRoot = inflater.inflate(R.layout.fragment_advanced_request, null);

    etName = (EditText)mRoot.findViewById(R.id.etName);
    sStartIdentifier = (Spinner)mRoot.findViewById(R.id.sIdentifier1);
    etStartIdentifier = (EditText)mRoot.findViewById(R.id.etIdentifier1);
    tvMaxDepth = (TextView)mRoot.findViewById(R.id.textViewMaxDepth);
    etMatchLinks = (EditText)mRoot.findViewById(R.id.editTextMatchLinks);
    etResultFilter = (EditText)mRoot.findViewById(R.id.editTextResultFilter);
    tvMaxSize = (TextView)mRoot.findViewById(R.id.textViewMaxSize);
    sbMaxDepth = (SeekBar)mRoot.findViewById(R.id.seekBarMaxDepth);
    sbMaxSize = (SeekBar)mRoot.findViewById(R.id.seekBarMaxSize);
    lvTerminalType = (ListView)mRoot.findViewById(R.id.listViewTerminalType);
    configureView();
    lvTerminalType.setOnItemClickListener(new OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
        createDialog().show();
      }
    });
    return mRoot;
  }

  private void configureListEntries(){
    identifier1Adapter = new PromptSpinnerAdapter(getActivity(), START_IDENTIFIER_SPINNER_PROMPT, R.array.identifier1_list);

    sStartIdentifier.setAdapter(identifier1Adapter);
  }

  private void addSpinnerListener(){
    sStartIdentifier.setOnItemSelectedListener(new OnItemSelectedListener() {
      @Override
      public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        etStartIdentifier.setHint((CharSequence) sStartIdentifier.getSelectedItem());
      }
      @Override
      public void onNothingSelected(AdapterView<?> arg0) {
      }
    });
  }

  private void addSeekBarListener(){
    sbMaxDepth.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
      @Override
      public void onStopTrackingTouch(SeekBar seekBar) {
      }
      @Override
      public void onStartTrackingTouch(SeekBar seekBar) {
      }
      @Override
      public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        tvMaxDepth.setText(""+progress);
      }
    });

    sbMaxSize.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
      @Override
      public void onStopTrackingTouch(SeekBar seekBar) {
      }
      @Override
      public void onStartTrackingTouch(SeekBar seekBar) {
      }
      @Override
      public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        tvMaxSize.setText(""+progress);
      }
    });
  }

  private void configureView(){
    configureListEntries();
    addSpinnerListener();
    addSeekBarListener();
  }

  private Dialog createDialog(){
    return new AlertDialog.Builder( getActivity() )
    .setTitle(R.string.string_terminal_identifier_type)
    .setMultiChoiceItems( R.array.identifier1_list, terminalIdentifierTypes, new DialogSelectionClickHandler())
    .setPositiveButton( R.string.ok, new DialogButtonClickHandler() )
    .setNegativeButton(R.string.string_abort, new DialogButtonClickHandler())
    .create();
  }

  public class DialogSelectionClickHandler implements DialogInterface.OnMultiChoiceClickListener {
    @Override
    public void onClick( DialogInterface dialog, int clicked, boolean selected ){
      Log.i( "ME", R.array.identifier1_list + " selected: " + selected );
    }
  }

  public class DialogButtonClickHandler implements DialogInterface.OnClickListener{
    @Override
    public void onClick( DialogInterface dialog, int clicked ){
      switch( clicked ){
      case DialogInterface.BUTTON_POSITIVE:
        printTerminalIdentifierType();
        break;
      }
    }
  }

  protected void printTerminalIdentifierType(){
    for( int i = 0; i < 5; i++ ){
      Log.i( "ME", i + " selected: " + terminalIdentifierTypes[i] );
    }
  }

  public boolean[] getTerminalIdentifierTypes() {
    return terminalIdentifierTypes;
  }

  public void search(View view){
    String name = etName.getText().toString();
    String identifier = sStartIdentifier.getSelectedItem().toString();
    String identifierValue = etStartIdentifier.getText().toString();
    String matchLinks = etMatchLinks.getText().toString();
    String resultFilter = etResultFilter.getText().toString();
    int maxDepth = sbMaxDepth.getProgress();
    int maxSize = sbMaxSize.getProgress() * 1000;
    String terminalIdentifiers = terminalIdentifierTypesToString();

    String id = saveSearch(name);

    if(matchLinks.equals("")){
      matchLinks = null;
    }

    if(resultFilter.equals("")){
      resultFilter = null;
    }

    if(terminalIdentifiers.equals("")){
      terminalIdentifiers = null;
    }

    if(id != null){

      new SearchTask(name, identifier, identifierValue, matchLinks, resultFilter, maxDepth, maxSize, terminalIdentifiers, getActivity(), SearchFragmentActivity.MESSAGESEARCH).execute();

    }else {

      Toast.makeText(getActivity(), "no search", Toast.LENGTH_SHORT).show();

    }
  }

  private String terminalIdentifierTypesToString() {

    String[] identifiers = {"access-request", "ip-address", "mac-address", "device", "identity"};
    String terminalIdentifier = "";

    boolean first = true;
    for(int i=0; i< identifiers.length; i++){
      if(terminalIdentifierTypes[i]){
        if(first){
          terminalIdentifier += identifiers[i];
          first = false;
          continue;
        }
        terminalIdentifier += ","+identifiers[i];
      }
    }
    System.out.println("Terminal Identifier  =  "+terminalIdentifier);
    return terminalIdentifier;
  }

  public String saveSearch(String savedName){
    if(!isNameValid(savedName)){
      return null;
    }

    String id = getExistSearchId(savedName);

    if(id != null){
      return id;
    }

    String startIdentifier = sStartIdentifier.getSelectedItem().toString();
    String startIdentifierValue = etStartIdentifier.getText().toString();
    String matchLinks = etMatchLinks.getText().toString();
    String resultFilter = etResultFilter.getText().toString();
    int maxDepth = sbMaxDepth.getProgress();
    int maxSize = sbMaxSize.getProgress() * 1000;
    String terminalIdentifiers = terminalIdentifierTypesToString();

    ContentValues publishValues = new ContentValues();
    publishValues.put(Requests.COLUMN_NAME, savedName);
    publishValues.put(Requests.COLUMN_IDENTIFIER1, startIdentifier);
    publishValues.put(Requests.COLUMN_IDENTIFIER1_Value, startIdentifierValue);
    publishValues.put(Requests.COLUMN_MATCH_LINKS, matchLinks);
    publishValues.put(Requests.COLUMN_RESULT_FILTER, resultFilter);
    publishValues.put(Requests.COLUMN_MAX_DEPTH, maxDepth);
    publishValues.put(Requests.COLUMN_MAX_SITZ, maxSize);
    publishValues.put(Requests.COLUMN_TERMINAL_IDENTIFIER_TYPES, terminalIdentifiers);

    Uri returnUri = getActivity().getContentResolver().insert(DBContentProvider.SEARCH_URI, publishValues);
    return returnUri.getLastPathSegment();
  }

  public Dialog createSearchSaveDialog(){
    AlertDialog.Builder publishSaveDialog = new AlertDialog.Builder(getActivity());

    publishSaveDialog.setTitle(R.string.save);
    publishSaveDialog.setMessage(R.string.saving_search_message);

    final EditText input = new EditText(getActivity());
    input.setText(etName.getText().toString());
    publishSaveDialog.setView(input);

    publishSaveDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int whichButton) {
        if(saveSearch(input.getText().toString()) == null){
          Toast.makeText(getActivity(), "not saved", Toast.LENGTH_LONG).show();
        }else {
          Toast.makeText(getActivity(), "Search: " + input.getText().toString() + " is saved", Toast.LENGTH_SHORT).show();
        }

      }
    });

    publishSaveDialog.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int whichButton) {}});

    return publishSaveDialog.create();
  }

  private String getExistSearchId(String savedName){
    String selectionArgs[] = {savedName};
    String selection = Requests.COLUMN_NAME + "=?";

    Cursor cursor = getActivity().getContentResolver().query(DBContentProvider.SEARCH_URI, null, selection, selectionArgs, null);

    if(cursor.getCount() == 1){
      cursor.moveToFirst();
      String id = cursor.getString(cursor.getColumnIndex(Requests.COLUMN_ID));
      cursor.close();
      return id;
    }
    cursor.close();
    return null;
  }

  private boolean isNameValid(String savedName) {
    if(savedName.equals("")){
      Toast.makeText(getActivity().getBaseContext(), "empty name", Toast.LENGTH_SHORT).show();
      return false;
    }
    return true;
  }

  public void subscription(View view){
    String name = etName.getText().toString();
    String identifier = sStartIdentifier.getSelectedItem().toString();
    String identifierValue = etStartIdentifier.getText().toString();
    String matchLinks = etMatchLinks.getText().toString();
    String resultFilter = etResultFilter.getText().toString();
    int maxDepth = sbMaxDepth.getProgress();
    int maxSize = sbMaxSize.getProgress() * 1000;
    String terminalIdentifiers = terminalIdentifierTypesToString();

    String id = saveSubscribtion(name);

    if(matchLinks.equals("")){
      matchLinks = null;
    }

    if(resultFilter.equals("")){
      resultFilter = null;
    }

    if(terminalIdentifiers.equals("")){
      terminalIdentifiers = null;
    }

    if(id != null){

      new SubscriptionTask(getActivity(), name, identifier, identifierValue, maxDepth, maxSize, terminalIdentifiers, resultFilter, matchLinks, id, Operation.UPDATE).execute();

    }else {

      Toast.makeText(getActivity(), "no subscription", Toast.LENGTH_SHORT).show();

    }
  }

  public String saveSubscribtion(String savedName){
    if(!isNameValid(savedName)){
      return null;
    }

    String id = getExistSubscriptionId(savedName);

    if(id != null){
      return id;
    }

    String startIdentifier = sStartIdentifier.getSelectedItem().toString();
    String startIdentifierValue = etStartIdentifier.getText().toString();
    String matchLinks = etMatchLinks.getText().toString();
    String resultFilter = etResultFilter.getText().toString();
    int maxDepth = sbMaxDepth.getProgress();
    int maxSize = sbMaxSize.getProgress() * 1000;
    String terminalIdentifiers = terminalIdentifierTypesToString();

    ContentValues publishValues = new ContentValues();
    publishValues.put(Requests.COLUMN_NAME, savedName);
    publishValues.put(Requests.COLUMN_IDENTIFIER1, startIdentifier);
    publishValues.put(Requests.COLUMN_IDENTIFIER1_Value, startIdentifierValue);
    publishValues.put(Requests.COLUMN_MATCH_LINKS, matchLinks);
    publishValues.put(Requests.COLUMN_RESULT_FILTER, resultFilter);
    publishValues.put(Requests.COLUMN_MAX_DEPTH, maxDepth);
    publishValues.put(Requests.COLUMN_MAX_SITZ, maxSize);
    publishValues.put(Requests.COLUMN_TERMINAL_IDENTIFIER_TYPES, terminalIdentifiers);


    Uri returnUri = getActivity().getContentResolver().insert(DBContentProvider.SUBSCRIPTION_URI, publishValues);
    return returnUri.getLastPathSegment();

  }

  public Dialog createSubscribeSaveDialog(){
    AlertDialog.Builder publishSaveDialog = new AlertDialog.Builder(getActivity());

    publishSaveDialog.setTitle(R.string.save);
    publishSaveDialog.setMessage(R.string.saving_subscribe_message);

    final EditText input = new EditText(getActivity());
    input.setText(etName.getText().toString());
    publishSaveDialog.setView(input);

    publishSaveDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int whichButton) {
        if(saveSubscribtion(input.getText().toString()) == null){
          Toast.makeText(getActivity(), "not saved", Toast.LENGTH_LONG).show();
        }else {
          Toast.makeText(getActivity(), "Subscription: " + input.getText().toString() + " is saved", Toast.LENGTH_SHORT).show();
        }
      }
    });

    publishSaveDialog.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int whichButton) {}});

    return publishSaveDialog.create();
  }

  private String getExistSubscriptionId(String savedName){
    String selectionArgs[] = {savedName};
    String selection = Requests.COLUMN_NAME + "=?";

    Cursor cursor = getActivity().getContentResolver().query(DBContentProvider.SUBSCRIPTION_URI, null, selection, selectionArgs, null);

    if(cursor.getCount() == 1){
      cursor.moveToFirst();
      String id = cursor.getString(cursor.getColumnIndex(Requests.COLUMN_ID));
      cursor.close();
      return id;
    }
    cursor.close();
    return null;
  }

}




Java Source Code List

de.hshannover.f4.trust.ironcontrol.asynctask.ConnectionTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PDP.java
de.hshannover.f4.trust.ironcontrol.asynctask.PublishTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PublishTestTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.PurgePublisherTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.SearchTask.java
de.hshannover.f4.trust.ironcontrol.asynctask.SubscriptionTask.java
de.hshannover.f4.trust.ironcontrol.database.DBContentProvider.java
de.hshannover.f4.trust.ironcontrol.database.DatabaseHelper.java
de.hshannover.f4.trust.ironcontrol.database.entities.AbstractEntity.java
de.hshannover.f4.trust.ironcontrol.database.entities.Attributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Connections.java
de.hshannover.f4.trust.ironcontrol.database.entities.IdentifierAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Identifier.java
de.hshannover.f4.trust.ironcontrol.database.entities.MetaAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.Requests.java
de.hshannover.f4.trust.ironcontrol.database.entities.Responses.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultItems.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultMetaAttributes.java
de.hshannover.f4.trust.ironcontrol.database.entities.ResultMetadata.java
de.hshannover.f4.trust.ironcontrol.database.entities.VendorMetadata.java
de.hshannover.f4.trust.ironcontrol.exceptions.IronControlUncaughtExceptionHandler.java
de.hshannover.f4.trust.ironcontrol.logger.Level.java
de.hshannover.f4.trust.ironcontrol.logger.LogData.java
de.hshannover.f4.trust.ironcontrol.logger.LogReceiver.java
de.hshannover.f4.trust.ironcontrol.logger.LoggerFactory.java
de.hshannover.f4.trust.ironcontrol.logger.Logger.java
de.hshannover.f4.trust.ironcontrol.logger.appander.Appender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogCatAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogFileAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogListAppender.java
de.hshannover.f4.trust.ironcontrol.logger.appander.LogToastAppender.java
de.hshannover.f4.trust.ironcontrol.logic.Connection.java
de.hshannover.f4.trust.ironcontrol.logic.KeystoreManager.java
de.hshannover.f4.trust.ironcontrol.logic.RequestsController.java
de.hshannover.f4.trust.ironcontrol.logic.ResultNotificationManager.java
de.hshannover.f4.trust.ironcontrol.logic.StoredResponses.java
de.hshannover.f4.trust.ironcontrol.logic.SubscriptionPoller.java
de.hshannover.f4.trust.ironcontrol.logic.data.BuildIdetifiers.java
de.hshannover.f4.trust.ironcontrol.logic.data.Operation.java
de.hshannover.f4.trust.ironcontrol.logic.data.PollReceiver.java
de.hshannover.f4.trust.ironcontrol.logic.data.PollSender.java
de.hshannover.f4.trust.ironcontrol.logic.data.PublishRequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.RequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.SearchRequestData.java
de.hshannover.f4.trust.ironcontrol.logic.data.SubscribeRequestData.java
de.hshannover.f4.trust.ironcontrol.view.AdvancedRequestFragment.java
de.hshannover.f4.trust.ironcontrol.view.ConnectionFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.MainActivity.java
de.hshannover.f4.trust.ironcontrol.view.MetadataBuilderActivity.java
de.hshannover.f4.trust.ironcontrol.view.PublishActivity.java
de.hshannover.f4.trust.ironcontrol.view.SearchButtonFragment.java
de.hshannover.f4.trust.ironcontrol.view.SearchFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.SettingsActivity.java
de.hshannover.f4.trust.ironcontrol.view.SimpleRequestFragment.java
de.hshannover.f4.trust.ironcontrol.view.SubscribeButtonFragment.java
de.hshannover.f4.trust.ironcontrol.view.SubscribeFragmentActivity.java
de.hshannover.f4.trust.ironcontrol.view.TabFragment.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceDialogEvent.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceListDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceListEvent.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoicePublishDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceRemoveDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceSearchDialog.java
de.hshannover.f4.trust.ironcontrol.view.dialogs.MultichoiceSubscribeDialog.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListHierarchyActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListOverviewActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResponsesActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultItemsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultMetaActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListResultMetaAttributesActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListSavedConnectionsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListSavedPublishsActivity.java
de.hshannover.f4.trust.ironcontrol.view.list_activities.ListVendorMetadataActivity.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerListActivity.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerListArrayAdapter.java
de.hshannover.f4.trust.ironcontrol.view.logger.LoggerPopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.MetaDataEditText.java
de.hshannover.f4.trust.ironcontrol.view.util.MetaDataLinearLayout.java
de.hshannover.f4.trust.ironcontrol.view.util.MetadataValueFieldsBuilder.java
de.hshannover.f4.trust.ironcontrol.view.util.Node.java
de.hshannover.f4.trust.ironcontrol.view.util.PopUpEvent.java
de.hshannover.f4.trust.ironcontrol.view.util.PopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.PromptSpinnerAdapter.java
de.hshannover.f4.trust.ironcontrol.view.util.RequiredSpinnerAdapter.java
de.hshannover.f4.trust.ironcontrol.view.util.SavePopUp.java
de.hshannover.f4.trust.ironcontrol.view.util.Util.java
de.hshannover.f4.trust.ironcontrol.view.util.ValidSpinnerAdapter.java